- 浏览: 1229576 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (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解析和序列化
SHL、SHR、SAL、SAR: 移位指令
;SHL(Shift Left): 逻辑左移 ;SHR(Shift Right): 逻辑右移 ;SAL(Shift Arithmetic Left): 算术左移 ;SAR(Shift Arithmetic Right): 算术右移 ;其中的 SHL 和 SAL 相同, 但 SHR 和 SAR 不同. ;SHL、SAL: 每位左移, 低位补 0, 高位进 CF ;SHR : 每位右移, 低位进 CF, 高位补 0 ;SAR : 每位右移, 低位进 CF, 高位不变 ;它们的结果影响 OF、SF、ZF、PF、CF ;它们的指令格式相同: SHL r/m, i8 SHL r/m, CL
; Test24_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 ;SHL、AL mov al, 11100111b shl al, 1 PrintHex al ;CE - 11001110b sal al, 2 PrintHex al ;38 - 00111000b mov al, 11100111b mov cl, 2 shl al, cl PrintHex al ;9C - 10011100b ;SHR mov al, 11100111b shr al, 2 PrintHex al ;39 - 00111001b ;SAR mov al, 11100111b sar al, 2 PrintHex al ;F9 - 11111001b ret main endp end main
ROL、ROR、RCL、RCR: 循环移位指令
;ROL(Rotate Left): 循环左移 ;ROR(Rotate Right): 循环右移 ;RCL(Rotate through Carry Left): 带进位循环左移 ;RCR(Rotate through Carry Right): 带进位循环右移 ;ROL: 循环左移, 高位到低位并送 CF ;ROR: 循环右移, 低位到高位并送 CF ;RCL: 循环左移, 进位值(原CF)到低位, 高位进 CF ;RCR: 循环右移, 进位值(原CF)到高位, 低位进 CF ;它们的结果影响 OF、CF ;它们的指令格式相同: SHL r/m, i8 SHL r/m, CL
; Test24_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 ;ROL mov al, 11000011b rol al, 1 PrintHex al ;87 - 010000111b ;ROR mov al, 11000011b ror al, 1 PrintHex al ;E1 - 11100001b ;RCL clc mov al, 10101111b rcl al, 1 PrintHex al ;5E - 01011110b stc mov al, 10101111b rcl al, 1 PrintHex al ;5F - 01011111b clc mov al, 10101111b rcl al, 2 PrintHex al ;BD - 10111101b ;RCR clc mov al, 11101011b rcr al, 2 PrintHex al ;BA - 10111010b ret main endp end main
SHLD、SHRD: 双精度移位
;SHLD(Double-Precision Shift Left): 双精度左移 ;SHRD(Double-Precision Shift Right): 双精度右移 ;SHLD 和 SHRD 有三个操作数 ;操作数三: 是移位数目 ;操作数一: 是目的操作数 ;SHLD 左边被移出的位由操作数二相同数目的高位填充 ;SHRD 右边被移出的位由操作数二相同数目的低位填充 ;操作数二不变, 且须是寄存器 ;它们的结果影响 OF、SF、ZF、PF、CF ;它们的指令格式相同: SHLD r16/32/m16/m32, r16/32, i8 SHLD r16/32/m16/m32, r16/32, CL
; 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 ;SHLD mov ax, 1100110011110000b mov dx, 1111111100000000b shld ax, dx, 2 PrintHex ax ;33C3 - 0011001111000011b ;SHRD mov ax, 0000111100110011b mov dx, 0000000011111111b shrd ax, dx, 2 PrintHex ax ;C3CC - 1100001111001100b ret main endp end main
发表评论
-
学 Win32 汇编[34] - 宏汇编(1)
2011-12-22 13:25 761从接触 C 语言时, 我就不大喜欢宏; 但为了看懂别人的代码也 ... -
学 Win32 汇编[33] - 探讨 Win32 汇编的模块化编程
2011-12-22 13:23 587我觉得所谓的模块化有两种: "假模块化" ... -
学 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 1974这里的 "串" 并不单指字符串, 包括所有 ... -
学 Win32 汇编[28] - 跳转指令: JMP、JECXZ、JA、JB、JG、JL、JE、JZ、JS、JC、JO、JP 等
2011-12-20 09:46 1463跳转指令分三类:一、无条件跳转: JMP;二、根据 CX、EC ... -
学 Win32 汇编[27] - 乘除指令: MUL、IMUL、DIV、IDIV
2011-12-19 09:03 1377MUL: 无符号乘 ;影响 OF、CF 标志位 ;指 ... -
学 Win32 汇编[26] - 加减指令: INC、DEC、NEG、ADD、ADC、SUB、SBB、CMP
2011-12-19 09:02 1468;INC(Increment): 加一;DEC(Decreme ... -
学 Win32 汇编[25] - 符号扩展指令: CBW、CWDE、CDQ、CWD
2011-12-19 09:01 1629CBW、CWDE、CDQ、CWD: 扩展指令 ;CBW ... -
学 Win32 汇编[23] - 位测试与位扫描指令: BT、BTC、BTR、BTS、BSF、BSR
2011-12-19 09:00 2124BT、BTS、BTR、BTC: 位测试指令 ;BT(B ... -
学 Win32 汇编[22] - 逻辑运算指令: AND、OR、XOR、NOT、TEST
2011-12-14 13:23 1327AND: 逻辑与 ;该指令会置 CF=OF=0; 其结 ... -
学 Win32 汇编[21] - 传送指令: MOV、LEA、XCHG、XLATB、XLAT、MOVZX、MOVSX
2011-12-14 13:22 1111汇编指令的一般性要求: 1、两个操作数的尺寸必须一致; 2、操 ... -
学 Win32 汇编[20]: 洞察标志寄存器
2011-12-14 13:21 65515 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 1018由于 "栈" 是由高到低使用的, 所以新压 ... -
学 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 ...
相关推荐
X86汇编指令集是计算机体系结构中不可或缺的一部分,特别是在32位和64位的x86架构处理器中。这篇文档详细列举了汇编指令,并为每条指令提供了注释说明。以下知识点涵盖了文档中提及的关键指令及其功能。 一、数据...
从给定的文件信息来看,这是一份关于8080微处理器的汇编语言指令集的手册。8080是由英特尔公司在1972年推出的8位微处理器,是计算机历史上的一个重要里程碑,对后来的微处理器设计产生了深远的影响。这份手册详细列...
- ROL/ROR:循环左移/右移,最高位移至最低位或反之。 - RCL/RCR:带进位的循环左移/右移。 5. 控制流程指令: - JMP:无条件转移指令。 - JZ/JNZ/JS/JNS/JO/JNO/JP/JNP/JB/JNB/JBE/JNBE/JL/JNL/JLE/JNLE:条件...
- SHL(SAL):逻辑左移。 - SHR:逻辑右移。 - SAR:算术右移。 - ROL:循环左移。 - ROR:循环右移。 6. 字符串操作指令:专门用于处理字符串。例如: - MOVS:移动字符串。 - CMPS:比较字符串。 - SCAS...
### 汇编指令手册知识点解析 #### 一、数据传输指令 数据传输指令主要用于实现存储器、寄存器及输入输出端口之间的数据传递。 ##### 1. 通用数据传送指令 - **MOV**: 用于简单地将一个值复制到另一个位置。支持...
- ROL/ROR/RCL/RCR:循环移位。 7. 串指令: - 串指令主要用于处理连续的数据,如字符串复制、查找等。 - 涉及到的寄存器包括DS:SI(源串地址)、ES:DI(目标串地址)和CX(计数器)。 - 指令如MOVS、CMPS、...
- ROL、ROR、RCL、RCR:循环移位,RCL和RCR使用CF进行移位。 7. 串指令: - 串操作指令如MOVS, CMPS, LODS, STOS等,用于处理连续内存区域的数据,常用于数组和字符串操作。 这些指令构成了8086/8088汇编语言的...
- **RCL / RCR**: 通过进位的循环左移/通过进位的循环右移。 - 例如:`RCL AX, 1` 将AX寄存器的值向左循环移动一位,并考虑CF标志位。 #### 四、串指令 串指令用于处理字符串数据。 - **LODSB / LODSW / LODSD**...
### 汇编指令及说明举例 #### 一、数据移动指令 1. **MOV**:数据移动指令,用于将一个寄存器或内存位置的数据移动到另一个寄存器或内存位置。 - 示例:`MOV AX, BX` 将BX寄存器中的值移动到AX寄存器。 2. **...
- SHL/SAL/SHR/SAR:左移、算术左移、逻辑右移、算术右移,例如SHR AX, 1将AX的值右移一位。 - ROL/ROR/RCL/RCR:循环左移、循环右移、带进位循环左移和带进位循环右移。 8. 串指令: - 串操作指令如MOVS, CMPS,...
- ROL/ROR:循环左移/右移,最高位移入最低位。 - RCL/RCR:带进位的循环左移/右移。 5. 字符处理和调整指令: - CBW/CWD:将字节扩展为字,将字扩展为双字。 - DAA/DAS:压缩BCD码的加法/减法十进制调整。 - ...
- **RCL/RCR**:带进位位的循环左移或循环右移。 #### 七、字符串操作指令 1. **字符串操作指令** - **MOVS**:移动指令。 - 示例:`MOVS BYTE PTR ES:[DI], AL`(将AL寄存器中的值复制到ES:DI指向的内存位置)...
移位指令主要包括逻辑移位(SHL、SHR)、算术移位(SAL、SAR)以及循环移位(ROL、ROR、RCL、RCR)。 1. **逻辑移位**: - **SHL(逻辑左移)**:将操作数的位向左移动指定的次数,空出的高位用0填充,最低位移出...
5. **位操作指令**:这些指令允许对数据的位进行操作,如移位(SHL、SHR)、测试(TEST)等。 6. **输入输出指令**:用于与外部设备进行通信,如输入(IN)、输出(OUT)指令。 #### 具体指令详解 ##### 算术运算...
##### SHR, SHL, SAR, SAL **功能:** 对操作数进行右移或左移。 **格式:** - SHR r/m, data/CL - SHL r/m, data/CL - SAR r/m, data/CL - SAL r/m, data/CL #### 十一、循环移位指令 ##### ROR, ROL, RCR, RCL *...
- ROR, ROL, RCR, RCL:执行循环移位,如`ROR r/m, data/CL`将r/m的内容右循环移位。 4. 程序流程控制指令 - CLC, STC, CMC:设置或改变进位标志,如`CLC`清除进位标志。 - CLD, STD:设置或改变方向标志,`CLD`...
- SHL、SHR:分别用于逻辑左移和右移。 - SAL、SAR:分别用于算术左移和右移。 9. 控制寄存器操作指令: - CLTS:清除任务状态段寄存器TS。 - HLT:停止微处理器的执行,直到下一个外部中断。 这些指令是8086汇编...
本文将详细介绍各种汇编语言指令,包括数据传送指令、算术逻辑指令、移位指令、控制转移指令等,并解释它们在实际应用中的具体作用。 #### 数据传送指令 1. **MOV(移动)**:将一个值或地址中的内容移动到另一个...