为什么DX是<4321H的,考研党急救,谢谢了
本帖最后由 010100100001 于 2018-3-10 22:52 编辑DX不是等于0ACF0H吗,不是应该大于4321H的,求解,补充一下后面的代码
JLL1
JMP EXIT
L1:MOV AX,1
JMP EXIT
L2:MOV AX,2
EXIT....
因为DX = 0ACF0H,相当于最高位是1,按照其以补码形式存储的方式,其存储的相当于一个负数的补码
而4321H是一个正数,所以,(DX) < 4321H 你学什么专业呢?你是2018年考研的吗?还是2019年考研呢?考什么学校啊? Zmynx_2017 发表于 2018-3-10 23:35
你学什么专业呢?你是2018年考研的吗?还是2019年考研呢?考什么学校啊?
信息与通信工程,18考研,准备复试,天津工业大学 010100100001 发表于 2018-3-10 23:38
信息与通信工程,18考研,准备复试,天津工业大学
哇,可以,不错,我准备明年考研,毫无头绪,紧张 Zmynx_2017 发表于 2018-3-10 23:35
因为DX = 0ACF0H,相当于最高位是1,按照其以补码形式存储的方式,其存储的相当于一个负数的补码
而4321H是 ...
还是不太懂,那Ax最高位是0,相当于一个正数补码,为什么还是小于那个数 010100100001 发表于 2018-3-10 23:44
还是不太懂,那Ax最高位是0,相当于一个正数补码,为什么还是小于那个数
0ACF0H,将其转变为2进制的形式是 1010 1100 1111 0000 最开头的0是为了表示这是一个十六进制的数,并不是真的是0,16进制表示最高位为字母的时候需要在其前面加一个0来区分 Zmynx_2017 发表于 2018-3-10 23:40
哇,可以,不错,我准备明年考研,毫无头绪,紧张
坚持到最后就好。别紧张,考研就是考验心态时候 Zmynx_2017 发表于 2018-3-10 23:47
最开头的0是为了表示这是一个十六进制的数,并不是真的是0,16进制表示最高位为字母的时候需要在其前面加一 ...
我说的是AX的值,下一个代码那个判断的,为什么小于8765H,他的最高位不是1吗,相当于正数补码,8765H最高位为1相当于负数补码 010100100001 发表于 2018-3-10 23:48
坚持到最后就好。别紧张,考研就是考验心态时候
嗯,好吧,祝你复试顺利。 Zmynx_2017 发表于 2018-3-10 23:51
嗯,好吧,祝你复试顺利。
谢谢啦 本帖最后由 Zmynx_2017 于 2018-3-11 00:00 编辑
010100100001 发表于 2018-3-10 23:51
我说的是AX的值,下一个代码那个判断的,为什么小于8765H,他的最高位不是1吗,相当于正数补码,8765H最 ...
首先,JL L2条件成立,就已经跳到L2标号执行去了,不关乎AX那个代码
它的那个写错了,应该是大于,我刚刚脑子短路了,我帮你试过了,
单步调试是判断后应该是大于,不是小于,它写错了 Zmynx_2017 发表于 2018-3-10 23:56
首先,JL L2条件成立,就已经跳到L2标号执行去了,不关乎AX那个代码
其次,AX不是2468H吗?他和8765 ...
2468H=0010010001101000B最高位是0
8765H=1000011101100101B 最高位不是1吗{:10_266:}{:10_266:}我完全汇编小白,多体谅下{:10_250:} Zmynx_2017 发表于 2018-3-10 23:56
首先,JL L2条件成立,就已经跳到L2标号执行去了,不关乎AX那个代码
它的那个写错了,应该是大于, ...
那我懂了,谢谢啦{:10_257:}{:10_257:},加个好友吧。有问题可以问你一下吗,我q896619570 010100100001 发表于 2018-3-11 00:03
2468H=0010010001101000B最高位是0
8765H=1000011101100101B 最高位不是1吗我 ...
嗯。你是对的,我的意思也是你是对的,最开始我看错了,sorry
它写错了。应该是你这样的,没问题
我帮你试过了,肯定没问题 Zmynx_2017 发表于 2018-3-11 00:08
嗯。你是对的,我的意思也是你是对的,最开始我看错了,sorry
它写错了。应该是你这样的,没问题
没事{:10_250:}还是非常感谢你的,你是啥专业,感觉你汇编很强,我完全初学
页:
[1]