汇编 王爽 第二章 段寄存器CS IP无法理解
内存D8 23 01 BB 03 BB 89 D8 01 DB
20000----20009
1.8086CPU当前状态,CS中的内容为2000H,IP中的内容为1000H,
2.内存20000H--20009H单元存放着可执行的机器码
3.内存20000H--20009H单元中存放的机器码对应的汇编指令如下:
地址:20000H--20002H,内容:B8 23 01,长度:3B,对应汇编指令:mov ax,0123H
地址:20003H--20005H,内容:BB 03 00,长度:3B,对应汇编指令:mov bx,0003H
地址:20006H--20007H,内容:89 D8,长度:2B,对应汇编指令:mov ax,bx
地址:20008H--20009H,内容:01 D8,长度:2B,对应汇编指令:add ax,bx
我的问题:
1.为什么长度有些2B,3B,这个2B,3B是怎么来的?不可以是4B么?
2.那些汇编指令是怎么来的?
比如:
地址:20000H--20002H,内容:B8 23 01,长度:3B,是怎么知道汇编指令就是mov ax,0123H的
[解决办法]
说白了就是先驱们规定好的
B8 23 01,长度:3B,对应汇编指令:mov ax,0123H
B8 就是mov ax 这个操作,后面是操作数,一共三字节
BB 03 00,长度:3B,对应汇编指令:mov bx,0003H
BB就是mov bx 这个操作,后面是操作数,一共三字节
至于后面那三个问题,因为cpu在设计的时候就是那么规定的,至于为什么这么规定,天哪这有点深奥了