- 浏览: 1222347 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (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解析和序列化
跳转指令分三类:
一、无条件跳转: JMP;
二、根据 CX、ECX 寄存器的值跳转: JCXZ(CX 为 0 则跳转)、JECXZ(ECX 为 0 则跳转);
三、根据 EFLAGS 寄存器的标志位跳转, 这个太多了.
根据标志位跳转的指令:
JE ;等于则跳转 JNE ;不等于则跳转 JZ ;为 0 则跳转 JNZ ;不为 0 则跳转 JS ;为负则跳转 JNS ;不为负则跳转 JC ;进位则跳转 JNC ;不进位则跳转 JO ;溢出则跳转 JNO ;不溢出则跳转 JA ;无符号大于则跳转 JNA ;无符号不大于则跳转 JAE ;无符号大于等于则跳转 JNAE ;无符号不大于等于则跳转 JG ;有符号大于则跳转 JNG ;有符号不大于则跳转 JGE ;有符号大于等于则跳转 JNGE ;有符号不大于等于则跳转 JB ;无符号小于则跳转 JNB ;无符号不小于则跳转 JBE ;无符号小于等于则跳转 JNBE ;无符号不小于等于则跳转 JL ;有符号小于则跳转 JNL ;有符号不小于则跳转 JLE ;有符号小于等于则跳转 JNLE ;有符号不小于等于则跳转 JP ;奇偶位置位则跳转 JNP ;奇偶位清除则跳转 JPE ;奇偶位相等则跳转 JPO ;奇偶位不等则跳转
跳转相关的标志位:
溢 出 |
符 号 |
零 | 未 用 |
辅 助 |
未 用 |
奇 偶 |
未 用 |
进 位 |
JMP 测试
; Test28_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 PrintText '1' jmp @F PrintText '2' PrintText '3' @@: PrintText '4' ret main endp end main ;测试结果应该是: ;1 ;4 ;以下都应该是这样.
JE 测试
; Test28_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 PrintText '1' mov eax, 123 cmp eax, 123 je @F PrintText '2' PrintText '3' @@: PrintText '4' ret main endp end main
JZ 测试
; Test28_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 PrintText '1' xor eax, eax jz @F PrintText '2' PrintText '3' @@: PrintText '4' ret main endp end main
JS 测试
; Test28_4.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 PrintText '1' xor eax, eax dec eax js @F PrintText '2' PrintText '3' @@: PrintText '4' ret main endp end main
JC 测试
; Test28_5.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 PrintText '1' mov al, 0FFh add al, 1 jc @F PrintText '2' PrintText '3' @@: PrintText '4' ret main endp end main
JO 测试
; Test28_6.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 PrintText '1' mov al, -128 sub al, 1 jo @F PrintText '2' PrintText '3' @@: PrintText '4' ret main endp end main
JA 测试
; Test28_7.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 PrintText '1' mov eax, 22 cmp eax, 11 ja @F PrintText '2' PrintText '3' @@: PrintText '4' ret main endp end main
JG 测试
; Test28_8.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 PrintText '1' mov eax, 1 cmp eax, -1 jg @F PrintText '2' PrintText '3' @@: PrintText '4' ret main endp end main
JP 测试
; Test28_9.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 PrintText '1' mov al, 00001110b inc al jp @F PrintText '2' PrintText '3' @@: PrintText '4' ret main endp end main
JECXZ 测试
; Test28_10.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 PrintText '1' xor ecx, ecx jecxz @F PrintText '2' PrintText '3' @@: PrintText '4' ret main endp end main
发表评论
-
学 Win32 汇编[34] - 宏汇编(1)
2011-12-22 13:25 753从接触 C 语言时, 我就不大喜欢宏; 但为了看懂别人的代码也 ... -
学 Win32 汇编[33] - 探讨 Win32 汇编的模块化编程
2011-12-22 13:23 582我觉得所谓的模块化有两种: "假模块化" ... -
学 Win32 汇编[32] - 子程序进阶
2011-12-20 09:49 692接: 学 Win32 汇编[9]: 子过程中的变量声明 ... -
学 Win32 汇编[31] - 结构与联合
2011-12-20 09:48 540结构和联合分别用 struct、union 定义, 都是 en ... -
学 Win32 汇编[30] - 条件及循环伪指令: .IF、.WHILE、.REPEAT 等
2011-12-20 09:48 2108.IF、.ELSEIF、.ELSE、.ENDIF: 条件伪指令 ... -
学 Win32 汇编[29] - 串指令: MOVS*、CMPS*、SCAS*、LODS*、REP、REPE、REPNE 等
2011-12-20 09:47 1955这里的 "串" 并不单指字符串, 包括所有 ... -
学 Win32 汇编[27] - 乘除指令: MUL、IMUL、DIV、IDIV
2011-12-19 09:03 1368MUL: 无符号乘 ;影响 OF、CF 标志位 ;指 ... -
学 Win32 汇编[26] - 加减指令: INC、DEC、NEG、ADD、ADC、SUB、SBB、CMP
2011-12-19 09:02 1451;INC(Increment): 加一;DEC(Decreme ... -
学 Win32 汇编[25] - 符号扩展指令: CBW、CWDE、CDQ、CWD
2011-12-19 09:01 1616CBW、CWDE、CDQ、CWD: 扩展指令 ;CBW ... -
学 Win32 汇编[24] - 移位: SHL、SHR、SAL、SAR、ROL、ROR、RCL、RCR、SHLD、SHRD
2011-12-19 09:01 1438SHL、SHR、SAL、SAR: 移位指令 ;SHL( ... -
学 Win32 汇编[23] - 位测试与位扫描指令: BT、BTC、BTR、BTS、BSF、BSR
2011-12-19 09:00 2119BT、BTS、BTR、BTC: 位测试指令 ;BT(B ... -
学 Win32 汇编[22] - 逻辑运算指令: AND、OR、XOR、NOT、TEST
2011-12-14 13:23 1305AND: 逻辑与 ;该指令会置 CF=OF=0; 其结 ... -
学 Win32 汇编[21] - 传送指令: MOV、LEA、XCHG、XLATB、XLAT、MOVZX、MOVSX
2011-12-14 13:22 1100汇编指令的一般性要求: 1、两个操作数的尺寸必须一致; 2、操 ... -
学 Win32 汇编[20]: 洞察标志寄存器
2011-12-14 13:21 64115 14 13 12 11 10 9 8 7 6 ... -
学 Win32 汇编[19]: 查看二进制等相关函数
2011-12-14 13:20 590在 masm32.inc 中有这样几个函数的声明: by ... -
学 Win32 汇编[18]: 关于压栈(PUSH)与出栈(POP) 之二
2011-12-13 14:28 1008由于 "栈" 是由高到低使用的, 所以新压 ... -
学 Win32 汇编[17]: 关于压栈(PUSH)与出栈(POP) 之一
2011-12-13 14:27 1057记得刚学多线程的时候, 碰到一个结构: //Delphi ... -
学 Win32 汇编[16]: 常用寄存器的常规功能
2011-12-13 14:26 758通用寄存器 EAX ... -
学 Win32 汇编[15]: LOOP 与标号
2011-12-13 14:25 815Loop 是反复执行;从哪反复? 这要用到 "标号& ... -
学 Win32 汇编[14]: 使用中括号 []
2011-12-12 13:24 735[地址] 是取地址指向的内容: ; Test14_1.as ...
相关推荐
这个“汇编必备帮助文档”包含了全面的IA-32指令集和8086汇编帮助信息,是学习和开发汇编程序的重要参考资料。 IA-32指令集是Intel公司为x86系列处理器设计的一套复杂指令集,包括了从8086到 Pentium 4等处理器的...
- 查找指令:用户可以通过关键词搜索特定的汇编指令,如`MOV`(数据传输)、`ADD`(加法)、`JMP`(无条件跳转)等。 - 参数解释:查询器会解释指令的操作数类型和数量,以及它们在指令中的作用。 - 示例代码:...
关于汇编跳转指令 汇编语言中,跳转指令是控制程序流程的重要组成部分。跳转指令可以根据条件码标志位的状态来决定程序的执行方向。本文将详细讲解汇编语言中的跳转指令,包括状态寄存器PSW、直接标志转移、间接...
从给定的文件信息来看,这是一份关于8080微处理器的汇编语言指令集的手册。8080是由英特尔公司在1972年推出的8位微处理器,是计算机历史上的一个重要里程碑,对后来的微处理器设计产生了深远的影响。这份手册详细列...
- 标签与跳转指令:用于控制程序流程,如JMP(无条件跳转)、JE(条件跳转,如果等于则跳转)等。 3. 数据处理指令 - 加法、减法:ADD、SUB,用于执行算术运算。 - 乘法、除法:MUL、DIV,处理较大的数值运算。 ...
- JXX指令(如JE/JZ,JNE/JNZ等)用于条件跳转。 字符串操作指令: - MOVS指令用于移动字符串。 - CMPS指令用于比较字符串。 - SCAS指令用于扫描字符串。 - LODS指令用于加载字符串。 - STOS指令用于存储字符串。 ...
- JZ/JNZ/JS/JNS/JO/JNO/JP/JNP/JB/JNB/JBE/JNBE/JL/JNL/JLE/JNLE:条件转移指令,根据标志寄存器状态决定是否转移。 - LOOP/LOOPZ/LOOPE/LOOPNZ/LOOPNE:循环控制指令,根据CX或ECX寄存器和条件判断是否继续循环...
- 分支与跳转:无条件跳转(如JMP)和条件分支(如JE、JG等)。 6. 输入/输出 - I/O指令:如IN和OUT,用于与硬件设备交互。 - BIOS中断:如INT 10H用于屏幕输出,INT 21H用于磁盘I/O。 7. 实践应用 - 开发环境...
- JZ/JNZ/JC/JNC等:条件跳转,根据标志位决定是否执行。 - LOOP/LOOPZ/LOOPNZ:循环指令,根据CX计数器或条件执行。 - CALL/RET:子程序调用和返回。 - CMP/SCAS/CMPS:比较操作,用于比较内存或寄存器值。 7....
- `JE` / `JZ`:相等/零时跳转。 - `JNE` / `JNZ`:不等/非零时跳转。 - `JG` / `JNLE`:大于时跳转。 - `JL` / `JNGE`:小于时跳转。 - `JGE` / `JNL`:大于等于时跳转。 - `JLE` / `JNG`:小于等于时跳转。 - `JC`...
2. **转移指令**:包括条件转移指令(如JNE、JE、JG、JL)和无条件转移指令(如JMP、CALL、RET)。它们控制程序流程,根据特定条件或无条件地改变指令执行的顺序。 3. **处理器控制指令**:如INT、HLT、CLI、STI等...
- 控制转移指令:包括跳转(JMP)、条件跳转(JZ、JNE等)、子程序调用(LCALL)和返回(RET)等,用于程序流程控制。 - 位操作指令:对单个位进行操作,如SETB、CLR、RRC、SWAP等。 - 增量/减量指令:如INC、DEC...
- 循环与条件判断:通过JZ、JNZ等跳转指令实现循环和条件分支。 - 异常处理:学习如何在程序中捕获和处理错误。 6. 链接与加载: - 链接:将多个汇编源文件合并成一个可执行文件。 - 装载:将可执行文件从磁盘...
汇编语言是计算机科学中的一个重要领域,它是一种低级编程语言,直接对应于机器指令集。汇编语言的复习和学习对于理解计算机底层工作原理、优化代码性能以及进行硬件编程等具有重要意义。以下是对"汇编复习题及答案...
- `JZ`, `JNZ`, `JS`, `JNS`, `JO`, `JNO`, `JP`, `JNP`, `JB`, `JNB`, `JBE`, `JNBE`, `JL`, `JNL`, `JLE`, `JNLE`:条件跳转指令,根据标志位决定是否转移。 - `LOOP`:循环指令,根据 CX 或 ECX 寄存器的值决定...
5. **条件跳转**:虽然不是直接的 jmp 指令,但与之相关的如 `je/jne/jz/jnz/jg/jl/jge/jle` 等条件跳转指令,根据特定的条件(如零标志、符号标志等)来决定是否执行跳转。这些指令在编写条件分支时非常有用。 ...
- `JE`/`JZ`:相等/零时跳转。 - `JNE`/`JNZ`:不等/非零时跳转。 - `JG`:大于时跳转。 - `JGE`:大于等于时跳转。 - `JL`:小于时跳转。 - `JLE`:小于等于时跳转。 6. **输入输出指令**: - `IN`:从I/O...
### 51汇编转移指令AJMP SJMP LJMP JMP的区别 #### 一、概述 在MCS-51系列单片机的汇编语言编程中,转移指令是非常重要的组成部分,用于实现程序流程的控制。根据不同的转移需求,51单片机提供了多种类型的转移...
《汇编语言》是王爽教授的一本经典教材,它深入浅出地介绍了汇编语言的基础知识和实际应用。此PPT课件是基于该教材的辅助教学资料,旨在帮助学习者更直观、更深入地理解和掌握汇编语言。下面将详细阐述其中涉及的...
- `JG/JL/JGE/JLE`: 根据符号标志SF和不等标志OF判断执行条件跳转。 - `CALL`: 调用子程序,保存返回地址到堆栈,然后跳转到指定地址。 - `RET`: 从子程序返回,从堆栈恢复程序计数器PC的值。 5. 条件测试指令:...