- 浏览: 1190474 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (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解析和序列化
这里的 "串" 并不单指字符串, 包括所有连续的数据(如数组); 串指令只用于内存操作.
移动串指令: MOVSB、MOVSW、MOVSD ;从 ESI -> EDI; 执行后, ESI 与 EDI 的地址移动相应的单位 比较串指令: CMPSB、CMPSW、CMPSD ;比较 ESI、EDI; 执行后, ESI 与 EDI 的地址移动相应的单位 扫描串指令: SCASB、SCASW、SCASD ;依据 AL/AX/EAX 中的数据扫描 EDI 指向的数据, 执行后 EDI 自动变化 储存串指令: STOSB、STOSW、STOSD ;将 AL/AX/EAX 中的数据储存到 EDI 给出的地址, 执行后 EDI 自动变化 载入串指令: LODSB、LODSW、LODSD ;将 ESI 指向的数据载入到 AL/AX/EAX, 执行后 ESI 自动变化 其中的 B、W、D 分别指 Byte、Word、DWord, 表示每次操作的数据的大小单位. 上述指令可以有重复前缀: REP ECX > 0 时 REPE (或 REPZ) ECX > 0 且 ZF=1 时 REPNE(或 REPNZ) ECX > 0 且 ZF=0 时 ;重复前缀可以自动按单位(1、2、4)递减 ECX
MOVSB: 移动字符串
; Test29_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 .data szSource db 'Delphi 2010', 0 len equ $ - szSource - 1 szDest db len dup(?), 0 .code main proc lea esi, szSource lea edi, szDest mov ecx, len cld ;复位标志寄存器的方向标志, 以让串地址由低到高 rep movsb PrintString szDest ;Delphi 2010 ret main endp end main
上面的例子, 假如不使用重复前缀...
; Test29_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 .data szSource db 'Delphi 2010', 0 len equ $ - szSource - 1 szDest db len dup(?), 0 .code main proc lea esi, szSource lea edi, szDest mov ecx, len cld @@: movsb dec ecx jnz @B PrintString szDest ret main endp end main
MOVSD 例:
; Test29_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 .data ddSource dd 11h,22h,33h ddDest dd lengthof ddSource dup(?) .code main proc lea esi, ddSource lea edi, ddDest mov ecx, lengthof ddSource cld rep movsd DumpMem offset ddDest, sizeof ddDest ;11 00 00 00 - 22 00 00 00 - 33 00 00 00 ret main endp end main
MOVSW 例:
; Test29_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 .data ddSource dw 11h,22h,33h ddDest dw lengthof ddSource dup(?) .code main proc lea esi, ddSource lea edi, ddDest mov ecx, lengthof ddSource cld rep movsw DumpMem offset ddDest, sizeof ddDest ;11 00 22 00 - 33 00 00 00 ret main endp end main
CMPSD 例:
; Test29_5.asm .386p .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 ddVal1 dd 1234h ddVal2 dd 5678h .code main proc lea esi, ddVal1 lea edi, ddVal2 cmpsd je L1 PrintText '两数不等' jmp L2 L1: PrintText '两数相等' L2: ret main endp end main
CMPSW 例:
; Test29_6.asm .386p .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 dwArr1 dw 1,2,3,4,5 dwArr2 dw 1,3,5,7,9 .code main proc lea esi, dwArr1 lea edi, dwArr2 mov ecx, lengthof dwArr1 cld repe cmpsw je L1 PrintText '两数组不等' jmp L2 L1: PrintText '两数组相等' L2: ret main endp end main
对比数组时, 假如数组长度不一致...
; Test29_7.asm .386p .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 dwArr1 dw 1,2,3,4,5 dwArr2 dw 1,2,3,4,5,6 .code main proc lea esi, dwArr1 lea edi, dwArr2 mov ecx, lengthof dwArr1 cmp ecx, lengthof dwArr2 jne L1 cld repe cmpsw jne L1 PrintText '两数组相等' jmp L2 L1: PrintText '两数组不等' L2: ret main endp end main
如果对比的是 0 结束的字符串, 长度不一致也不用考虑
; Test29_8.asm .386p .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 szText1 db 'Delphi 2010', 0 szText2 db 'Delphi 2011', 0 .code main proc lea esi, szText1 lea edi, szText2 mov ecx, lengthof szText1 cld repe cmpsb je L1 PrintText '字符串不同' jmp L2 L1: PrintText '字符串相同' L2: ret main endp end main
SCASB 例:
; Test29_9.asm .386p .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 'ABCDEFGH', 0 .code main proc lea edi, szText mov al, 'F' mov ecx, lengthof szText - 1 cld repne scasb je L1 PrintText '没找到' jmp L2 L1: sub ecx, lengthof szText - 1 neg ecx PrintDec ecx ;如果找得到, 这里显示是第几个字符; 本例结果是 6 L2: ret main endp end main
STOSB 例:
; Test29_10.asm .386p .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 len = 31 szText db len dup(0), 0 .code main proc lea edi, szText mov al, 'x' mov ecx, len cld rep stosb PrintString szText ;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ret main endp end main
LODSW 例: 数组求和
; Test29_11.asm .386p .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 dwArr dw 1,2,3,4,5,6,7,8,9,10 .code main proc lea esi, dwArr mov ecx, lengthof dwArr xor edx, edx xor eax, eax @@: lodsw add edx, eax loop @B PrintDec edx ;55 ret main endp end main
发表评论
-
学 Win32 汇编[34] - 宏汇编(1)
2011-12-22 13:25 728从接触 C 语言时, 我就不大喜欢宏; 但为了看懂别人的代码也 ... -
学 Win32 汇编[33] - 探讨 Win32 汇编的模块化编程
2011-12-22 13:23 551我觉得所谓的模块化有两种: "假模块化" ... -
学 Win32 汇编[32] - 子程序进阶
2011-12-20 09:49 657接: 学 Win32 汇编[9]: 子过程中的变量声明 ... -
学 Win32 汇编[31] - 结构与联合
2011-12-20 09:48 515结构和联合分别用 struct、union 定义, 都是 en ... -
学 Win32 汇编[30] - 条件及循环伪指令: .IF、.WHILE、.REPEAT 等
2011-12-20 09:48 2078.IF、.ELSEIF、.ELSE、.ENDIF: 条件伪指令 ... -
学 Win32 汇编[28] - 跳转指令: JMP、JECXZ、JA、JB、JG、JL、JE、JZ、JS、JC、JO、JP 等
2011-12-20 09:46 1404跳转指令分三类:一、无条件跳转: JMP;二、根据 CX、EC ... -
学 Win32 汇编[27] - 乘除指令: MUL、IMUL、DIV、IDIV
2011-12-19 09:03 1336MUL: 无符号乘 ;影响 OF、CF 标志位 ;指 ... -
学 Win32 汇编[26] - 加减指令: INC、DEC、NEG、ADD、ADC、SUB、SBB、CMP
2011-12-19 09:02 1393;INC(Increment): 加一;DEC(Decreme ... -
学 Win32 汇编[25] - 符号扩展指令: CBW、CWDE、CDQ、CWD
2011-12-19 09:01 1559CBW、CWDE、CDQ、CWD: 扩展指令 ;CBW ... -
学 Win32 汇编[24] - 移位: SHL、SHR、SAL、SAR、ROL、ROR、RCL、RCR、SHLD、SHRD
2011-12-19 09:01 1383SHL、SHR、SAL、SAR: 移位指令 ;SHL( ... -
学 Win32 汇编[23] - 位测试与位扫描指令: BT、BTC、BTR、BTS、BSF、BSR
2011-12-19 09:00 2090BT、BTS、BTR、BTC: 位测试指令 ;BT(B ... -
学 Win32 汇编[22] - 逻辑运算指令: AND、OR、XOR、NOT、TEST
2011-12-14 13:23 1237AND: 逻辑与 ;该指令会置 CF=OF=0; 其结 ... -
学 Win32 汇编[21] - 传送指令: MOV、LEA、XCHG、XLATB、XLAT、MOVZX、MOVSX
2011-12-14 13:22 1049汇编指令的一般性要求: 1、两个操作数的尺寸必须一致; 2、操 ... -
学 Win32 汇编[20]: 洞察标志寄存器
2011-12-14 13:21 61215 14 13 12 11 10 9 8 7 6 ... -
学 Win32 汇编[19]: 查看二进制等相关函数
2011-12-14 13:20 547在 masm32.inc 中有这样几个函数的声明: by ... -
学 Win32 汇编[18]: 关于压栈(PUSH)与出栈(POP) 之二
2011-12-13 14:28 964由于 "栈" 是由高到低使用的, 所以新压 ... -
学 Win32 汇编[17]: 关于压栈(PUSH)与出栈(POP) 之一
2011-12-13 14:27 1017记得刚学多线程的时候, 碰到一个结构: //Delphi ... -
学 Win32 汇编[16]: 常用寄存器的常规功能
2011-12-13 14:26 725通用寄存器 EAX ... -
学 Win32 汇编[15]: LOOP 与标号
2011-12-13 14:25 782Loop 是反复执行;从哪反复? 这要用到 "标号& ... -
学 Win32 汇编[14]: 使用中括号 []
2011-12-12 13:24 706[地址] 是取地址指向的内容: ; Test14_1.as ...
相关推荐
数据 传送 指令 通用数据传送指令 传送指令MOV 堆栈操作指令PUSH、POP ... MOVS、CMPS、LODS、STOS、SCAS 处理器 控制 指令 标志操作指令 CLC、STC、CLD、STD、CLI、STI 处理机控制指令 HLT
8088 汇编速查手册 一、数据传输指令 ─────────────────────────────────────── 它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据. 1. 通用数据传送指令. ...
You are visitor as of October 17, 1996. The Art of Assembly Language Programming <br>Forward Why Would Anyone Learn This Stuff? 1 What's Wrong With Assembly Language 2 What's Right With ...
0x08001236 000A MOVS r2,r1 0x08001238 F1A10301 SUB r3,r1,#0x01 0x0800123C 4619 MOV r1,r3 0x0800123E D1FA BNE 0x08001236 */ N--; } } 4、输入检测 中断定时进行输入扫描,定义有效无效电平消抖时间...
通用數據傳送指令. MOV (MOVe) 傳送字或字節. MOVS (MOVe String) 串傳送指令 MOVSX 先符號擴展,再傳送. MOVZX 先零擴展,再傳送. PUSH 把字壓入堆棧. POP 把字彈出堆棧. PUSHA 把AX,CX,DX,BX,...
本人资料全部免费,欢迎大家下载! =========================================== 网上搜到的资料,如题,是常用ARM指令集及汇编的总结,反正免费,不下白不下
基本汇编指令集 MOV (MOVe) 传送字或字节. MOVS (MOVe String) 串传送指令 MOVSX 先符号扩展,再传送. MOVZX 先零扩展,再传送. PUSH 把字压入堆栈. POP 把字弹出堆栈. PUSHA 把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈.
FASMARM currently supports the full range of instructions for 32-bit and 64-bit ARM processors and coprocessors up to and including v8. Contents: 1. ARM assembly compatibility 2. UAL and pre-UAL...
其中包括一些如何使用汇编链接C语言库,汇编调用系统调用,汇编执行浮点运算,C语言内嵌汇编等。 Chapter 1: What Is Assembly Language? 1 Processor Instructions 1 Instruction code handling 2 Instruction code...
movs r0, #2 /* Switch to the psp stack. */ msr CONTROL, r0 pop {r0-r5} /* Pop the registers that are saved automatically. */ mov lr, r5 /* lr is now in r5. */ cpsie i /* The first task has its ...
REP/REPE/REPZ/REPNE/REPNZ Repeat Following String Operation RET Return from Procedure SAHF Store AH into Flags SAL/SAR/SHL/SHR Shift Instructions SBB Integer Subtraction with Borrow SCAS/SCASB/SCASW/...
Peli-Xr - Showtime 插件Showtime => 信息/插件支持,在 EOL 论坛 => Peli-XR 是什么?... allmyvideos、bestreams、filenuke、magnovideo、mightyupload、movs hare、novamov、nowvideo、playedto、s
movs1p9en
启点CE过NP中文December 24 2018:Cheat Engine 6.8.2 Released: Here's a new version for the hollidays. Mainly minor improvements and some small bugfixes, but also a new 'ultimap like' feature called ...
安川机器⼈编程指令含义 TEAM BUTLDING MOTOMAN INFORM 说明 1.输出⼊命令 2.控制命令 控制命令 终端屏幕: 通过主菜单的[输⼊输出]-----[终端]显⽰。另外,独⽴控制功能有效时,每个任务页码不同。CLS消去终端屏幕...
这是一个用Andriod Studio 开发的简易播放器源文件。主要用MediaPlayer+SurfaceView 进行视频的播放。能够通过SeekBar组件控制音量,控制视频的播放进度,以及实时的显示视频的播放进度。具有稳定的播放,暂停控制的...
GiliSoft Video Editor 软件功能包括了在视频或音频中随意截取出一段保存,支持批量截取;可以合并多个视频/音频;裁剪视频画面尺寸;分割视频到多个小片段;给视频添加水印、添加外挂字幕;旋转视频画面;...
The National Institute of Standards and Technology (NIST) Modes of Operation Validation System (MOVS) specifies the procedures involved in validating implementations of the DES algorithm in FIPS PUB ...
This program is free software: you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation either version 3 of the License or...
对于带串联电容补偿装置的输电线路(串补线路),由于串联电容的存在以及串联电容并联保护元件MOVs的非线性,现有的故障测距算法并不能直接应用到串补线路的故障测距中。因此,提出了一种采用双端电气量的串补线路...