不好意思,又来麻烦了,
这几个 是什么意思 怎么解释的?怎么算也不知道 不好意思 是真的基础差,,mov ah 31hAx=
add ax ax Ax=
mov al bh ax=
mov ah blax=
add ah ah ax=
add al 6 ax=
add al al ax=
mov ax cx ax=
以上这些是在汇编课程中2.1试题里有,我基础一点都不好 ,觉得我不是学这个料,想请高手帮我解答解答是什么意思?最好那位高手不怕我这个小菜来烦的话就帮帮忙,加我QQ:710221181或者让我加你QQ也行,谢谢啊!
我的理解是:AX是一幢房子。房子里面有两个房间。房间1取名:AH,房间2取名AL。当指定要往这幢房子里放东西的时候,大的东西放房间AH里,小的东西放AL里。所以,MOVE AX,62627时。AX=F4A3H。CPU又自动分配了:AH=F4H。AX=A3H。MOVE AH 31H 这条指令,只改变了AH的值。AL的没变。所以,AH=31H。AL还是A3H。再所以AX=31A3H
这样哦,我从头和你说啊!
首先你要知道ax,bx,cx,dx是4个通用寄存器,这些在8086计算机下是都16个字节
每一个通用寄存器都可以被分为2个部分,(我们以ax举例来说)这两个部分分别为 高字节(ah),低字节(al),
这两个高低字节分别可以存储8个字节,你看他们两个加在一起不就是16字节了吗,正好ax也是个16字节的寄存器!
好,下面就要说一下存储问题了,当然了我们为了存储一个16自己的数据,可以把这个16字节的数据分开存储,分为2个8字节,例如检测点2.1里面第一行的,62627(十进制)转化为十六进制是F4A3,如果把它分开的话就是F4(高字节为),A3(低字节),也许你会问我,我怎么知道哪里是高字节哪里是低字节呢,
好,现在我告诉你啊,一个16字节数据以16进制体现最多就是4个字母或者数字,比如 1234(十六进制),这里呢,咱们从右往左数,自然最后两个34就是低字节,前面两个12就是高字节!现在估计你有了一点眉目了吧,好了下面开始做题
首先 mov ax,62627 ax= F4A3 (62627转化为16进制就是f4a3) ,意思是把,f4a3放到ax里面
mov ah,31H ax=31A3 (你看啊,F4A3里面的高字节为自然是F4了,这行的意思是把31放到ax寄存器的高字节为,所以我们用31代替了F4)
mov al,23H ax=3123(道理一样啊,F4A3的低字节al是A3,所以这里我们mov 23到A3的位置替换了它)
add ax,ax ax=6246(这里很简单,就是把ax加一遍)
mov bx,826CH bx=826C(这里也不用说了,就是把826C放到bx中)
mov cx,ax cx=6246(这里就是把ax的值6246放到cx中)
mov ax,bx ax = 826C(同样把bx的值826c放到ax中)
add ax,bx ax=04D8(这里要强调一下,本来的意思是使bx和ax相加求ax的值,其结果为104D8,但是ax是16位的寄存器,前面我说了16为寄存器最多也就存放4个十六进制的数值,但是这里的结果多了一位,所以按照计算机的习惯,把最前面的一位(也就是1)去掉了,得到最后的结果04D8)
mov al,bh ax=0482(这里是把bx寄存器里面的bh(高字节位)放到ax的al(低字节位中),bh=82,al=D8,这里我们用82替换了D8,ax的ah(高字节为不变,依然是04),所以最终结果是0482!
好了如果上面的内容你都看懂了,下面的几行计算我就不给你打出来了,正好留给你自己去演练一下!
希望可以帮到你!{:5_108:} 上面两位已经讲得非常清楚了,我就一句话,多看书,多顶小甲鱼的广告!{:1_1:} 学习{:1_1:} 顶楼主
万艾可 www.tbstore88.com
阴茎增大 www.fjxdyy.com
阴茎增大 www.haohanwangluo.com
万艾可 www.buyintb.com
卡王 www.zxgrow.com
充气娃娃 www.hengxingpaper.com
蹭网卡 www.hlddesy.com
丰胸秘籍 www.eastshopping.net
怎么样才能生儿子 www.JSKMVCHINA.COM
脚气 www.szyuantaidz.com
学习中。。。。。 {:10_261:}{:10_261:} 学习了楼上大神的思路
页:
[1]