标签:反汇编 word 寄存器 运算符 oop loop exe 数据处理 src
一、编写程序
注意:
编写汇编源程序时,默认是十进制。对于十六进制,需手动添加H。如: mov ax, 30H
可以通过u命令,结合CS、IP、CX的值,对*.exe文件反汇编,得到汇编源程序
二、[BX]和loop
1、间接寻址
mov bx, 0
mov dl, [bx]
2、loop指令用法
loop 标号
① (cx) ← (cx) - 1
② 判断cx的值是否为0。 如果(cx) ≠ 0,跳转到标号处执行;如果(cx) = 0, 执行loop后面的其它指令
三、指令
1、and
按位逻辑与
例:
mov al, 01100011B ; (al) = 01100011B ;
and al, 11111110B ; (al) = 01100010B;
2、or
按位逻辑或
例:
mov al, 01100011B ; (al) = 01100011;
or al, 00000100B ; (al) = 01100111;
四、数据处理
1、可用于表示内存单元的寄存器
在8086中,可用于表示内存偏移地址的寄存器只有: BX, SI, DI和BP
使用BX, SI, DI表示偏移地址时,默认段地址在DS中; 使用BP表示偏移地址时,默认段地址在SS中
2、无符号除法指令div
16位÷8位
被除数 → ax
除数: reg8 或 mem8
商: al
余数: ah
32位÷16位
被除数 → dx:ax
除数: reg16 或 mem16
商: ax
余数: dx
3、运算符ptr
mov byte ptr [0], 3
3作为字节数据送到ds:[0]对应的字节单元
mov word ptr [0], 4
4作为字数据送到ds:[0]对应的字单元
标签:反汇编 word 寄存器 运算符 oop loop exe 数据处理 src
原文地址:https://www.cnblogs.com/baixingyeblog/p/10133216.html