CBW、CWDE、CDQ、CWD: 扩展指令
CDQ 是一个让很多人感到困惑的指令。 这个指令把 EAX 的第 31 bit 复制到 EDX 的每一个 bit 上。 它大多出现在除法运算之前。它实际的作用只是把EDX的所有位都设成EAX最高位的值。也就是说,当EAX <80000000, EDX 为00000000;当EAX >= 80000000, EDX 则为FFFFFFFF。
例如 :
假设 EAX 是 FFFFFFFB (-5) ,它的第 31 bit (最左边) 是 1,
执行 CDQ 后, CDQ 把第 31 bit 复制至 EDX 所有 bit
EDX 变成 FFFFFFFF
这时候, EDX:EAX 变成 FFFFFFFF FFFFFFFB ,它是一个 64 bit 的大型数字,数值依旧是 -5。
备注:
EDX:EAX,这里表示EDX,EAX连用表示64位数
;CBW(Convert Byte to Word): 将 AL 扩展为 AX ;CWDE(Convert Word to Extended Double): 将 AX 扩展为 EAX ;CDQ(Convert Doubleword to Quadword): 将 EAX 扩展为 64 位数 EDX:EAX ;CWD(Convert Word to Doubleword): 将 AX 扩展为 DX:AX ;它们都是用符号位填充多出的空间 ;它们对 EFLAGS 无影响, 也无参数
CBW、CWDE、CDQ、CWD: 扩展指令相关推荐
- Win32ASM学习[14]:符号扩展指令: CBW,CWDE,CDQ,CWD
---------------------------------------------------------------------------------------------------- ...
- Intel8086处理器使用NASM汇编语言实现操作系统08-关于负数的相关处理idiv/cbw/cwde/cdqu/cwd/cdq/cdo/
很多人都知道一个有符号的数,最高位是1,则表示负数,最高位是0,则表示正数,如果假设我的CPU是4位CPU,那么对于1001这个数,是表示+9,还是表示-7呢??? 其实CPU并不关心这个数是+9还是 ...
- 汇编语言符号扩展指令及应用示例
1. 什么是符号扩展?为什么要用符号扩展? 所谓符号扩展,就是将数据的表示大小加倍,数值仍保持不变,即将符号位扩展到同样大小的寄存器空间中去,由两部分构成一个比原值表示大一倍的数.正数必须要0扩展,负 ...
- 计算机组成原理扩展指令CLC实验报告,惠州学院-计算机组成原理实验四 含流程图...
组合逻辑控制器实验 计算机科学系实验报告 课程名称计算机组成原理班级14软件工程一班 实验名称组合逻辑控制器实验教导教师麦山 姓名魏树杰学号1414080902132 日期2016年06月11日 一. ...
- RISC-V扩展指令示例
自定义RISC-V扩展指令 要实现协处理器的设计,必然会涉及到新的指令.比如蜂鸟书籍<手把手教你设计CPU--RISC-V处理器篇>[1]第十六章中实现3*3矩阵的行列和运算时就定义了三条 ...
- 计算机组成原理扩展指令CLC实验报告,计算机组成原理实验设计
计算机组成原理实验设计 (10页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 计募机组成原理课程设计微程序实验报告姓名 :***班级 :** ...
- 学习笔记(符号扩展指令:SXTB和SXTH)
前言 这些笔记主要是记录自己在学习CM3汇编中的一些问题(因为我们老师上stm32的嵌入式课是从基础汇编开始讲的,CM3汇编在网上能查到的例子讲解有点少,哭!),其中可能借鉴过网上一些大佬的文章,如果 ...
- 计算机组成原理实验扩展RCL指令,计算机组成原理实验五扩展指令设计.doc
计算机组成原理实验五扩展指令设计 实验五 扩展指令设计 实验目的 1. 进一步掌握计算机组合逻辑控制器的功能.组成知识. 2. 进一步学习计算机各类典型指令的执行流程. 3. 学习组合逻辑控制器的设计 ...
- 计算机组成原理扩展指令CLC实验报告,计算机组成原理实验报告.doc
计算机组成原理实验报告 计算机组成原理实习报告 本学期我们开设了计算机组成原理这门课,主要学习计算机的主要部件以及这些部件组成的原理和如何运行.除了平时的课堂学习,我们还有实验课帮助我们更好的了解这门 ...
最新文章
- C++实现大数的减法
- 转:测试部工作不受重视怎么办?
- 【FI】SAP ODN简介
- vuejs mvvm图解
- UML类图解义 (来自《大话设计模式》)
- MySQL笔记-mysql权限授权及创建用户
- Apicloud——关于索引列表
- ECMAscript6(ES6)新特性语法总结(一)
- Android 系统(246)---SystemServer进程的启动流程
- 五子棋python设计心得_python五子棋游戏的设计与实现
- mysql 告警 异常 处理_mysql异常解决方案 - Lock wait timeout exceeded异常
- QT中PRO文件写法
- 21点游戏java实现
- delphi源码分析
- 如何在Excel 2013中使用公式编辑器
- open-能连接,但无法访问内网的问题
- poj3104(二分判断可行性)
- 如何正确判断USB等接口的接线顺序
- 深度学习——keras教程系列基础知识
- uni-app项目(首页)