- 浏览: 1235189 次
- 性别:
- 来自: 广州
-
文章分类
- 全部博客 (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解析和序列化
由于 Debug 输出是使用的标准的 Win32 窗口, 所以 include 和 includelib 的文件较多.
这样建立工程时就不需要是控制台程序了, 工程建立方法:
文件 -> 新建工程 -> 工程类型: Win32 App (no res) ...
PrintString: 输出字符串变量
; Test4_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 szText db 'Hello World!', 0 .code start: PrintString szText ;Hello World! ret end start
PrintText: 直接输出字符串
; Test4_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 start: PrintText 'Hello World!' ;Hello World! ret end start
PrintStringByAddr: 根据字符串地址输出字符串
; Test4_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 szText db 'Hello World!', 0 .code start: PrintStringByAddr offset szText ;Hello World! mov eax, offset szText PrintStringByAddr eax ;Hello World! ret end start
PrintLine: 输出一行线
; Test4_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 szText db 'Hello World!', 0 .code start: PrintLine ;---------------------------------------- PrintString szText ;Hello World! PrintLine ;---------------------------------------- ret end start
PrintDec: 输出 8-32 位的十进制整数
; Test4_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 v1 db 127 v2 db -128 v3 dw 32767 v4 dw -32768 v5 dd 2147483647 v6 dd -2147483648 .code start: PrintDec v1 ;127 PrintDec v2 ;-128 PrintDec v3 ;32767 PrintDec v4 ;-32768 PrintDec v5 ;2147483647 PrintDec v6 ;-2147483648 ;它还可以有第二个文本参数 PrintDec v1, 'Other Text' ;127, Other Text ret end start
PrintHex: 输出 8-32 位的十进制整数
; Test4_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 v1 db 127 v2 db -128 v3 dw 32767 v4 dw -32768 v5 dd 2147483647 v6 dd -2147483648 .code start: PrintHex v1 ;7F PrintHex v2 ;80 PrintHex v3 ;7FFF PrintHex v4 ;8000 PrintHex v5 ;7FFFFFFF PrintHex v6 ;80000000 ;它还可以有第二个文本参数 PrintHex v1, 'Other Text' ;7F, Other Text ret end start
PrintDouble: 输出双精度浮点数
; Test4_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 v1 real8 3.14 .code start: PrintDouble v1 ;3.14 ;它还可以有第二个文本参数 PrintDouble v1, 'Other Text' ;3.14, Other Text ret end start
Spy..StopSpy: 跟踪变量(变量必须是 8-32 位整数)
; Test4_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 .data val dd 0 .code start: Spy val mov val, 2 ;2 add val, 3 ;5 sub val, 1 ;4 shl val, 1 ;8 StopSpy ret end start
DumpMem: 查看内存
; Test4_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 .data szText db 'ABCDEFG', 0 num dd 13579ACEh .code start: DumpMem offset szText, 4 ;41 42 43 44 DumpMem offset szText, 7 ;41 42 43 44 45 46 47 DumpMem offset num, 4 ;CE 9A 57 13 ;它也可以有个文本参数 DumpMem offset num, 4, 'txt' ret end start
DbgDump: 类似 DumpMem, 更适合查看文本
; Test4_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 .data szText db 'ABCDEFG', 0 num dd 13579ACEh .code start: DbgDump offset szText, 4 ;41 42 43 44 - ABCD DbgDump offset szText, 7 ;41 42 43 44 45 46 47 - ABCDEFG DbgDump offset num, 4 ;CE 9A 57 13 ;它也可以有个文本参数 DbgDump offset num, 4, 'txt' ret end start
需要注意的是 debug.inc 提供的这些宏指令都是区分大小写的.
还有更多指令可参见帮助: \RadASM\masm32\help\VKDebug.chm(帮助内容不是很全)
或直接查看 \RadASM\masm32\include\debug.inc
它还包括一个非常有用的宏 CTEXT, 这在用 invoke 调用有字符串参数的函数时非常方便.
使用 CTEXT 可以把前面那个 "最简单的 Win32 程序" 修改如下:
; Test4_11.asm .386 .model flat, stdcall include windows.inc include kernel32.inc include debug.inc includelib kernel32.lib includelib debug.lib include user32.inc includelib user32.lib .code start: invoke MessageBox, NULL, CTEXT("Hello World!"), CTEXT("Hi"), MB_OK invoke ExitProcess, NULL end start
发表评论
-
学 Win32 汇编[34] - 宏汇编(1)
2011-12-22 13:25 765从接触 C 语言时, 我就不大喜欢宏; 但为了看懂别人的代码也 ... -
学 Win32 汇编[33] - 探讨 Win32 汇编的模块化编程
2011-12-22 13:23 590我觉得所谓的模块化有两种: "假模块化" ... -
学 Win32 汇编[32] - 子程序进阶
2011-12-20 09:49 704接: 学 Win32 汇编[9]: 子过程中的变量声明 ... -
学 Win32 汇编[31] - 结构与联合
2011-12-20 09:48 549结构和联合分别用 struct、union 定义, 都是 en ... -
学 Win32 汇编[30] - 条件及循环伪指令: .IF、.WHILE、.REPEAT 等
2011-12-20 09:48 2130.IF、.ELSEIF、.ELSE、.ENDIF: 条件伪指令 ... -
学 Win32 汇编[29] - 串指令: MOVS*、CMPS*、SCAS*、LODS*、REP、REPE、REPNE 等
2011-12-20 09:47 1989这里的 "串" 并不单指字符串, 包括所有 ... -
学 Win32 汇编[28] - 跳转指令: JMP、JECXZ、JA、JB、JG、JL、JE、JZ、JS、JC、JO、JP 等
2011-12-20 09:46 1472跳转指令分三类:一、无条件跳转: JMP;二、根据 CX、EC ... -
学 Win32 汇编[27] - 乘除指令: MUL、IMUL、DIV、IDIV
2011-12-19 09:03 1388MUL: 无符号乘 ;影响 OF、CF 标志位 ;指 ... -
学 Win32 汇编[26] - 加减指令: INC、DEC、NEG、ADD、ADC、SUB、SBB、CMP
2011-12-19 09:02 1477;INC(Increment): 加一;DEC(Decreme ... -
学 Win32 汇编[25] - 符号扩展指令: CBW、CWDE、CDQ、CWD
2011-12-19 09:01 1634CBW、CWDE、CDQ、CWD: 扩展指令 ;CBW ... -
学 Win32 汇编[24] - 移位: SHL、SHR、SAL、SAR、ROL、ROR、RCL、RCR、SHLD、SHRD
2011-12-19 09:01 1461SHL、SHR、SAL、SAR: 移位指令 ;SHL( ... -
学 Win32 汇编[23] - 位测试与位扫描指令: BT、BTC、BTR、BTS、BSF、BSR
2011-12-19 09:00 2130BT、BTS、BTR、BTC: 位测试指令 ;BT(B ... -
学 Win32 汇编[22] - 逻辑运算指令: AND、OR、XOR、NOT、TEST
2011-12-14 13:23 1340AND: 逻辑与 ;该指令会置 CF=OF=0; 其结 ... -
学 Win32 汇编[21] - 传送指令: MOV、LEA、XCHG、XLATB、XLAT、MOVZX、MOVSX
2011-12-14 13:22 1121汇编指令的一般性要求: 1、两个操作数的尺寸必须一致; 2、操 ... -
学 Win32 汇编[20]: 洞察标志寄存器
2011-12-14 13:21 66915 14 13 12 11 10 9 8 7 6 ... -
学 Win32 汇编[19]: 查看二进制等相关函数
2011-12-14 13:20 609在 masm32.inc 中有这样几个函数的声明: by ... -
学 Win32 汇编[18]: 关于压栈(PUSH)与出栈(POP) 之二
2011-12-13 14:28 1031由于 "栈" 是由高到低使用的, 所以新压 ... -
学 Win32 汇编[17]: 关于压栈(PUSH)与出栈(POP) 之一
2011-12-13 14:27 1069记得刚学多线程的时候, 碰到一个结构: //Delphi ... -
学 Win32 汇编[16]: 常用寄存器的常规功能
2011-12-13 14:26 770通用寄存器 EAX ... -
学 Win32 汇编[15]: LOOP 与标号
2011-12-13 14:25 826Loop 是反复执行;从哪反复? 这要用到 "标号& ...
相关推荐
4. **DEBUG**:调试器,用于分析和测试汇编代码。它可以查看内存内容、设置断点、单步执行程序,帮助开发者定位和修复错误。 **环境搭建与学习指南** 安装并配置这些工具在Win7 32位系统上可能需要一些步骤,例如...
标题“masm link debug dosbox”涉及到的是在Windows 10环境下使用MASM汇编语言、LINK链接器以及DOSBox模拟器进行程序开发和调试的知识点。这是一套适用于学习微机原理或者低级编程的工具组合。下面将详细阐述这些...
4. **模拟I/O**:模拟各种输入/输出设备,如LED、按钮、串口通信等,使开发者能够在仿真环境中实现完整的系统功能。 5. **中断系统模拟**:仿真中断发生和处理过程,有助于测试中断驱动的程序逻辑。 6. **波形显示...
**通过Perl配置编译选项**:使用`perl Configure VC-WIN32 [no-shared] [no-asm] [no-tests] [--debug] --prefix=输出路径`命令来配置编译选项。其中: - `[no-shared]`:该选项用于指定是否编译静态库。如果不...
程序在debug可以正常运行,但是在release版后异常结束,系统又没有提供任何信息情况下,或者程序发布后在客户手中出现异常崩溃,但自己测试又不能复现问题,要是能捕获到异常时相关信息就很好定位问题了。...
4.5 定义公共体系结构:使用对象库 93 4.5.1 考虑应用程序的体系结构 93 4.5.2 Delphi固有的体系结构 94 4.5.3 体系结构的例子 94 4.5.4 子窗体TChildForm 94 4.5.5 数据库基础模式窗体TDBMode- Form 96 4.5.6 ...
熟练掌握Win32 API,可以编写出高效且功能强大的应用程序。此外,Windows上的编程语言选择多样,如C++、C#、Visual Basic等,每种语言都有其特性和优势,需要根据项目需求来选择合适的工具。 "编程高手箴言"可能...
1. **Yasm**:这是一个x86汇编语言的编译器,FFmpeg使用它来编译某些特定的代码。`yasm-1.2.0-win32.exe`就是Yasm的安装程序,你需要安装它以便进行FFmpeg的编译工作。 2. **MinGW**:由于FFmpeg的一些依赖项需要...
[Trial version] 第3章 Win32 调试API [Trial version] 病毒是如何抗动态测试.htm [Trial version] 3.1 Win32调试API原理 [Trial version] Win32调试API第一部分.htm [Trial version] Win32调试API第二部分.htm...
输入`DEBUG`命令后,可以使用各种调试命令,如`A`(汇编),`C`(比较),`D`(转储),`E`(进入),`F`(填充),`G`(执行),`H`(转换十六进制数),`I`(输入),`L`(加载),`M`(移动),`N`(命名),`O`...
)但是需要配合我扩展的WonderWall+黑月来编译。以前都是自己私下用未公开,现在用易越来越少了,现在放出来也算对易做...支持win10,黑月+WonderWall Plus 组合没有问题,其他插件未测试。 放几张以前代码中的使用图片
第一部分 C#语言概述.4 第一章 第一章第一章 第一章 .NET 编 编 编程语言 程语言编程语言 程语言 C#.4 1.1 Microsoft.NET——一场新的革命.4 1.2 .NET 与 C#.6 1.3 C#语言的特点.8 1.4 小 结 .11...