本部分为王爽《汇编语言》中涉及到的常用指令。
1.Debug中使用的命令
指令 | 功能 |
---|---|
-a |
以汇编指令的形式向内存中写入指令。 |
-d |
查看内存当中的内容。 |
-e |
修改内存中的内容。 |
-g |
在Debug时,直接执行到 [输入的CS值]:[输入的IP值]所在位置。 |
-p |
在Debug时loop 处用,自动重复执行循环中的指令;在int 21h 处用,使程序自然结束。 |
-r |
查看、修改CPU中寄存器的内容。 |
-t |
执行CS:IP处的命令。 |
-u |
查看内存当中的内容,将其解释为机器指令和对应的汇编指令。 |
2.部分常用指令的含义
指令 | 含义 |
---|---|
db/dw/dd |
定义大小为1个字节、1个字单元、两个字单元的数据 |
inc bx |
使bx 自增 |
mov al,[0] |
Debug将[0]解释为内存单元,编译器masm将其解释为(al) = 0 |
div |
除数:可以为8位或者16位,存在reg或者内存单元中。 |
被除数:除数为8位,被除数为16位存在AX ;若除数为16位,则被除数为32位,高位在DX,低位在AX。 | |
结果:除数为8位,则商在AL,余数在AH;除数为16位,商在AX,余数在DX。 | |
mul |
两个相乘的数:全为8位,或者全为16位。 |
若8位,一个默认在AL中,另一个在8位reg或内存单元中;16位,一个默认在AX,另一个在16位寄存器或内存。 | |
结果:8位乘法,结果放在AX中;16位,高位在DX中,低位在AX中。 | |
dup |
db/dw/dd 重复的次数 dup (重复的相应类型的数据) |
offset |