- 浏览: 1229438 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (883)
- Spring (101)
- Swing (1)
- Mysql (21)
- Js (59)
- Jsp (2)
- Hibernate (19)
- Myeclipse (5)
- SqlServer 2000 (2)
- poi (15)
- Java (70)
- SSH (12)
- Html (47)
- Fusion Charts (1)
- C\C++ (2)
- 汇编 (36)
- Jquery (37)
- Struts2 (6)
- Ubuntu (16)
- powerDesinger (4)
- Jboss (3)
- JAX-RS (13)
- JAXB (5)
- JAX-WS (11)
- JMS (4)
- WebSocket (8)
- PHP (16)
- Flash (1)
- maven (3)
- Oracle (8)
- HttpClient (6)
- sqlserver (19)
- svn (5)
- Tomcat (3)
- Jdbc (3)
- EsayUi (11)
- 微信公众平台 (19)
- IIS (2)
- Freemarker (11)
- Comet (1)
- Spring MVC (85)
- JBoss Seam (3)
- 二维码 (9)
- Spring Security (4)
- Ehcache (3)
- Apache Shiro (7)
- jackson (16)
- JPA (8)
- jcaptcha (2)
- RSA (2)
- Ajax (6)
- 跟我学Shiro (0)
- Spring4 (19)
- 跟我学spring3 (0)
- css (32)
- excel (4)
- Filter (3)
- 微信公众帐号开发教程 (0)
- Android (6)
- log4j (6)
- 淘宝接口 (17)
- 支付集成 (3)
- 单点登录 (3)
- Html5 (27)
- 移动平台前端 (3)
- Linux (44)
- FusionCharts (27)
- Json Jackson Xml (5)
- 方培工作室-微信开发 (0)
- Apache与Tomcat与IIS整合 (10)
- Nginx (17)
- webService (2)
- apache (4)
- lucene (3)
- lodop (2)
- Shiro (3)
- zTree (2)
- ireport (12)
- Servlet3.0 (5)
- 前端美工 (19)
- AngularJS (1)
- C#开发微信门户及应用 (0)
- Shell (3)
- bat脚本 (16)
- Bootstrap (26)
- Less (10)
- photoshop (6)
- Redis (6)
- Mongodb (10)
- MyBatis (3)
- 数据结构 (0)
- 读写分离-主从复制 (0)
- JFinal (0)
- 百度地图api (3)
- hadoop-hbase-hive-spark (3)
- WebStorm (2)
- Quartz (5)
- ios (0)
- Mina (8)
- Android Studio (4)
- Ratchet教程 (0)
- 移动端重构系列 (1)
- cubic-bezier贝塞尔曲线CSS3动画工具 (1)
- nginx+tomcat+memcached集群 (0)
- 集群 (0)
- ZooKeeper (3)
- Dubbo (0)
- vpn (0)
- kafka (0)
- JVM垃圾回收机制 (0)
- 微信小程序 (0)
- Lua (0)
- Hystrix (0)
- Vue.js (0)
- mycat (0)
- Openresty (0)
- springBoot (0)
- 新分类 (0)
- guava (0)
- 大数据 (0)
- Sentinel (0)
最新评论
-
JackMacing:
中文怎么解决?
SpringMVC与iReport(JasperReports) 5.6整合开发实例 -
18335864773:
用pageoffice把.可以实现在线的文档操作.直接转pdf ...
转:使用jasperreport动态生成pdf,excel,html -
linhao0907:
推荐一款轻量开源的支付宝组件:https://github.c ...
关于Alipay支付宝接口(Java版) -
songronghu:
太好了,非常有用,谢谢分享~
Java ConcurrentModificationException 异常分析与解决方案 -
wzwahl36:
http://www.atool.org/json2javab ...
Java下利用Jackson进行JSON解析和序列化
CBW、CWDE、CDQ、CWD: 扩展指令
;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 无影响, 也无参数
; Test25_1.asm .386 .model flat, stdcall include windows.inc include kernel32.inc include masm32.inc include debug.inc includelib kernel32.lib includelib masm32.lib includelib debug.lib .code main proc ;CBW mov al, 7Fh cbw PrintHex ax ;007F mov al, 80h cbw PrintHex ax ;FF80 ;CWDE mov ax, 7FFFh cwde PrintHex eax ;00007FFF mov ax, 8000h cwde PrintHex eax ;FFFF8000 ;CDQ mov eax, 7FFFFFFFh cdq PrintHex edx ;00000000 PrintHex eax ;7FFFFFFF mov eax, 80000000h cdq PrintHex edx ;FFFFFFFF PrintHex eax ;80000000 ;CWD mov ax, 7FFFh cwd PrintHex dx ;0000 PrintHex ax ;7FFF mov ax, 8000h cwd PrintHex dx ;FFFF PrintHex ax ;8000 ret main endp end main
符号扩展指令的本质
;一个正数(无符号)或负数(有符号)在扩展储存空间时, 使用这些指令可保证原值不变 ; Test25_2.asm .386 .model flat, stdcall include windows.inc include kernel32.inc include masm32.inc include debug.inc includelib kernel32.lib includelib masm32.lib includelib debug.lib .code main proc mov al, 68 cbw PrintHex ax ;0044 PrintDec ax ;68 mov al, -68 cbw PrintHex ax ;FFBC PrintDec ax ;-68 ret main endp end main
CBW、CWDE 和 MOVSX 的关系
; Test25_3.asm .386 .model flat, stdcall include windows.inc include kernel32.inc include masm32.inc include debug.inc includelib kernel32.lib includelib masm32.lib includelib debug.lib .code main proc ;CBW 等价于 movsx ax, al mov al, 80h cbw PrintHex ax ;FF80 mov al, 80h movsx ax, al PrintHex ax ;FF80 ;CWDE 等价于 movsx eax, ax mov ax, 8000h cwde PrintHex eax ;FFFF8000 mov ax, 8000h movsx eax, ax PrintHex eax ;FFFF8000 ret main endp end main
发表评论
-
学 Win32 汇编[34] - 宏汇编(1)
2011-12-22 13:25 760从接触 C 语言时, 我就不大喜欢宏; 但为了看懂别人的代码也 ... -
学 Win32 汇编[33] - 探讨 Win32 汇编的模块化编程
2011-12-22 13:23 586我觉得所谓的模块化有两种: "假模块化" ... -
学 Win32 汇编[32] - 子程序进阶
2011-12-20 09:49 701接: 学 Win32 汇编[9]: 子过程中的变量声明 ... -
学 Win32 汇编[31] - 结构与联合
2011-12-20 09:48 545结构和联合分别用 struct、union 定义, 都是 en ... -
学 Win32 汇编[30] - 条件及循环伪指令: .IF、.WHILE、.REPEAT 等
2011-12-20 09:48 2120.IF、.ELSEIF、.ELSE、.ENDIF: 条件伪指令 ... -
学 Win32 汇编[29] - 串指令: MOVS*、CMPS*、SCAS*、LODS*、REP、REPE、REPNE 等
2011-12-20 09:47 1973这里的 "串" 并不单指字符串, 包括所有 ... -
学 Win32 汇编[28] - 跳转指令: JMP、JECXZ、JA、JB、JG、JL、JE、JZ、JS、JC、JO、JP 等
2011-12-20 09:46 1462跳转指令分三类:一、无条件跳转: JMP;二、根据 CX、EC ... -
学 Win32 汇编[27] - 乘除指令: MUL、IMUL、DIV、IDIV
2011-12-19 09:03 1375MUL: 无符号乘 ;影响 OF、CF 标志位 ;指 ... -
学 Win32 汇编[26] - 加减指令: INC、DEC、NEG、ADD、ADC、SUB、SBB、CMP
2011-12-19 09:02 1466;INC(Increment): 加一;DEC(Decreme ... -
学 Win32 汇编[24] - 移位: SHL、SHR、SAL、SAR、ROL、ROR、RCL、RCR、SHLD、SHRD
2011-12-19 09:01 1451SHL、SHR、SAL、SAR: 移位指令 ;SHL( ... -
学 Win32 汇编[23] - 位测试与位扫描指令: BT、BTC、BTR、BTS、BSF、BSR
2011-12-19 09:00 2123BT、BTS、BTR、BTC: 位测试指令 ;BT(B ... -
学 Win32 汇编[22] - 逻辑运算指令: AND、OR、XOR、NOT、TEST
2011-12-14 13:23 1326AND: 逻辑与 ;该指令会置 CF=OF=0; 其结 ... -
学 Win32 汇编[21] - 传送指令: MOV、LEA、XCHG、XLATB、XLAT、MOVZX、MOVSX
2011-12-14 13:22 1110汇编指令的一般性要求: 1、两个操作数的尺寸必须一致; 2、操 ... -
学 Win32 汇编[20]: 洞察标志寄存器
2011-12-14 13:21 65415 14 13 12 11 10 9 8 7 6 ... -
学 Win32 汇编[19]: 查看二进制等相关函数
2011-12-14 13:20 600在 masm32.inc 中有这样几个函数的声明: by ... -
学 Win32 汇编[18]: 关于压栈(PUSH)与出栈(POP) 之二
2011-12-13 14:28 1017由于 "栈" 是由高到低使用的, 所以新压 ... -
学 Win32 汇编[17]: 关于压栈(PUSH)与出栈(POP) 之一
2011-12-13 14:27 1065记得刚学多线程的时候, 碰到一个结构: //Delphi ... -
学 Win32 汇编[16]: 常用寄存器的常规功能
2011-12-13 14:26 762通用寄存器 EAX ... -
学 Win32 汇编[15]: LOOP 与标号
2011-12-13 14:25 821Loop 是反复执行;从哪反复? 这要用到 "标号& ... -
学 Win32 汇编[14]: 使用中括号 []
2011-12-12 13:24 742[地址] 是取地址指向的内容: ; Test14_1.as ...
相关推荐
- `CBW/CWD/CWDE/CDQ`:字节/字到字/字到双字的符号扩展。 三、逻辑运算指令 - `AND`:按位与运算,用于设置或清除位。 - `OR`:按位或运算,用于设置位。 - `XOR`:按位异或运算,用于翻转位或测试位。 - `NOT`:...
- `ESC`:逃逸指令,用于扩展指令集。 - `HLT`:停止CPU。 - `IDIV`:有符号整数除法。 - `IMUL`:有符号乘法。 - `IN`:从端口输入字节或字。 - `INC`:递增。 - `INS`:从端口输入字符串(80188+)。 - `INT`:...
- CBW, CWD, CWDE, CDQ:用于数据类型转换,如字节扩展到字,字扩展到双字等,以适应不同的运算需求。 汇编指令手册不仅提供了指令的基本功能,还涵盖了指令的使用场景和效果,对于编程、调试和优化程序都具有重要...
- **CWDE指令**:用于将16位寄存器扩展为32位寄存器。 - `CWDE`:将AX中的值扩展为32位,EAX中的高16位被设置为AX的符号位。 - **CDQ指令**:用于将32位寄存器扩展为64位寄存器。 - `CDQ`:将EAX中的值扩展为64位...
- `CBW`, `CWD`, `CWDE`, `CDQ`:这些指令用于将低阶寄存器中的数值扩展到高阶寄存器,保持符号不变。 综上所述,汇编语言中的数据传输和算术运算指令构成了程序设计的基础,它们使得开发者能够精确地控制硬件资源...
- `CBW`, `CWD`, `CWDE`, `CDQ`:在x86中,用于扩展字节、字到双字或四字,但不适用于ARM。 6. **逻辑运算指令** - `AND`:按位与,对两个操作数的每个位进行逻辑与操作。 - `OR`:按位或,对两个操作数的每个位...
CDQ指令:双字扩展。 逻辑运算指令: AND指令:与运算。 OR指令:或运算。 XOR指令:异或运算。 NOT指令:取反。 TEST指令:测试。 SHL指令:逻辑左移。 SAL指令:算术左移。 SHR指令:逻辑右移。 SAR指令:算术...
**5.6 AAD/CBW/CWD/CWDE/CDQ指令** - **功能**: - `AAD`:ASCII调整指令,用于ASCII码的除法运算。 - `CBW`:将AL的值扩展到AH中。 - `CWD`:将AX的值扩展到DX:AX中。 - `CWDE`:将AX的值扩展到EAX中。 - `...
- **CWDE - Convert Word to Extended Doubleword (386+)**: 字转换为扩展双字指令。 - **DAA - Decimal Adjust for Addition**: 十进制加法调整指令。 - **DAS - Decimal Adjust for Subtraction**: 十进制减法调整...
DSP C6000系列常用汇编指令大全是面向DSP C6000系列芯片的汇编指令大全,旨在供大家在编写汇编时进行参考,特别是在CCS中编C与汇编混合编程时。该文档包含了DSP C6000系列芯片的全部汇编指令,涵盖了数据传输、输入...
汇编语言程序指令大全 汇编语言是低级programming语言,它直接使用机器语言指令对计算机进行控制和操作。该语言程序指令大全涵盖了数据传输指令、算术运算指令、逻辑运算指令、转移指令等多种类型的指令。 一、...
14. **CWDE**:无符号字扩展为双字指令,用于将AX寄存器中的值扩展到EAX。 - 示例:`CWDE` AX的高位被扩展为0,结果存储在EAX中。 15. **CDQ**:双字扩展为四字指令,用于将EAX寄存器中的值扩展到EDX:EAX。 - ...
### INTEL 汇编指令集详解 #### Intel 8086 家族架构 Intel 8086家族架构是微处理器设计中的一个重要里程碑,它开创了16位微处理器时代,后续的8088、80186、80286、80386及80486等处理器都是在此基础上发展起来的...
- **CBW/CWD/CWDE/CDQ**:扩展操作数的符号位,用于保持数值的有效性。 #### 逻辑运算指令 **逻辑运算指令**提供基本的逻辑运算功能,如与、或、非等。 - **AND/OR/XOR**:分别执行按位与、按位或和按位异或操作...
- **AAD/CBW/CWD/CWDE/CDQ**:除法的ASCII码调整指令、字到字节的符号扩展、字到双字的符号扩展等。 #### 逻辑运算指令 逻辑运算指令主要用于执行按位逻辑操作,包括与、或、异或等。 - **AND/OR/XOR/NOT**:按位...
CBW 指令用于将字节扩展至字,CWD 指令用于将字扩展至双字,CWDE 指令用于将字扩展至双字并将符号扩展至 EAX 寄存器,CDQ 指令用于将双字扩展至四字节。 三、逻辑运算指令: AND 指令用于实现与运算,OR 指令用于...