当前位置: 汇编教程 > 02-寄存器 > 阅读正文

汇编 数据段寄存器

2021.7.11.   467 次   671字

什么是字单元?

汇编中的字,默认是指由2个内存单元组成,也叫字单元。例如,十进制数20000,是一个字单元,16进制表示为4E20H

任何一个内存单元(字节)可以看做是一个独立的内存单元。

任何N内存单元和N+1内存单元可看做是一个字单元的低位和高位。

mov指令的6种语法

1.直接存储,把数据赋值给寄存器

mov bx,12H

2.间接存储,把一个寄存器的值给另一个寄存器

mov ax,13H
mov bx, ax  ;指的是这一句

3.相对寻址存储

mov ax,[0]
//这里的段默认是ds,段地址数据不再是数据而是内存地址, 偏移是0
//这个格式为debug专有

4.寄存器到地址

mov [0],ax  ;debug专有

5.通用寄存器到段寄存器

mov ds,ax

6.段寄存器到通用寄存器

mov ax,ds

数据段寄存器的特殊点

数据段寄存器,ds,有2点需要注意的。

  1. 存值时,数据->通用寄存器->数据段寄存器
  2. 它用来完成把内存数据和寄存器的交换

例1,给ds赋值

mov ax,12H
mov ds,ax

例2,把内存地址1000H的一个字节传送给al

mov bx,1000H
mov dx,bx
mov al,[0]

例3,把al寄存器复制给内存地址1000H:0

mov bx,1000H
mov ds,bx
mov [0],al

add与sub指令

add, sub指令是加法指令与减法指令, 语法

  • add 寄存器, 数据
  • add 寄存器, 寄存器
  • add 寄存器, 内存单元
  • add 内存单元, 寄存器
  • sub 寄存器, 数据
  • sub 寄存器, 寄存器
  • sub 寄存器, 内存单元
  • sub 内存单元, 寄存器

加法和减法非常类型, sub ax, bx, 实际等于 ax=ax-bx

本篇完,还有疑问?

加入QQ交流群:11500065636 IT 技术交流群