541762705 发表于 2011-8-9 16:54:50

汇编语言(第2版)第2张寄存器文章的问题?

本帖最后由 541762705 于 2011-8-12 22:01 编辑

汇编语言(第2版)第2张寄存器文章的问题
   表2.3程序段中指令的执行情况之二

程序段中的指令指令执行后AX中的数据指令执行后BX中的数据
mov ax,001AH001AH0000H
mov bx,0026H001AH0026H
add al,bl0040H0026H
add ah,bl2640H0026H
add bh,al2640H4026H
move ah,00040H4026H
add al,85H00c5H4026H
add al,93H         ?4026H
这道例题前两条我看懂了,是指把001AH移动到ax中,ax=001AH      
第二条是指把0026H移动到bx里,bx=0026H我也不知道是不是我这么理解的,我认为理解的对,
但是从第三条往下我就不明白了,al和bl还有ah、bh=多少?又怎么算的?
希望大家帮帮忙,我是个菜鸟加新手,请大家帮帮我解答下!

parbbo 发表于 2011-8-9 17:01:30

你看看小甲鱼的视频教程吧

541762705 发表于 2011-8-9 17:09:54

我看过了,但是小甲鱼老师对这个例题却是一下带过并没有讲。

541762705 发表于 2011-8-9 17:10:41

parbbo 发表于 2011-8-9 17:01 static/image/common/back.gif
你看看小甲鱼的视频教程吧

我看过了,但是小甲鱼老师对这个例题却是一下带过并没有讲。

parbbo 发表于 2011-8-9 17:29:36

http://bbs.fishc.com/thread-2264-1-1.html

541762705 发表于 2011-8-9 17:38:03

parbbo 发表于 2011-8-9 17:29 static/image/common/back.gif
http://bbs.fishc.com/thread-2264-1-1.html

貌似这个链接也许是我看不懂,或者是跟我问的那道题没什么关联啊。

parbbo 发表于 2011-8-9 17:52:31

为了兼容低版本寄存器,8086的16为通用寄存器被分为高8位ah和低8位al,add al,bl就是把ax的低8位与bx的低8位值相加,哪就是1AH+26H结果就是40H

嗜血丨灵异狂 发表于 2011-8-9 19:20:47

为了兼容到第一代的CPU16位的4个通用寄存器可以拆   AX可以ah和al      BX可以bh和bl      CX可以ch和cl    很容易区分的   就是你看见的只要是h说明是高八位       l的是低八位   比如我随便写个指令
mov ax,1201
mov ah,ax
第一条指令很简单吧就是把AX复值为1201   但是这个1201可是分成 高八位12    和低八位01
所以执行第二条指令时    CPU会自动把高八位12放进ah中   

541762705 发表于 2011-8-9 19:40:48

parbbo 发表于 2011-8-9 17:52 static/image/common/back.gif
为了兼容低版本寄存器,8086的16为通用寄存器被分为高8位ah和低8位al,add al,bl就是把ax的低8位与bx的低8位 ...

非常感谢!

541762705 发表于 2011-8-9 19:41:22

嗜血丨灵异狂 发表于 2011-8-9 19:20 static/image/common/back.gif
为了兼容到第一代的CPU16位的4个通用寄存器可以拆   AX可以ah和al      BX可以bh和bl      CX可以ch和cl...

非常感谢!{:5_106:}

蓝鹰 发表于 2011-8-11 23:56:28

ax可分为ah和al
bx可分为bh和bl
cx可分为ch和cl
dx可分为dh和dl
ah,bh,ch,dh则为高位
al,bl,cl,dl则为低位
就拿add al,bl来说吧!前面说到ax=001ah,bx=0026h.ax的高位是00h,低位是1ah.bx的高位是00h,低位是26h.add是相加的意思,ax=ax+bx,al=al+bl.哪么,al=1ah+26h=40h.结果再加上ax的高位00h不就是0040h吗?你也可以输入程序段中的指令,用debug一步一步T,就知结果了···

habou 发表于 2011-8-12 11:51:29

原来菜菜鸟还比较多,既然有人回答了我就飘过…………
页: [1]
查看完整版本: 汇编语言(第2版)第2张寄存器文章的问题?