汇编——第八章 处理数据的俩个基本问题

第八章 处理数据的俩个基本问题

这俩个认问题是:
(1)处理的数据在什么地方?
(2)要处理的数据有多长?

reg表示以恶搞寄存器,sreg表示一个段寄存器
reg的集合包括:ax、bx、cx、dx、ah、al、bh、bl、ch、cl、dh、dl、sp、bp、si、di;
sreg的集合包括:da、ss、cs、es。

8.1 bx、si、di和dp

汇编——第八章 处理数据的俩个基本问题

8.4 寻址方式

汇编——第八章 处理数据的俩个基本问题

8.5 指令要处理的数据有多长

8086 CPU 的指令,可以处理俩种尺寸的数据,byte 和 word,所以在机器指令中要指明指令进行的是字操作还是字节操作,
(1)通过指定寄存器名指明要处理的数据的尺寸。
如指定是 ax 还是 al 等

(2)在没有寄存器的名称存在的时候,用操作符 x prt 指明内存单元的长度, x 在汇编指令中可以是 word(字)或者 byte(字节)。
如:
mov word ptr ds:[0], 1
inc word ptr [bx]
mov byte ptr ds:[0], 1
inc byte ptr [bx]等

(3)其他方法
有些指令默认访问的是字单元还是字节单元,比如push 指令只进行字操作。

8.7 div 指令

div 是出发指令,使用div 做除法的时候要注意以下问题。
(1)除数:有8位和16位俩种,在一个reg或内存单元中
(2)被除数:默认放在AX 或 DX和AX中,如果除数为8位,被除数则为16位,默认放在AX中;如果除数位16位,被除数则位32位,存放在DX和AX中,DX存放高16位,AX存放低16位。
(3)结果,若除数为8为,则AL存放商,AH存放余数。若除数为16位,AX存放商,DX存放余数。

汇编——第八章 处理数据的俩个基本问题

汇编——第八章 处理数据的俩个基本问题

8.8 伪指令dd

db 和 dw 定义字节型数据和字型数据。dd是用来定义dword(double word,双字)型数据的,占俩个字。

dup

汇编——第八章 处理数据的俩个基本问题