汇编语言中and ax ax 还有or ax ax 具体作用是什么都改变了什么标志位?求详解

2025-01-05 07:28:18
推荐回答(3个)
回答1:

这两个操作一般是用来判断SF,也就是符号位是正还是负。

AND HE OR就是与和或运算。进行的是逻辑运算,当数值不同改变的寄存器也就不同。

按顺序总共有9个标识位(16位CPU)

OF DF IF TF SF ZF AF PF CF

3个状态控制标示为 DF IF TF

6个运算标志位 OF SF ZF AF PF CF

AND指令影响标志位PF、SF、ZF,使CF=0、OF=0

扩展资料:

汇编语言用一些容易理解和记忆的字母,单词来代替一个特定的指令,比如:用“ADD”代表数字逻辑上的加减,“ MOV”代表数据传递等等,通过这种方法,很容易去阅读已经完成的程序或者理解程序正在执行的功能,对现有程序的bug修复以及运营维护都变得更加简单方便。当计算机的硬件不认识字母符号,这时候就需要一个专门的程序把这些字符变成计算机能够识别的二进制数。

对于广泛使用的个人计算机来说,可以自由选择的汇编语言编译器有MASM、NASM、TASM、GAS、FASM、RADASM等,但大都不具备调试功能。如果是为了学习汇编语言,轻松汇编因为拥有一个完善的集成环境,是一款非常适合初学者的汇编编译器。

参考资料来源:百度百科-汇编语言

回答2:

这二个操作一般是用来判断SF 也就是符号位是正还是负

回答3:

这个比较复杂、
真的。
AND HE OR 就是与 和或 运算。、
他们进行的是逻辑运算,当数值不同改变的寄存器也就不同。
帮你理理标志位好了。
按顺序总共有9个标识位(16位CPU)
OF DF IF TF SF ZF AF PF CF
3个状态控制标示为 DF IF TF
6个运算标志位 OF SF ZF AF PF CF
AND指令影响标志位PF、SF、ZF,使CF=0、OF=0
.例如,在同一个通用寄存器自身相与时,操作数虽不变,但使CF置零.
主要用于修改操作数或置某些位为零.
OR 同上。除了进位辅助外,基本都可能受影响,
结果又很大的随机性,谁知道AND\OR 的结果是奇数还是偶数,是不是0,第一位是不是1.
但是一定的是CF OF 进位和溢出必定为0