gpt4 book ai didi

assembly - 68000 上的 CCR

转载 作者:行者123 更新时间:2023-12-02 07:38:41 30 4
gpt4 key购买 nike

所以我被一个 friend 问了一个汇编问题,他也在努力学习和理解这门语言。他问:

给定以下寄存器值:

D0: 364B 421E
D1: F3FC 9066

指令执行后:

cmp.w    D0,D1

CCR 中的结果值是什么:

N:    Z:    V:    C:

以及是否会发生以下每个分支:

BLO    <Label>     Yes or No?

BVC <Label> Yes or No?

BGE <Label> Yes or No?

BMI <Label> Yes or No?

BLT <Label> Yes or No?

BCS <Label> Yes or No?

当我向他解释时,有人可以帮助我理解它吗,我可以加深对概念和答案的理解。谢谢。

最佳答案

将这些概念映射到现代术语可能会有所帮助。 cflags对应于无符号算术,N 和 V 标志对应于有符号算术。 Z 标志对两者都有效。

分支指令在 M68000 Programmer's Reference Manual 的表 3-19 中有完整的说明。 .请注意,表格中有几个拼写错误。

对于无符号算术,使用以下分支:

>   BHI
<= BLS
>= BCC/BHS
< BCS/BLO

对于有符号算术,使用以下分支:

>=  BGE
< BLT
> BGT
<= BLE

这些对两者都有效:

==  BEQ
!= BNE

最后是 BVS/BVC 对。溢出时设置 V 标志,这意味着结果的符号位不遵循输入的符号位。例如,从正数中减去负数应该总是得到正数。

关于assembly - 68000 上的 CCR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13615568/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com