教官 发表于 2016-1-27 18:04:57

汇编检测点2.1

本帖最后由 教官 于 2016-1-28 09:48 编辑


mov ax,62627            ax=f4a3H(十进制转换十六进制)

mov ah,31H               ax=31a3h(ah是ax的高8位,取代f4)

mov al,23H                     ax=3123H(al是ax的低8位,取代a3)

add ax,ax                      ax=6246H(ax=3123*2)

mov bx,826ch                   bx=826cH(没什么好说的)

mov cx,ax                  cx=6246H(没什么好说的)

mov ax,bx                      ax=826cH(bx=ax)

add ax,bx                     ax=04d8H(ax=ax+bx)

mov al,bh                     ax=0482H(al是ax的低8位,bh是bx的高8位,bh取代al)

mov ah,bl                     ax=6c82H(ah是ax的高8位,bl是bx的低8位,bl取代ah)

add ah,ah                      ax=d882H(ah=ah*2)

add al,6                     ax=d888H(al是ax的低8位,6是十进制,al=82H=130,130+6=136=88H)

add al,al                     ax=d810H(al=al*2,因为是8位运算,所以最高位舍弃,而不是没有)

mov ax,cx                  ax=6246H(cx=6246H)




mov ax,2       (定义ax为2,2^4=16)
add ax,ax   (ax=2+2)
add ax,ax      (ax=4+4)
add ax,ax      (ax=8+8)

指路小伙 发表于 2016-6-28 13:34:41

第一问要怎么看他是十进制转换十六进制啊{:10_281:}

yf001ai 发表于 2016-8-1 02:51:42

指路小伙 发表于 2016-6-28 13:34
第一问要怎么看他是十进制转换十六进制啊

后面带H为十六进制没注释的是十进制

adas 发表于 2016-12-1 22:09:29

指路小伙 发表于 2016-6-28 13:34
第一问要怎么看他是十进制转换十六进制啊

一般的数字都是十进制的   你注意的话会看到有的数值的后面有个H那是16进制的缩写

Anime 发表于 2017-2-1 13:04:34

add ax,bx                     ax=04d8H(ax=ax+bx)这里我一直搞不懂为什么是04d8H,请问有没有人能给我解释一下?

影乖 发表于 2017-2-2 00:25:36

懵逼,我好像做错了

影乖 发表于 2017-2-2 00:39:51

Anime 发表于 2017-2-1 13:04
add ax,bx                     ax=04d8H(ax=ax+bx)这里我一直搞不懂为什么是04d8H,请问有没有人能给 ...

add ax,bx   AX=826C+826C=104D8H,舍弃高位,04D8

Anime 发表于 2017-2-2 16:19:11

影乖 发表于 2017-2-2 00:39
add ax,bx   AX=826C+826C=104D8H,舍弃高位,04D8

感谢!

long666 发表于 2017-7-10 14:06:47

哇老师啊这题好坑啊第一个竟然是10进制
害我全部错了。
{:10_306:}

蜗牛狂飙 发表于 2017-7-14 01:31:09

虽然做错了,起码我用心完成了

今天你学习了吗 发表于 2017-7-22 09:53:36

Anime 发表于 2017-2-1 13:04
**** 作者被禁止或删除 内容自动屏蔽 ****

AX+BX=826C+826C
因为数据是16进制的,所以C+C=24,需要往前进一位。最低位上就是24-16=8。
最高位同理,8+8=16,往前进一位,但是这个进位被丢掉了。
所以结果是04D8。

xuefuli 发表于 2017-8-1 02:05:51

1   ax f4a3h
2   ax 1fa3h
3   ax 1f17h
4   ax 3e2eh
5   bx 826ch
6   cx 3e2eh
7   ax 826ch
8   ax 04d8h
9   ax 0482h
10ax 6c82h
11ax d882h
12ax d888h
13ax d810h
14ax 3e2eh

ylj 发表于 2017-8-1 22:10:44

我去 我给绕晕了

ylj 发表于 2017-8-1 22:12:59

进制转换 笔算 容易出错

15284275872 发表于 2017-9-8 13:26:06

mov ah,31H               ax=31a3h(ah是ax的高8位,取代f4)

mov al,23H                     ax=3123H(al是ax的低8位,取代a3)怎么取代

杨kkk 发表于 2018-1-2 20:38:16

第一个原来要转化成十六进制,恩,知识点甲鱼老师讲过

HeZL 发表于 2018-1-3 15:25:22

Anime 发表于 2017-2-1 13:04
**** 作者被禁止或删除 内容自动屏蔽 ****

ax=ax+bx (104d8=826c+826c,因ax只能存一个字的长度,把最高位的“1”给存到另一个地方了所以结果为04D8)

xiehaofeng 发表于 2018-3-14 21:18:49

每一步计算都把AX,BX,CX的值结果列出来,这是一种笨办法,但很管用

qq464901202 发表于 2018-4-12 20:00:12

add ax,bx8226H       2000H         mov bx,ax8226H       8226H    怎么等于这个add ax,bx044CH       8226H这点我有点头蒙

StoneDo 发表于 2018-10-23 22:25:18

刚开始学习,感谢大家分享
页: [1] 2
查看完整版本: 汇编检测点2.1