关于 ax,al 寄存器 x86 64bits asm

问题描述

我开始学习 x86 64 位编程,但我对一件事感到困惑。

我知道有符号数的 8 位数字可以具有 -128 到 127 范围内的值,无符号数可以具有 0 到 255 范围内的值,而 16 位数字可以具有 -32768 到 32767 范围内的值

现在我的问题是:假设我有一个寄存器 AX,它是一个 16 位寄存器,而 AH 是一个 8 位寄存器。现在,AX 应该取什么值使得指令 neg AL 将溢出标志设置为 1 ? a) 8000h b)255 c)7FFFh d)0 e)FFFF f) -127

我知道我可以在 -32768 和 32767 之间输入 AX 寄存器编号,但是当我在 AX 中输入数字时,AL 寄存器如何修改?比如我写的mov ax,-127就好了,AL是怎么修改的?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)