68000 上的 CCR

2023-12-25

因此,一位也在尝试学习和理解该语言的朋友问了我一个汇编问题。他问:

给定以下寄存器值:

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?

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


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

分支指令的完整说明如表 3-19 所示。M68000 程序员参考手册 http://www.freescale.com/files/archives/doc/ref_manual/M68000PRM.pdf。请注意,表中存在一些拼写错误。

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

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

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

>=  BGE
<   BLT
>   BGT
<=  BLE

这些对两者都适用:

==  BEQ
!=  BNE

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

68000 上的 CCR 的相关文章

  • 在 x86 程序集中存储大量布尔值的最佳方法是什么?

    最近我一直在处理充满布尔值的大型数组 目前 我将它们存储在 bss部分有一个 space指令 它允许我创建字节数组 但是 由于我只需要存储布尔值 因此我希望从数组中逐位读取和写入数据 目前 我能想到的最好方法是有一个 space指令所需存储
  • 为什么我的代码显示垃圾?

    当我也想打印列表中的每个数字时 我的代码显示垃圾 有什么问题吗 输出应如下所示 给定的数组是 2G 4 PT为什么这是垃圾总数是 7 Code ASSUME CS CODE DS DATA SS STK ORG 0000H DATA SEG
  • 32位PPC rlwinm指令

    我在理解上有点困难rlwinmPPC 汇编指令 旋转左字立即然后与掩码 我正在尝试反转函数的这一部分 rlwinm r3 r3 0 28 28 我已经知道什么了r3 is r3在本例中是一个 4 字节整数 但我不确定这条指令到底是什么rlw
  • 从类模板参数为 asm 生成唯一的字符串文字

    我有一个非常特殊的情况 我需要为类模板中声明的变量生成唯一的汇编程序名称 我需要该名称对于类模板的每个实例都是唯一的 并且我需要将其传递给asm关键字 see here https gcc gnu org onlinedocs gcc 12
  • NASM 中的 equ 和 db 有什么区别?

    len equ 2 len db 2 它们是否相同 产生可以用来代替的标签2 如果不是 那么每种申报表的优点或缺点是什么 它们可以互换使用吗 第一个是equate 与 C 类似 define len 2 因为它实际上并没有在最终代码中分配任
  • 为什么在展开的 ADD 循环内重新初始化寄存器会使其运行速度更快,即使循环内有更多指令?

    我有以下代码 include
  • 汇编器8086将32位数字除以16位数字

    我尝试将 32 位数字除以 16 位数字 例如 10000000h 除以 2000h 根据我尝试做的设计除以 右 4 位数字除以除数 然后左 4 位数字除以除数 这是我的代码 DATA num dd 10000000h divisor dw
  • Grub 和进入实模式(低级汇编语言编程)

    我一直在开发一个玩具操作系统 并一直使用 grub 作为我的引导加载程序 最近尝试使用 VGA 时 我发现无法使用硬件中断 我发现这是因为我被 grub 置于保护模式 有人知道如何在不删除 grub 的情况下回到实模式吗 如果您使用 GRU
  • IDA pro asm 指令更改

    我只是想知道我怎样才能 更改IDA视图A中的asm指令 如何编辑指令 对于 实例 jnz 到 jmp 如何插入新指令 call func1 调用 func2 插入到现有的 代码 我知道如何制作 diff 文件 我知道如何在我的 DLL 上应
  • 学习 (N)ASM 的最佳资源是什么? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想学习汇编已经有一段时间了 尽管我之前尝试过几次 但我还没有真正能够超越 Hello world 有
  • 无法在 64 位 Linux 上从汇编 (yasm) 代码调用 C 标准库函数

    我有一个函数foo以汇编语言编写 并在 Linux Ubuntu 64 位上使用 yasm 和 GCC 编译 它只是使用以下命令将消息打印到标准输出puts 如下所示 bits 64 extern puts global foo secti
  • 在 x86 程序集中打印寄存器值的简单方法

    我需要在 8086 Assembly 中编写一个程序 接收来自用户的数据 进行一些数学计算并在屏幕上打印答案 我已经编写了程序的所有部分并且一切正常 但我不知道如何打印号码显示到屏幕上 在我所有计算结束时 答案是 AX 它被视为无符号 16
  • 68000 汇编语言 - CMPI.B

    What are the contents of the CCR and D3 after the following instructions sequence executes Perform the calculation by ha
  • x86 asm 图形设置的分辨率高于 640x480?

    我刚刚开始使用汇编语言 感觉像学习新东西 并且遇到了一些问题 到目前为止 我一直在浏览的所有教程都没有回答 或者太旧而无法知道 1 我尝试了一些搜索 也许我只是不知道正确的关键字 但我找不到用于更改屏幕分辨率等的图形模式的更新列表 我发现的
  • 将以下机器语言代码(0x2237FFF1)翻译成MIPS汇编

    到目前为止我已经翻译了这段代码 但我不明白的是如何计算 计算 16 位立即地址的数量 0x2237FFF1 转为二进制 0010 0010 0011 0111 1111 1111 1111 0001 现在我正在读取操作码 001000 并知
  • 在 qemu 中将扇区加载到 RAM

    我编写了一个简单的程序 将扇区 扇区编号 2 加载到 RAM 但什么也没打印 首先 我尝试了以下引导扇区代码 org 0x7c00 mov ax 0x1000 ES BX 1000 0000 mov es ax mov bx 0x00 Lo
  • movsbl指令的作用是什么? [复制]

    这个问题在这里已经有答案了 我在网上搜索过 但找不到明确的示例来理解该指令的作用 因此 如果有人可以举一个例子 这对我来说将会非常有帮助 用符号从字节扩展到长字移动 在Intel语法中 该指令的助记符是MOVSX 当变量类型为 C 时 C
  • NASM:如何正确访问SSD驱动器?

    我需要使用 NASM 16 位代码访问 SSD 驱动器 访问普通硬盘时 需要设置寄存器AX DX CX来选择柱面 磁道 扇区 扇区数 AH 选择读扇区功能 DL 选择驱动器号 CH 选择气缸 DH 选择磁盘上的一侧 CL 选择步入正轨的部门
  • 如何使 gcc 为 -fpatchable-function-entry 发出多字节 NOP?

    gcc确实有能力使用多字节用于对齐循环和函数的 NOP 然而当我尝试 fpatchable function entry option https gcc gnu org onlinedocs gcc Instrumentation Opt
  • 直接写入 ARM Cortex A8 分支预测器中的全局历史缓冲区 (GHB) 或 BTB?

    我有兴趣直接修改 Cortex A8 上的 BTB 分支目标缓冲区 和 GHB 的内容 ARM 手册上有这样的内容 要在指令端 GHB 数组中写入一项 例如 LDR R0 0x3333AAAA MCR p15 0 R0 c15 c1 0 M

