青春指然年华 发表于 2011-2-14 11:56:42

新手求解 王爽 汇编教程 检测点2.1问题 有答案但还是看不懂

在这里问一下为啥会得到那个结果呢?    我前后看了一下但是还是不明白   能不能来个手解答一下 答案最好有个详细过程   感激不尽啊:handshake

china0008 发表于 2011-2-14 12:55:29

这个题嘛,听我慢慢说来。
mov ax,62627      AX=F4A3    前面的62627换算成16进制就是这个结果噻
mov ah,31H         AX=31A3    这个就是把31H放到AX的高位ah处,没有加减,很好理解吧。低位不受影响
mov al,23H          AX=3123    原理同上,就是把23送入AX的低8位
addax,ax         AX=6246    3123+3123=6246,不解释。 ADD 命令把两个操作数相加,值保存在第一个操作数
mov bx,826CH   BX=826C   这个mov命令很好理解吧。比如我本没有钱。你给我100,我就有100了。
mov cx,ax            CX=6246    这里就是把ax的钱,给cx。你是ax,我是cx,哼哼。区别嘛,你的钱不会变少。
mov ax,bx         AX=826C    就是bx的值传给AX,你看bx最新的值是多少,ax就是多少。
add ax,bx         AX=04D8   简单的16进制加法,用系统的计算器算一下就行了。
……………………

后面不说了,原理都一样。你自己分析下。后边能分析出来说明你明白了。

china0008 发表于 2011-2-14 12:55:38

这个题嘛,听我慢慢说来。
mov ax,62627      AX=F4A3    前面的62627换算成16进制就是这个结果噻
mov ah,31H         AX=31A3    这个就是把31H放到AX的高位ah处,没有加减,很好理解吧。低位不受影响
mov al,23H          AX=3123    原理同上,就是把23送入AX的低8位
addax,ax         AX=6246    3123+3123=6246,不解释。 ADD 命令把两个操作数相加,值保存在第一个操作数
mov bx,826CH   BX=826C   这个mov命令很好理解吧。比如我本没有钱。你给我100,我就有100了。
mov cx,ax            CX=6246    这里就是把ax的钱,给cx。你是ax,我是cx,哼哼。区别嘛,你的钱不会变少。
mov ax,bx         AX=826C    就是bx的值传给AX,你看bx最新的值是多少,ax就是多少。
add ax,bx         AX=04D8   简单的16进制加法,用系统的计算器算一下就行了。
……………………

后面不说了,原理都一样。你自己分析下。后边能分析出来说明你明白了。

yuyuhongss 发表于 2011-2-14 13:28:50

斑竹厉害

你说我不够帅 发表于 2012-8-13 18:13:24

厉害厉害            

h1056599884 发表于 2017-12-7 22:09:40

看了你的解答才恍然大悟 谢谢了
页: [1]
查看完整版本: 新手求解 王爽 汇编教程 检测点2.1问题 有答案但还是看不懂