相关疑难解决方法(0)

设置溢出标志的说明

在Kip Irvine的书中,他谈到了设置溢出标志的机制,他写道:

在加法或减法操作之后,CPU使用一种有趣的机制来确定Over fl ow fl ag的状态.Carry fl ag与结果的高位进行异或运算.结果值放在Over fl ow fl ag中.

我写了一个简单的程序,显示在al寄存器中添加5到127设置溢出标志:

0111 1111 + 0000 0101 = 1000 0100 carry flag = 0, high bit = 1, overflow = 1
Run Code Online (Sandbox Code Playgroud)

但是,在al寄存器中添加5到255不会设置溢出标志:

1111 1111 + 0000 0101 = 0000 0100 carry flag = 1, high bit = 0, overflow = 0
Run Code Online (Sandbox Code Playgroud)

为什么第二个例子中设置的溢出标志不是满足的条件语句ie; 进位标志= 1,高位= 0?

x86 assembly masm

5
推荐指数
1
解决办法
551
查看次数

签名,携带和溢出标志(组装)

.data
val1 BYTE 10h
val2 WORD 8000h
val3 DWORD 0FFFFh
val4 WORD 7FFFh
Run Code Online (Sandbox Code Playgroud)

如果使用ADD指令将val2递增1,那么进位和符号标志的值是多少?

如果使用ADD指令将val4递增1,那么溢出和符号标志的值是多少?

我回答了两个问题并且错了.为什么答案是什么?

assembly

3
推荐指数
1
解决办法
3164
查看次数

标签 统计

assembly ×2

masm ×1

x86 ×1