- 浏览: 1235065 次
- 性别:
- 来自: 广州
-
文章分类
- 全部博客 (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解析和序列化
在熟悉指令、伪指令和汇编语法的过程中, 首先需要的是输出显示的手段.
我刚开始学习时使用的是控制台输出, 最后发现既然是 Win32 汇编还是用 Debug 输出更好.
下面是之前尝试出的控制台输出的几种办法:
1、使用 MASM 提供的 StdOut 函数;
2、使用系统 API:
3、使用微软 C 标准库 msvcrt.dll 中的 printf 函数.
使用 MASM 的 StdOut 函数:
; Test3_1.asm ; 测试代码前应先建立一个控制台工程: 文件 -> 新建工程 -> Console App ... .386 .model flat, stdcall include masm32.inc include kernel32.inc includelib masm32.lib includelib kernel32.lib .data szText db "Hello World!", 0 .code start: invoke StdOut, addr szText ret ;ret 是用于子程序返回的指令, 这里用它代替 ExitProcess(在没有生成 Win32 窗口时是可以的) end start
使用系统 API 函数:
; Test3_2.asm .386 .model flat, stdcall include windows.inc include kernel32.inc includelib kernel32.lib .data szText db 'Hello World!', 0 ;定义两个 DWORD 类型的变量, 分别是用于输出句柄和字符串长度 .data? hOut dd ? len dd ? .code start: ; 获取控制台输出设备的句柄, 其返回值会放在 eax 寄存器 invoke GetStdHandle, STD_OUTPUT_HANDLE ; 把获取到的句柄给变量 hOut mov hOut, eax ; 通过 lstrlen 函数获取字符串长度, 返回值在 eax invoke lstrlen, addr szText ; 把获取到的字符串长度给变量 len mov len, eax ; 输出到控制台, 参数分别是: 句柄、字符串地址、字符串长度; 后面是两个指针暂用不到 invoke WriteFile, hOut, addr szText, len, NULL, NULL ret end start ; 另外前面用到的 StdOut 也基本就是这样实现的, 源码在: masm32\m32lib\stdout.asm
使用微软 C 标准库中的 printf 函数; msvscrt.inc 把它声明做 crt_printf
; Test3_3.asm .386 .model flat, stdcall include msvcrt.inc includelib msvcrt.lib .data szText db 'Hello World!', 0 .code start: invoke crt_printf, addr szText ret end start
三种方法相比之下, 应推荐使用 C 函数 crt_printf; 因为它可以方便输出更多数据类型, 如:
; Test3_4.asm .386 .model flat, stdcall include msvcrt.inc includelib msvcrt.lib .data szFmt db 'EAX=%d; ECX=%d; EDX=%d', 0 .code start: mov eax, 11 mov ecx, 22 mov edx, 33 invoke crt_printf, addr szFmt, eax, ecx, edx ret 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 是反复执行;从哪反复? 这要用到 "标号& ...
相关推荐
5. **OllyDbg版本**:使用针对Windows 7优化的OllyDbg版本,这可能是描述中提到的"WIN7下可用的OD",这意味着它已经过测试,可以在Windows 7环境下稳定运行。 6. **第三方插件**:有些插件可能不兼容Windows 7,...
4. 在命令行环境下,使用"mysqld-nt -install"命令将MySQL服务添加到Windows XP的服务中,这样就可以通过服务管理器控制MySQL的启动和停止。 5. 使用"net start mysql"启动服务,"net stop mysql"停止服务。 6. 如果...
串口通信是计算机通信的一种常见方式,尤其在嵌入式系统、工业控制以及设备间的数据交换中广泛使用。通过串口,两台设备可以共享数据,即使它们可能相距较远。在Visual C++和Turbo C++中实现串口通信,主要涉及到...
win32下实现视频播放。 C视频源代码 视频教程步骤源码 DDraw DirectX 实例 DES加密算法源代码 Detected memory leaks 检查内存泄漏源码 DigiStatic_src 自绘CStatic实现数字效果。 DirectShow开发指南pdf附属...
3. 支持最新会计核算软件数据接口国家标准,提供数据库采集方式下对辅助核算信息的采集。 4. 提升对财务和业务数据的分析处理功能,优化数据存储和管理,扩展辅助工具。 5. 借助金审工程安全客户端系统,保障数据...
本文将介绍几种常见的嵌入式Linux GUI系统。 1. **MiniGUI**:MiniGUI是一种轻量级的GUI系统,可在Linux控制台上运行。它基于SVGALib和Linux Thread库,支持多窗口操作,具有类Windows 98风格的图形用户界面。...
win32情况下实现媒体播放。 preemptivepopupkiller C#源码,实现简单游览器。 RangeScan扫描器源代码 ip地址扫描,发送邮箱。 ResizableLib 测试开源界面库Resizable。 RsPicture 自定义了一个图片库,然后引用...
win32下实现视频播放。 C视频源代码 视频教程步骤源码 DDraw DirectX 实例 DES加密算法源代码 Detected memory leaks 检查内存泄漏源码 DigiStatic_src 自绘CStatic实现数字效果。 DirectShow开发指南pdf附属...
win32情况下实现媒体播放。 preemptivepopupkiller C#源码,实现简单游览器。 RangeScan扫描器源代码 ip地址扫描,发送邮箱。 ResizableLib 测试开源界面库Resizable。 RsPicture 自定义了一个图片库,然后引用...
win32下实现视频播放。 C视频源代码 视频教程步骤源码 DDraw DirectX 实例 DES加密算法源代码 Detected memory leaks 检查内存泄漏源码 DigiStatic_src 自绘CStatic实现数字效果。 DirectShow开发指南pdf附属...
<<page 1>> page begin==================== 目 目目 目 录 录录 ...<<page 3>> page begin==================== ... 17.1 .Net 框架结构提供的 I/O 方式 .215 ...这一天 微软公司正式推出了其下一代...
6、修复“网页_创建快捷方式”在win7以上系统不能自定义图标的BUG,感谢易友【蓝风】反馈。 7、修复“进制_十六到十”不支持长整数的BUG。 8、新增“类_时钟”,类似易语言自带时钟控件,可设置时钟周期。 MD5:E31C...
3.计算机病毒是一种对计算机系统具有破坏性的 ___D___ 。 A、高级语言编译程序 B、生物病毒 C、操作系统 D、计算机程序 4.把高级语言的源程序变为目标程序要经过 ___D__ 。 A、编译 B、编辑 C、汇编 D、解释 5.声音...
计算机是一种电子设备,能够接收输入、处理数据并产生输出。它由硬件(如CPU、内存)和软件(操作系统、应用软件)组成。 ##### 程序到底是怎么回事 程序是由一系列指令组成的,这些指令告诉计算机如何执行特定的...