答案:jmp指令的操作数为地址,表示指令指针IP无条件跳转到该地址,并运行该地址处的第一条指令。
结合你这个例子,其中BX相当于一个指针变量,而[BX]则是指针变量所指向的内存数据,这里DWORD PTR操作符表明取双字数据,当然占有4字节的存储单元。
举个例子:假如BX的值为ffffh,则[BX]指向双字数据10203h用图可以表示为:
| ... ... |
| 03h | <--- ffffh 4 byte (BX)= ffffh
| 02h |
| 01h |
| 00h |
| ... ... |
| (mov SI, AX) | <---10203h jmp dword PTR [BX] (IP)= 10203h
执行jmp dword PTR [BX] 之后,指针IP指向地址dword PTR [BX],也就是10203h,假设此处存放的是一条指令mov SI, AX的机器码,执行jmp后运行该指令。
其他:就JMP DWORD来说应该是处于保护模式,在保护模式用BX做指针显得很奇怪,通常会用32位指针。 这是jmp转移指令,改变cs,ip的值。
dword定义双字节,这条语句的意思是cs=ds:[bx],ip=ds:[bx+2]。
bx,是16位,占一个字,即2个字节。
上一个:汇编 add ax,1; 这个1是16进制的0001还是asc 码的31转换成2进制呢
下一个:跪求汇编语言校验密码程序?