首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

汇编 王爽 第二章 段寄存器CS IP无法理解,该如何解决

2012-03-31 
汇编 王爽 第二章 段寄存器CS IP无法理解内存D8 23 01 BB 03 BB 89 D8 01 DB20000----200091.8086CPU当前

汇编 王爽 第二章 段寄存器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在设计的时候就是那么规定的,至于为什么这么规定,天哪这有点深奥了

热点排行