随机推荐

  • 使用Python向远程进程发送信号

    有两台机器 其中一台有脚本wait for signal sh 第二个有一个名为controller py 每个脚本的代码如下所示 目的controller py是产生一个调用的子进程wait for signal sh脚本通过ssh 当控
  • UILabel:如何设置字体大小?

    如何设置字体大小UILabel My code UILabel myView UILabel alloc initWithFrame RectFrame myView setBackgroundColor UIColor blueColor
  • 失去焦点时窗口闪烁?

    我一直在开发基于 C 的 Windows 窗体应用程序 我需要一些帮助 我正在尝试重新创建大多数 Windows 应用程序在窗体失去父窗体焦点时出现的窗口闪烁 我可以解释这一点的最好方法是打开计算器 打开帮助窗口并尝试单击计算器 然后帮助窗
  • 如何获取正在运行的 EC2 现货实例的价格?

    我正在尝试使用 boto3 api 创建 ec2 现货实例 到目前为止 我能够获取现货实例历史价格 启动现货实例等 但我不知道如何使用 boto api 获取我们为现货实例支付的价格 有人知道怎么做吗 Thanks Update See S
  • 如何检查 CMakeLists.txt 中的 SDL2_ttf?

    我目前正在使用 SDL2 ttf 库编写一个 SDL2 程序 并希望在 CMakeLists txt 中添加对其的检查 我怎么做 我正在使用 CMake 3 1 FindSDL ttf 不适用于 SDL2 因此您必须使用第三方选项 我用过这
  • 每天更改图标

    就像 iPhone 和 iPod 上的日历应用程序一样 如何每天更改图标 我认为这是针对 iOS 应用程序的 答案是 你不能 日历应用程序可以访问 iOS 中的功能 而我们普通开发人员无法访问这些功能 你也许可以用越狱的手机来实现这一点 但
  • 在 R Markdown 文档中,“包含”docx 输出?

    在下面的 Rmd 中我有includes in header 用于 pdf 输出和includes before body 用于 docx 输出 docx 输出有类似的东西吗 我当前的黑客是包括生成 docx 输出时有条件地代码块 但我不想
  • CL 格式秘诀:将 nil 作为值处理

    我一直在寻找格式化食谱 但我找不到我要找的东西 format nil CONTROL STRING day name num apples 假设我不想改变上面形式中的参数 只是CONTROL STRING day and num apple
  • Google 地图 API V3 - 自定义图块

    我目前正在开发 Google Maps API V3here http apps humannetworklabs com GoogleMapAPI html 如果在 21 到 23 之间缩放 地图上将会出现图像叠加 该图像加载时间太长 我
  • Android 振动已弃用。如何在 Android>= API 26 中使用 VibrationEffect?

    我正在使用安卓的VIBRATOR SERVICE为按钮触摸提供触觉反馈 Vibrator getSystemService VIBRATOR SERVICE vibrate 300 Android Studio 给我警告该方法vibrate
  • Java AES CBC 解密

    PHP 加密函数 privateKey 1234567812345678 iv 1234567812345678 data Test string encrypted mcrypt encrypt MCRYPT RIJNDAEL 128 p
  • 在 HMM 中查找前 k 个维特比路径

    我需要编写一个算法来查找 HMM 中的前 k 个维特比路径 使用常规维特比算法来查找最佳路径 我想我可能需要为每个状态 N 保存一个大小为 k 的列表 V t N 其中包含以状态 N 结尾的前 K 个路径 但我不太确定如何跟踪该列表 有任何
  • 如何在 PHP、HTML 标签中回显 [重复]

    这个问题在这里已经有答案了 我在发帖之前经历过这个 如何在 PHP 中回显 HTML https stackoverflow com questions 1100354 easiest way to echo html in php 而我仍
  • SwiftUI:使列表项的剩余区域检测点击[重复]

    这个问题在这里已经有答案了 我的 macOS 应用程序上有一个基于自定义导航系统构建的导航侧边栏 要导航到我检测到的不同视图 onTapGesture列表项的 s 如下所示 List selection selection ForEach
  • 在 sscanf 中转义方括号 ]

    我想扫描像这样的行 25 28 gt 34 我写了一个小程序来测试一下 include
  • 循环遍历 Mongo Collection 并更新每个文档中的字段

    我在一个集合中有日期插入不正确 并且位于一个简单的集合中 2015 09 10 string format 我想更新它们以纠正ISO 日期格式 我尝试过循环 MongoforEach 但我对 shell 不太了解如何更新集合中的每个文档 到
  • FFMPEG-流媒体在几秒钟后停止

    你好 亲爱的社区 这就是我最近几天以来正在处理的事情 在ffmpeg社区进行彻底搜索后 我无法找到解决方案 我无法将本地 flv 流式传输到 facebookrtmp server 我正在运行以下命令将本地 flv 视频流式传输到rtmpF
  • lighttpd 上的 apache .htaccess 文件

    RewriteEngine on RewriteRule packed js pack php debug 0 nc RewriteRule debug pack php debug 1 nc 这在放置在特定目录中的 htaccess 文件
  • 我可以在 Eclipse 中自定义语法突出显示以不同方式显示八进制文字吗?

    我认为八进制文字是非常危险的事情 我希望每当我阅读源代码时它们都非常明显 在 Eclipse 中一定有办法做到这一点 对吗 那么看起来标准 Eclipse 无法配置来执行此操作 需要定制着色器吗 不可以 目前您只能在 首选项 gt Java
  • 68000 上的 CCR

    因此 一位也在尝试学习和理解该语言的朋友问了我一个汇编问题 他问 给定以下寄存器值 D0 364B 421E D1 F3FC 9066 执行指令后 cmp w D0 D1 CCR 中的结果值是多少 N Z V C 以及以下每个分支是否会发生