这是怎么来的啊?

SwislanD 2005-05-08 08:47:50
已知DS=3000H,DI=1200H,(31200H)=64H,(31201H)=93H,执行NEG WORD PTR[DI]后,(31200H)=____,(31201H)=_______。

答案是: 6D 9B
而我做到却是:6C 9C
怎么来的啊?
...全文
281 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jason802 2005-05-11
  • 打赏
  • 举报
回复 2
NEG WORD PTR[DI],这里有个word,所以31200H和31201H两个byte的内容被组合为占一个字size的数字:09364H,按位求反后是6C9BH,那个答案是在高位加1,变成6D9B,所以是错的,应该是在低位加1,所以是6C9C,因低字节在低地址,所以:

31200H是9C,31201H是6C

其实说穿了就是按位求反,然后把31200H字节的数再加了1,而不是31201H字节的数加1。
Areslee 2005-05-10
  • 打赏
  • 举报
回复
9B 6D
csdsjkk 2005-05-09
  • 打赏
  • 举报
回复
you are right
Areslee 2005-05-09
  • 打赏
  • 举报
回复 1
你的答案错
1、NEG是取反然后+1
2、这个是按字NEG,因此只有低字节需要加1
zhang_jiang 2005-05-09
  • 打赏
  • 举报
回复
(31200h) = 9c
(31201h) = 6c
zara 2005-05-09
  • 打赏
  • 举报
回复
应该是 9C 6C 吧. 如果确实是 6D 9B 的话, 就不是一般的 x86 的数据表示规定了, 即低字节在前, 高字节在后, 而是相反的高字节在前, 低字节在后
xue23 2005-05-09
  • 打赏
  • 举报
回复
i think it is 9c 6c

21,453

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