- 浏览: 1229448 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (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解析和序列化
AND: 逻辑与
;该指令会置 CF=OF=0; 其结果影响 SF、ZF、PF ;指令格式: AND r/m, r/m/i
; Test22_1.asm - 使用 AND 运算将一个数的第二、四位清零 .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, 00001111b and al, 11110101b PrintHex al ;05 - 00000101b ret main endp end main
; Test22_2.asm - 使用 AND 运算将字母转大写 .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 .data szText db 'Delphi', 0 .code main proc lea esi, szText mov ecx, lengthof szText - 1 @@: and byte ptr [esi], 11011111b ;大写字母和小写字母只有第五位不同 inc esi loop @B PrintString szText ;DELPHI ret main endp end main
OR: 逻辑或
;该指令会置 CF=OF=0; 其结果影响 SF、ZF、PF ;指令格式: OR r/m, r/m/i
; Test22_3.asm - 使用 OR 运算确保一个数的第二、四位是 1 .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, 11110001b or al, 00001010b PrintHex al ;FB - 11111011b ret main endp end main
; Test22_4.asm - 使用 OR 运算将字母转小写 .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 .data szText db 'Delphi', 0 .code main proc lea esi, szText mov ecx, lengthof szText - 1 @@: or byte ptr [esi], 00100000b ;大写字母和小写字母只有第五位不同 inc esi loop @B PrintString szText ;delphi ret main endp end main
XOR: 逻辑异或
;该指令会置 CF=OF=0; 其结果影响 SF、ZF、PF ;指令格式: XOR r/m, r/m/i
; Test22_5.asm - 两次和一个相同的数 XOR 恢复到原来的数 .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 eax, 12345 xor eax, 88888888 PrintDec eax ;88892929 xor eax, 88888888 PrintDec eax ;12345 ret main endp end main
; Test22_6.asm - 使用 XOR 加密与解密字符串 .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 .data szText db 'Hello World!', 0 .code main proc ;加密 lea esi, szText mov ecx, lengthof szText - 1 @@: xor byte ptr [esi], 123 ;使用 123 做密码 inc esi loop @B PrintString szText ;显示乱码 ;解密 lea esi, szText mov ecx, lengthof szText - 1 @@: xor byte ptr [esi], 123 inc esi loop @B PrintString szText ;Hello World! ret main endp end main
NOT: 逻辑取反
;该指令不影响 EFlags ;指令格式: NOT r/m
; Test22_7.asm - 使用 NOT 加密与解密字符串 .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 .data szText db 'Hello World!', 0 .code main proc ;加密 lea esi, szText mov ecx, lengthof szText - 1 @@: not byte ptr [esi] inc esi loop @B PrintString szText ;显示乱码 ;解密 lea esi, szText mov ecx, lengthof szText - 1 @@: not byte ptr [esi] inc esi loop @B PrintString szText ;Hello World! ret main endp end main
TEST: 测试逻辑与
;该指令会置 CF=OF=0; 其结果影响 SF、ZF、PF ;指令格式: TEST r/m, r/m/i ;TEST 同 AND, 但它不修改运算数, 只改变标志寄存器; 也就是尝试 AND 的结果 ;常用到它对 ZF 的影响(结果为0时ZF=1) ;TEST 之后常常跟着条件跳转指令 JZ、JNZ
; Test22_8.asm - 观察 TEST 之后的零标志位(ZF) .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 ;判断字母 A 二进制(01000001)的其最后一位是否是 0, 如果是 0 那么 ZF=1 mov al, 'A' test al, 00000001b lahf PrintHex ah ;02 - 00000010b (ZF=0) ;判断字母 B 二进制(01000010)的其最后一位是否是 0, 如果是 0 那么 ZF=1 mov al, 'B' test al, 00000001b lahf PrintHex ah ;46 - 01000110b (ZF=1) ;判断 ecx 是否为空 mov ecx, 1 test ecx, ecx lahf PrintHex ah ;06 - 00000010b (ZF=0, 不为空) xor ecx, ecx test ecx, ecx lahf PrintHex ah ;06 - 01000110b (ZF=1, 为空) ret main endp end main
; Test22_9.asm - 判断字符串中每个字符的二进制位的最后一位是 1 还是 0 .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 .data szText db 'Delphi', 0 .code main proc ;清空两个寄存器用于计数 xor eax, eax xor edx, edx lea esi, szText ;字符串地址 mov ecx, lengthof szText - 1 ;字符串长度 L1: test byte ptr [esi], 00000001b ;循环测试每个字符的最后一位是 1 还是 0 jz L2 ;如果是 0 则跳到 L2 给 edx+1 inc eax ;反之给 eax+1 jmp L3 L2: inc edx L3: inc esi loop L1 PrintDec eax ;2 - 这是最后一位是 1 的字符的个数: e、i PrintDec edx ;4 - 这是最后一位是 0 的字符的个数: D、l、p、h 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 1463跳转指令分三类:一、无条件跳转: 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 汇编[25] - 符号扩展指令: CBW、CWDE、CDQ、CWD
2011-12-19 09:01 1628CBW、CWDE、CDQ、CWD: 扩展指令 ;CBW ... -
学 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 2124BT、BTS、BTR、BTC: 位测试指令 ;BT(B ... -
学 Win32 汇编[21] - 传送指令: MOV、LEA、XCHG、XLATB、XLAT、MOVZX、MOVSX
2011-12-14 13:22 1110汇编指令的一般性要求: 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 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 ...
相关推荐
- AND/OR/XOR:逻辑与、或、异或操作。 - NOT:逻辑非,翻转所有位。 - TEST:测试操作数的位,但不改变它们。 4. 移位和循环移位指令: - SHL/SHR:逻辑左移/右移,空位由0填充。 - ROL/ROR:循环左移/右移,...
3. 逻辑运算指令: - `AND`: 逻辑与,按位进行AND操作。 - `OR`: 逻辑或,按位进行OR操作。 - `XOR`: 逻辑异或,按位进行XOR操作。 - `NOT`: 逻辑非,对操作数的每一位进行取反操作。 - `SHL/SHR`: 左移/右移,...
《汇编语言指令速查手册》是一份详细记录汇编语言基本指令的资源,对于学习和使用汇编语言的人员来说极具价值。汇编语言是一种低级编程语言,它的指令直接对应于计算机硬件的机器语言,因此理解这些指令是编写高效、...
- AND/OR/XOR:与/或/异或运算。 - NOT:按位取反。 - TEST:测试两操作数的逻辑与,仅修改标志位,不回送结果。 - SHL/SAL/SHR/SAR:左移/右移,逻辑/算术操作。 - ROL/ROR/RCL/RCR:循环移位。 7. 串指令: ...
- `AND`,`OR`,`XOR`:逻辑与、或、异或操作。 - `NOT`:取反操作。 - `TEST`:测试操作,类似逻辑与,但不改变结果。 - `SHL`,`SAL`,`SHR`,`SAR`:左移、算术左移、逻辑右移、算术右移,用于位操作。 - `...
本篇文章将详细介绍汇编指令词汇大全,涵盖各种基本操作,包括数据传输、算术运算、逻辑操作、控制流以及输入输出等。 1. 数据传输指令: - MOV:将一个数据从一个位置传输到另一个位置。 - PUSH:将数据压入堆栈...
- `AND`,`OR`,`XOR`:执行位逻辑运算。 - `TEST`:测试位,但不改变操作数。 - `NOT`:按位取反。 - `SHR`,`SHL`,`SAR`,`SAL`:右移、左移、带符号右移和无符号左移。 - `ROR`,`ROL`,`RCR`,`RCL`:循环...
【汇编指令大全】 汇编语言是计算机编程的基础,它是一种低级语言,直接对应于机器的硬件指令。本文将详细介绍汇编指令的几个主要类别,包括数据传输、输入输出、地址传送和算术运算等。 一、数据传输指令 1. ...
80x86汇编指令大全是对Intel 80x86系列处理器汇编语言编程的基础,涵盖了数据传输、算术运算、逻辑运算等多个方面的指令。以下是对这些指令的详细解释: 1. 数据传输指令: - `MOV`:基本的数据移动指令,用于将...
这个汇编指令速查手册涵盖了数据传输指令、输入输出端口传送指令、目的地址传送指令、标志传送指令、算术运算指令、逻辑运算指令和串指令等多方面的内容,为编程人员提供了一个全面的参考手册。
- AND, OR, XOR:逻辑与、或、异或运算,用于构建布尔表达式和位操作。 - NOT:逻辑非,将操作数的每一位取反。 - TEST:测试指令,只修改标志位,不回送结果,用于无副作用的条件判断。 7. 其他指令: - CBW, ...
- AND、OR、XOR:逻辑与、或、异或操作。 - NOT:按位取反。 - TEST:仅修改标志位,不回送结果。 - SHL、SAL、SHR、SAR:位移操作,SAL等同于SHL,SAR在负数时高位补1,正数时补0。 - ROL、ROR、RCL、RCR:...
### 8086汇编语言六大编程指令集解析 #### 一、数据传输指令 在8086汇编语言中,数据传输指令是非常基础且重要的指令集合,主要用于实现寄存器之间的数据移动以及寄存器与内存之间的数据交换。 - **MOV指令**:...
三、逻辑运算指令 - `AND`:按位与运算,用于设置或清除位。 - `OR`:按位或运算,用于设置位。 - `XOR`:按位异或运算,用于翻转位或测试位。 - `NOT`:按位取反,将所有位取反。 - `TEST`:按位与运算,仅更新...
6. 逻辑运算指令: - `AND`:按位与运算。 - `OR`:按位或运算。 - `XOR`:按位异或运算。 - `NOT`:按位取反。 - `TEST`:按位与运算,只更新标志位,不返回结果。 - `SHL`、`SAL`(等于`SHL`)、`SHR`:逻辑...
3. **逻辑运算指令**: - `AND`: 执行按位与操作,常用于设置或清除特定位。 - `OR`: 执行按位或操作,用于组合位。 - `NOT`: 对操作数进行逐位取反。 - `XOR`: 执行按位异或操作,用于比较或清除特定位。 4. *...
该语言程序指令大全涵盖了数据传输指令、算术运算指令、逻辑运算指令、转移指令等多种类型的指令。 一、数据传输指令: 数据传输指令用于在存贮器和寄存器、寄存器和输入输出端口之间传送数据。常见的数据传输指令...
- `AND`, `OR`, `XOR`: 用于逻辑与、或、异或操作。 - `NOT`和`TEST`: 数据取反和仅修改标志位的逻辑与操作。 - `SHL`, `SHR`: 左移和右移操作,分别用于逻辑左移和逻辑右移。 - `SAR`, `RCL`, `RCR`: 用于算术...