- 浏览: 1221863 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (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解析和序列化
Loop 是反复执行;
从哪反复? 这要用到 "标号";
反复几次? 把反复的次数告诉 ECX 寄存器即可.
笨办法计算 3 * 8 = 24
; Test15_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 val dd 3 .code main proc xor eax, eax add eax, val add eax, val add eax, val add eax, val add eax, val add eax, val add eax, val add eax, val PrintDec eax ;24 ret main endp end main
使用 LOOP 和标号:
; Test15_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 val dd 3 .code main proc xor eax, eax mov ecx, 8 L1: ;命名为 "L1" 的标号 add eax, val loop L1 ;反复到指定标号; 每次反复 ecx 会减 1, 直到 ecx 为 0 才向下执行 PrintDec eax ;24 ret main endp end main
数组求和的例子:
; Test15_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 dwArr dd 1,2,3,4,5 .code main proc lea edi, dwArr ;把数组起始地址给一个寄存器 mov ecx, lengthof dwArr ;把数组元素数(将要反复的次数)给 ECX xor eax, eax L1: add eax, [edi] ;edi 中的地址将不断变化, 通过 [edi] 获取元素值 add edi, type dwArr ;获取下一个元素的地址 loop L1 PrintDec eax ;15 ret main endp end main
复制字符串的例子:
; Test15_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 szSource db 'Hello World!', 0 ;定义源字符串 szDest db sizeof szSource dup(0) ;定义相同大小的目的字符串 .code main proc mov esi, 0 ;这里选择使用 esi 做数组索引 mov ecx, sizeof szSource ;这是要循环的次数 L1: mov al, szSource[esi] ;mov 的操作数不允许两个都是变量, 用 al 中转一下 mov szDest[esi], al ; inc esi ;调整索引 loop L1 PrintString szDest ;Hello World! ret main endp end main
如果仅仅是复制字符串, 可以使用声明在 masm32.inc 中的 szCopy 函数:
; Test15_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 .data szSource db 'Hello World!', 0 szDest db sizeof szSource dup(0) .code main proc invoke szCopy, addr szSource, addr szDest PrintString szDest ;Hello World! ret main endp end main
关于 @@、@B、@F:
; 如果懒得给标号取名, 可以使用 @@ 做标号; ; @B 表示前面最近的一个标号、@F 表示后面最近的一个标号; ; 使用 @@ 可以把前面 3*8=24 的例子修改如下: ; Test15_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 .data val dd 3 .code main proc xor eax, eax mov ecx, 8 @@: add eax, val loop @B PrintDec eax ;24 ret main endp end main
关于全局标号:
; 上面例子中的标号都是局部标号; ; 如果一个标号定义在子过程之外, 那它就是全局标号了. ; 能不能在子过程中定义全局标号呢? 后面加两个 : 就是了. ; Test15_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 .data val dd 3 .code MyProc proc Label1:: ;是 Label1:: 而不是 Label1: PrintText 'MyProc' ret MyProc endp main proc PrintText 'main' jmp Label1 ;jmp 是无条件跳转指令 ret main endp end main
发表评论
-
学 Win32 汇编[34] - 宏汇编(1)
2011-12-22 13:25 753从接触 C 语言时, 我就不大喜欢宏; 但为了看懂别人的代码也 ... -
学 Win32 汇编[33] - 探讨 Win32 汇编的模块化编程
2011-12-22 13:23 581我觉得所谓的模块化有两种: "假模块化" ... -
学 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 1951这里的 "串" 并不单指字符串, 包括所有 ... -
学 Win32 汇编[28] - 跳转指令: JMP、JECXZ、JA、JB、JG、JL、JE、JZ、JS、JC、JO、JP 等
2011-12-20 09:46 1450跳转指令分三类:一、无条件跳转: JMP;二、根据 CX、EC ... -
学 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 1615CBW、CWDE、CDQ、CWD: 扩展指令 ;CBW ... -
学 Win32 汇编[24] - 移位: SHL、SHR、SAL、SAR、ROL、ROR、RCL、RCR、SHLD、SHRD
2011-12-19 09:01 1437SHL、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 1304AND: 逻辑与 ;该指令会置 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 汇编[14]: 使用中括号 []
2011-12-12 13:24 735[地址] 是取地址指向的内容: ; Test14_1.as ...
相关推荐
Win32汇编是针对Windows API设计的,它可以创建与Windows操作系统紧密交互的应用程序。这些API函数提供了一系列功能,如窗口管理、内存分配、文件操作等。在汇编语言中使用Win32 API,程序员可以直接控制操作系统,...
Win32汇编语言是计算机科学的一个重要领域,它是一种低级编程语言,直接与Windows操作系统接口进行交互。在深入探讨之前,让我们先明确一点:Win32汇编并不是一个独立的语言,而是指使用Intel x86架构上的汇编语言来...
Win32汇编语言与32位保护模式DOS程序的汇编语言有区别,它涉及到Windows操作系统特有的执行机制,如消息循环和动态链接。 **Win32汇编语言的特点和应用** Win32汇编语言允许程序员直接控制硬件资源,提供更高效的...
Win32应用程序虽然和其他32位应用程序(例如32位保护模式DOS程序)一样可以使用386汇编语言和保护模式编程,但是Win32应用程序的执行机制与其他32位应用程序有一定的差别,例如消息循环、动态链接等,Win32汇编语言...
win32汇编教程。汇编基础。 本帮助文件由yyc个人整理后出版,内容全摘自网络。版权归实际作者所有。 为了让网友们能更好的学习Win32汇编编程,于是我为大家将网上的资料整理成一个帮助文件。 本帮助文件包括:...
Win32汇编编程系列 声明: 本帮助文件由yyc个人整理后出版,内容全摘自网络。版权归实际作者所有。 为了让网友们能更好的学习Win32汇编编程,于是我为大家将网上的资料整理成一个帮助文件。 本帮助文件包括:...
在《Win32汇编教程》中,iczelion详尽地讲解了如何使用汇编语言与Win32 API相结合,创建Windows应用程序。教程内容包括但不限于: 1. **基础篇**:介绍汇编语言的基本概念,如指令集、寄存器、寻址方式等。讲解MASM...
Iczelion的Win32汇编教程,传说中的经典win32汇编教程
压缩包中的"Win32汇编教程合集.chm"文件很可能是一个帮助文档,包含了详细的Win32汇编语言教程,包括基本语法、API调用、内存管理、系统调用、线程与进程控制、异常处理等多个方面。帮助文档通常组织结构清晰,便于...
### Win32汇编语言基础概念 #### 一、Win32编程简介 在深入了解Win32汇编视频教程之前,我们首先需要了解Win32编程的基本概念。Win32是一套由微软提供的应用程序编程接口(API),它主要用于编写Windows操作系统下...
作者罗云彬以其深入浅出的讲解风格,为读者揭示了Win32汇编语言的魅力与精髓。这本书旨在帮助读者理解计算机底层运作机制,掌握在Windows环境下使用汇编语言进行程序设计的技术。 Win32汇编是微软为Windows操作系统...
《x86 Win32汇编学习代码》是一份针对初学者和进阶者精心整理的汇编语言学习资源,包含40至50个独立的代码实例。这些实例覆盖了x86架构下的Win32汇编语言的各个方面,旨在帮助读者深入理解汇编语言的精髓,并通过...
在Windows 32位环境下,汇编语言被称为Win32汇编,主要用于编写系统级程序、驱动程序或者对性能有严格要求的代码。本教程将深入探讨Win32汇编工具及其打包过程,通过示例来帮助理解如何在Windows平台上有效地使用...
这本书将详细介绍如何在Win32环境下使用汇编语言与API进行交互,包括窗口创建、消息处理、内存管理、文件操作等。 汇编语言的核心在于理解指令集,Win32汇编通常使用x86架构的指令集,包括数据处理、转移控制、输入...
### Win32汇编语言入门知识点详解 #### 一、为何学习汇编语言? 学习汇编语言对于深入了解计算机系统的工作原理至关重要。它被视为计算机科学领域的一门基础学科,被比喻为计算机软件技术的“原子学说”。理解汇编...
Win32汇编源码是计算机编程领域中的一个重要分支,主要关注的是在Windows操作系统环境下,用汇编语言编写程序的方法。汇编语言是一种低级语言,它的指令与计算机硬件的机器语言非常接近,使得程序员可以直接控制...
《win32汇编教程》是一份全面介绍Win32环境下汇编语言编程的资源,适合对汇编语言有兴趣或需要深入理解系统级编程的朋友们学习。本教程以MHT格式提供,MHT是一种单一文件网页格式,包含了网页的所有内容,如文字、...
WIN32汇编WIN32汇编WIN32汇编WIN32汇编WIN32汇编WIN32汇编WIN32汇编WIN32汇编WIN32汇编WIN32汇编WIN32汇编WIN32汇编WIN32汇编WIN32汇编WIN32汇编WIN32汇编WIN32汇编WIN32汇编WIN32汇编WIN32汇编
本资源包是针对"Win32汇编"的汇编语言编程学习资料,特别适合初学者入门和进阶。汇编语言虽然不如高级语言那样直观易读,但其直接控制硬件的能力使其在特定领域如系统编程、嵌入式开发等有着不可替代的地位。 汇编...
《罗云彬win32汇编教程》是一部深入讲解Windows平台下汇编语言的经典教程,由知名编程专家罗云彬撰写。本教程以其详尽的内容和深入浅出的讲解方式,深受广大编程爱好者喜爱,是学习Win32汇编语言不可多得的参考资料...