っ_H1、小姐 发表于 2012-4-14 17:21:45

汇编检测点2.1 求助

mov ax,62627    ax=f4a3H
这个的答案我是觉得62627是十进制的 ax储存器里能存储4位而62627是五位放不下 所以我转换成十六进制的了
mov ah,31h      ax=31a3H
理解意思是吧31H放到F4A3H的高把位 也就是F4变31
mov al,23h      ax=3123H
这里跟上面的意思差不多 吧23H放到31a3H的低把位也就是a3变23H
add ax,ax       ax=6246H
理解意思是3123H+3123H=6246H
mov bx,826ch    bx=826CH      
这个也就是把826CH放入BX数据中
mov cx,ax       cx= 6246H
理解意思是吧AX寄存器的数据放入CX寄存器数据中
mov ax,bx       ax=826CH
理解意思是吧BX的826CH送入AX中
add ax,bx       ax=04D8H
理解意思是 826CH+826CH=104D8以为AX只能存储4位而104D8已经超出了所以1被丢弃
mov al,bh       ax=82D8H
理解意思是吧BX的高把位82送到AX的低把位所以04变82
mov ah,bl       ax=6CD8H
理解意思跟上面一样,把BX的低把位送到AX的高把位
add ah,ah       ax=D8D8H
理解意思是AX的高把位6C+6C
add al,6      ax=D8DEH
理解意思是AX的低把位D8+6
add al,al       ax=D8ECH
理解意思是AX的低把位DE+DE=1EC以为已经超出了存储范围所以1被丢弃
mov ax,cx       ax=6246H
理解意思是吧CX的6246H送到AX

          这是我做的功课 有我的理解 因为小甲鱼没有发布答案 我也不确定我的理解是不是完全正确请各位大侠指点一下

っ_H1、小姐 发表于 2012-4-14 17:28:33

{:7_168:} 快点来人给我答案啊 我要继续往下学习

ochchina 发表于 2012-4-14 19:12:23

你这样排版,看着我头晕。没法看。。。 :L

NGtailang 发表于 2012-4-14 19:45:32

好努力学习啊。不过排版确实有问题,理解好像都没错。
今天本来晕晕的。看了你的东西现在更晕了

っ_H1、小姐 发表于 2012-4-14 19:48:38

呵呵 真是不好意思啊

ToSmile 发表于 2012-4-14 21:56:04

答案不是在这里么。额
http://www.fishc.com/a/kehouti/_huibianyuyan_/644.html

小牛不吃草 发表于 2012-8-4 22:06:37

第一题你为啥要看成十位 不是8位?

メ㊣逆ご帅☆ 发表于 2012-8-4 22:20:39

本帖最后由 メ㊣逆ご帅☆ 于 2012-8-4 22:22 编辑

这个的答案我是觉得62627是十进制的 ax储存器里能存储4位而62627是五位放不下 所以我转换成十六进制的了


这条理解完全错误,其他的我没时间看了,抱歉
十六进制和十进制值完全是一回事,也就是说大小是相同的
AX存储4位?不对哦,你估计DEBUG看多了,乱了
AX是16位的(两个字节),最大存储0FFFFh,转换成十进制也就是65536
也就是可以存放最大值为65536 62627不可能存不下   如果真的放不下你转换也没用,因为可以转换表示他们从某种角度来看是同一事物
你恐怕得好好理解进制,举个例子99h=153也就是说十六进制的99和十进制的153完全是一回事,你10进制就是3位数,十六进制就是2位数,AX也一样
举个比较不妥的例子,AX存放十六进制可以存放4位数(0fffh),存放10进制可以存放5位数(65536),
存放8进制可以存放6位数(200000),存放2进制可以存放17位数(10000 0000 0000 0000)
页: [1]
查看完整版本: 汇编检测点2.1 求助