什么是字单元?
汇编中的字,默认是指由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,给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