随笔 - 2146  文章 - 19 评论 - 11846 阅读 - 1267万

04 2010 档案
学 Win32 汇编[34] - 宏汇编(1)
摘要:从接触 C 语言时, 我就不大喜欢宏; 但为了看懂别人的代码也不得不去了解.宏可定义在源程序的任意位置, 但一般放在 .data 前面.有些简单的宏可以用 equ、textequ 或 = 来代替, 但宏有更复杂的功能."宏" 的本质是 "替换", 但又像极了 "子过程";所以即有宏过程(macro procedure)、也有宏函数(macro function).它既以有参数(可以是: 常数、变量... 阅读全文
posted @ 2010-04-29 21:34 万一 阅读(4804) 评论(5) 推荐(2) 编辑
学 Win32 汇编[33] - 探讨 Win32 汇编的模块化编程
摘要:我觉得所谓的模块化有两种: "假模块化" 和 "真模块化".所谓 "假模块化" 就是通过 include 指令把 *.inc 或 *.asm 文件的文本插入到当前位置.这样最后还是一个大的 asm 文件, 这适合小型的模块化设计.所谓 "真模块化" 就是一个或几个源文件先通过 lib.exe 编译成 *.lib 文件, 然后通过 includelib 指令引入使用.这在 RadASM 环境中可通过... 阅读全文
posted @ 2010-04-29 14:01 万一 阅读(2510) 评论(0) 推荐(0) 编辑
在 API 函数中使用 PChar 参数的几种方法
摘要://以 GetWindowsDirectory 为例:{ 以静态数组做缓冲区 }procedure TForm1.Button1Click(Sender: TObject);var buf: array[0..MAX_PATH-1] of Char;begin GetWindowsDirectory(buf, SizeOf(buf)); ShowMessage(buf); { C:\\WIN... 阅读全文
posted @ 2010-04-26 16:51 万一 阅读(3130) 评论(4) 推荐(0) 编辑
学 Win32 汇编[32] - 子程序进阶
摘要:接: http://www.cnblogs.com/del/archive/2010/04/05/1704864.html这是以前的一个求和函数的例子把上面的例子改为用寄存器传递参数:如果调用的函数在之后实现, 须用 PROTO 提前声明:测试 StdCall 模式下的参数压栈顺序:子程序可以指定语言模式(StaCall、C、SysCall、Basic、Fortran、Pascal);如果不指定则... 阅读全文
posted @ 2010-04-26 14:28 万一 阅读(2914) 评论(3) 推荐(0) 编辑
博客总目录(2007.11.12 - 2010.4.25)
摘要:如果我的学习记录和历程能对你有所帮助, 我非常高兴; 但是 --"万一" 不是高手、更不是大师, 只是利用工作之余学点东西, 并感觉学得挺吃力.内容都是写时才会, 难免稚嫩, 所以 "仅供参考" 可不是客套!有朋友提出需要这么个目录, 所以忐忑列出; 并拜托发现问题及时通知我.一个拼图工具的制作思路 - 回复 "AlwaysBug" 的问题将 4 个 Byte 合成 1 个 Integer 的五种... 阅读全文
posted @ 2010-04-25 21:07 万一 阅读(40805) 评论(29) 推荐(9) 编辑
一个拼图工具的制作思路 - 回复 "AlwaysBug" 的问题
摘要:测试简图:功能简介:1、双击左窗口可打开源图像;2、框选左窗口可把图像选取复制到右窗口;3、剪取的图块可以移动, 可配合 Ctrl 单选或多选, 可用 Delete 删除选择的图块;4、双击右窗口可保存拼好的图像.功能实现:1、MoveImage 主要完成 "图块" 的功能;2、ImageBox 主要完成源图像及选取功能;3、其他有主模块 Unit1 完成.窗体:Unit1:ImageBox:Mo... 阅读全文
posted @ 2010-04-24 23:41 万一 阅读(6784) 评论(18) 推荐(0) 编辑
将 4 个 Byte 合成 1 个 Integer 的五种方法 - 回复 "三足乌" 的问题
摘要:问题来源: http://www.cnblogs.com/del/archive/2010/04/21/1717584.html#1809298 阅读全文
posted @ 2010-04-24 16:13 万一 阅读(6487) 评论(5) 推荐(0) 编辑
学 Win32 汇编[31] - 结构与联合
摘要:结构和联合分别用 struct、union 定义, 都是 ends 结束定义.它们使用方法相同, 并可以互相嵌套; 主要区别是后者的各成员共用同一个地址.结构示例:联合示例:用寄存器引用结构变量:定义时的数据初始化:使用 SYSTEMTIME 结构获取系统时间的例子:结构嵌套: 阅读全文
posted @ 2010-04-22 15:26 万一 阅读(2488) 评论(0) 推荐(0) 编辑
关于 "高位" 与 "低位" - 回复 "Lovemit" 的问题
摘要:问题来源: http://www.cnblogs.com/del/archive/2008/09/11/1288760.html#1807074本话题会涉及到: Lo、Hi、HiByte、LoWord、HiWord、MakeWord、MakeLong、Int64Rec譬如有一个 Cardinal 类型的整数: 1144201745其十六进制的表示是: $44332211其二进制表示是: 01000100 00110011 00100010 00010001我们说 Cardinal 是 32 位的整数, 这里的位是指 "二进制的位数", 不信你数数.我们需要重点面对的是十六进 阅读全文
posted @ 2010-04-21 21:18 万一 阅读(7570) 评论(16) 推荐(1) 编辑
学 Win32 汇编[30] - 条件及循环伪指令: .IF、.WHILE、.REPEAT 等
摘要:.IF、.ELSEIF、.ELSE、.ENDIF: 条件伪指令.WHILE、.ENDW: While 循环伪指令:.REPEAT、.UNTIL: Repeat 循环伪指令:.While 与 .Repeat 都支持 .Break 和 .Continue.WHILE 与 .BREAK:.REPEAT 与 .CONTINUE: 阅读全文
posted @ 2010-04-21 17:26 万一 阅读(7084) 评论(0) 推荐(1) 编辑
如何把类中的方法做参数 - 回复 "林Lin☆☆" 的问题
摘要:问题来源: http://www.cnblogs.com/del/archive/2008/08/15/1268301.html#1806783 阅读全文
posted @ 2010-04-21 16:03 万一 阅读(3835) 评论(5) 推荐(0) 编辑
简单的 "双缓冲" 绘图的例子 - 回复 "TookiQ" 的问题
摘要:所谓双缓冲就是先画到内存画布(如: TBitmap), 然后再转帖到目的地.譬如下面小程序:改为双缓冲绘图可以是:TookiQ 需要的是 GDI+ 的, 道理都一样. 阅读全文
posted @ 2010-04-19 23:44 万一 阅读(6683) 评论(0) 推荐(0) 编辑
TPageControl 上有多个 TWebBrowser 时, 如何协调 Back、Forward - 回复 "飘逸的蓝" 的问题
摘要:问题来源: http://www.cnblogs.com/del/archive/2007/12/13/993840.html#1804933代码:窗体:把上面的例子全部改成动态建立的方法(在之前的窗体上多加一个 Button4 用于添加页面): 阅读全文
posted @ 2010-04-19 22:58 万一 阅读(4792) 评论(20) 推荐(0) 编辑
如何和我共享 DropBox 上的 PDF 电子书
摘要:因不方便访问, 已停止使用!这是在 DropBox 上第二次申请的空间, 第一次的空间应开放的透明度太高被无聊之人夺去不再提.资料已传满 10G ...这些资料您可以下载, 也可以在电脑上建立一个文件夹和我同步.不管是下载还是同步, 都先要到 https://www.dropbox.com/ 上注册一下.注册非常简单: 用户名、信箱、密码.如果要同步使用或自动下载资料, 您必须使用这个地址: https://www.dropbox.com/referrals/NTYyMzc0NzQ5 进入注册并下载安装客户端, 我才可以与您共享资料.注册后, 如果需要共享资料请把您的注册信箱发到 wy1324 阅读全文
posted @ 2010-04-19 09:55 万一 阅读(7339) 评论(25) 推荐(1) 编辑
学 Win32 汇编[29] - 串指令: MOVS*、CMPS*、SCAS*、LODS*、REP、REPE、REPNE 等
摘要:这里的 "串" 并不单指字符串, 包括所有连续的数据(如数组); 串指令只用于内存操作.MOVSB: 移动字符串上面的例子, 假如不使用重复前缀...MOVSD 例:MOVSW 例:CMPSD 例:CMPSW 例:对比数组时, 假如数组长度不一致...如果对比的是 0 结束的字符串, 长度不一致也不用考虑SCASB 例:STOSB 例:LODSW 例: 数组求和 阅读全文
posted @ 2010-04-17 22:55 万一 阅读(7130) 评论(0) 推荐(0) 编辑
学 Win32 汇编[28] - 跳转指令: JMP、JECXZ、JA、JB、JG、JL、JE、JZ、JS、JC、JO、JP 等
摘要:跳转指令分三类:一、无条件跳转: JMP;二、根据 CX、ECX 寄存器的值跳转: JCXZ(CX 为 0 则跳转)、JECXZ(ECX 为 0 则跳转);三、根据 EFLAGS 寄存器的标志位跳转, 这个太多了.根据标志位跳转的指令:跳转相关的标志位:11109876543210OFDFIFTFSFZF AF PF CF溢出   符号零未用辅助未用奇偶未用进位JMP 测试JE 测试JZ 测试JS... 阅读全文
posted @ 2010-04-16 20:46 万一 阅读(102310) 评论(2) 推荐(12) 编辑
如何放缩 TWebBrowser 中的页面 - 回复 "飘逸的蓝" 的问题
摘要:问题来源: http://www.cnblogs.com/del/archive/2009/03/13/1410935.html#1803351TWebBrowser 调用的是 IE, 放缩页面是在 IE7 之后才支持的.准备工作:1、添加 WebBrowser1、Button12、激活窗体的 OnCreate 事件、激活 Button1 的 OnClick 事件.代码如下: 阅读全文
posted @ 2010-04-16 16:51 万一 阅读(4700) 评论(7) 推荐(0) 编辑
学 Win32 汇编[27] - 乘除指令: MUL、IMUL、DIV、IDIV
摘要:MUL: 无符号乘IMUL: 有符号乘DIV、IDIV: 无符号除、有符号除 阅读全文
posted @ 2010-04-15 21:17 万一 阅读(15419) 评论(1) 推荐(0) 编辑
学 Win32 汇编[26] - 加减指令: INC、DEC、NEG、ADD、ADC、SUB、SBB、CMP
摘要:INC、DEC、NEGADD、ADCSUB、SBBCMP辨析 NEG 与 NOT 阅读全文
posted @ 2010-04-15 17:15 万一 阅读(23147) 评论(0) 推荐(1) 编辑
学 Win32 汇编[25] - 符号扩展指令: CBW、CWDE、CDQ、CWD
摘要:CBW、CWDE、CDQ、CWD: 扩展指令符号扩展指令的本质CBW、CWDE 和 MOVSX 的关系 阅读全文
posted @ 2010-04-15 15:13 万一 阅读(13981) 评论(0) 推荐(0) 编辑
学 Win32 汇编[24] - 移位: SHL、SHR、SAL、SAR、ROL、ROR、RCL、RCR、SHLD、SHRD
摘要:SHL、SHR、SAL、SAR: 移位指令ROL、ROR、RCL、RCR: 循环移位指令SHLD、SHRD: 双精度移位 阅读全文
posted @ 2010-04-15 11:39 万一 阅读(11571) 评论(1) 推荐(1) 编辑
学 Win32 汇编[23] - 位测试与位扫描指令: BT、BTC、BTR、BTS、BSF、BSR
摘要:BT、BTS、BTR、BTC: 位测试指令BSF、BSR: 位扫描指令 阅读全文
posted @ 2010-04-15 11:19 万一 阅读(9263) 评论(1) 推荐(0) 编辑
如何在数据表中存取图片 - 回复 "三足乌" 的问题
摘要:问题来源: http://www.cnblogs.com/del/archive/2009/05/28/1491186.html#1801853准备工作:1、在空白窗体上添加: ClientDataSet1、Button12、激活窗体的 OnCreate 事件、激活 Button1 的 OnClick 事件实现代码: 阅读全文
posted @ 2010-04-14 21:20 万一 阅读(5294) 评论(6) 推荐(1) 编辑
学 Win32 汇编[22] - 逻辑运算指令: AND、OR、XOR、NOT、TEST
摘要:AND: 逻辑与OR: 逻辑或XOR: 逻辑异或NOT: 逻辑取反TEST: 测试逻辑与 阅读全文
posted @ 2010-04-14 15:30 万一 阅读(20706) 评论(0) 推荐(0) 编辑
学 Win32 汇编[21] - 传送指令: MOV、LEA、XCHG、XLATB、XLAT、MOVZX、MOVSX
摘要:汇编指令的一般性要求: 1、两个操作数的尺寸必须一致; 2、操作数不能同为内存.MOV(Move): 最常用的数据传送指令LEA(Load Effective Address): 有效地址传送指令XCHG(Exchange): 交换指令XLATB(Translate Byte)、XLAT(Translate): 换码指令MOVZX(Move With Zero-Extend): 零扩展传送MOVS... 阅读全文
posted @ 2010-04-14 10:19 万一 阅读(7187) 评论(2) 推荐(0) 编辑
学 Win32 汇编[20]: 洞察标志寄存器
摘要:1514131211109876543210 NTIOPLOFDFIFTFSFZF AF PF CF未使用嵌套标志I/O权限标志占2位溢出标志方向标志中断允许标志单步标志符号标志零标志未使用辅助标志未使用奇偶标志未使用进位标志上表是 32 位寄存器 EFLAGS 的低 16 位.不能直接读写 EFLAGS, 但有些方便的指令, 如:LAHF: 读取EFLAGS 低 8 位到 AH; SAHF 是 ... 阅读全文
posted @ 2010-04-13 15:25 万一 阅读(2119) 评论(1) 推荐(0) 编辑
学 Win32 汇编[19]: 查看二进制等相关函数
摘要:在 masm32.inc 中有这样几个函数的声明:byt2bin_ex: 从 Byte 数到二进制字符串wrd2bin_ex: 从 Word 数到二进制字符串dw2bin_ex: 从 DWord 数到二进制字符串dw2hex_ex: 从 DWord 数到十六进制字符串bin2byte_ex: 从字符串(必须有 8 个 '0' 或 '1' 组成)到字节学习查看二进制是为了看到 EFLAGS 中的二进... 阅读全文
posted @ 2010-04-13 12:36 万一 阅读(2259) 评论(0) 推荐(0) 编辑
如何让 TreeView 的列表项携带数据、并读出或删除这个数据 - 回复 "Splendour" 的问题
摘要:问题来源: http://www.cnblogs.com/del/archive/2009/12/18/1627110.html#1799657准备工作:1、在空白窗体上添加 TreeView1 和 Button12、激活窗体的 OnCreate 事件, 激活 TreeView 的 OnDblClick 事件全部代码如下: 阅读全文
posted @ 2010-04-12 20:59 万一 阅读(5257) 评论(32) 推荐(0) 编辑
如何删除动态数组的指定元素 - 回复 "Splendour" 的部分问题
摘要:有时使用动态数组的指针更方便, 简单修改即可: 阅读全文
posted @ 2010-04-12 11:37 万一 阅读(4607) 评论(5) 推荐(0) 编辑
学 Win32 汇编[18]: 关于压栈(PUSH)与出栈(POP) 之二
摘要:由于 "栈" 是由高到低使用的, 所以新压入的数据的位置更低.ESP 中的指针将一直指向这个新位置, 所以 ESP 中的地址数据是动态的.每次 PUSH, ESP = ESP - x; 每次 POP, ESP = ESP + x;其中的 x 只能是 4 或 2, 因为 Win32 的 PUSH 只可以压入 32 位(默认)或 16 位的数据.ESP 有个名字叫 "栈顶", 其实它指向的是栈中最低位... 阅读全文
posted @ 2010-04-11 21:45 万一 阅读(9792) 评论(0) 推荐(1) 编辑
"岛主" 同学给我出的算法题
摘要:问题来源: http://www.cnblogs.com/del/archive/2010/04/09/1708619.html#1798022问题描述 - 给出几组数值范围, 如:组一: 2..5组二: 3..6组三: 1..8组四: 2..10...然后从每组中选一个数字, 依次排列成一个新的数字, 需要列出所有排列方式.实现代码:本例测试结果: 阅读全文
posted @ 2010-04-11 12:10 万一 阅读(3250) 评论(6) 推荐(0) 编辑
学 Win32 汇编[17]: 关于压栈(PUSH)与出栈(POP) 之一
摘要:记得刚学多线程的时候, 碰到一个结构:从这个结构中可以基本洞察多线程的基本原理: 1、在切换到另一个线程之前, 先把当前线程在寄存器中的数据保存在这个结构;2、重新切回线程时, 再才这个结构中读出相关数据到寄存器, 从而继续运行...压栈、出栈也是类似的道理.一个程序包含若干子程序, 子程序中一般会有自己的参数或局部变量.在执行这个子程序前, 应该先把寄存器中的相关数据暂存一下(子程序也要使用寄存... 阅读全文
posted @ 2010-04-10 18:16 万一 阅读(4341) 评论(0) 推荐(0) 编辑
如何使用 URLOpenStream 函数 - 回复 "天泽" 的问题
摘要:URLOpenStream 和 URLDownloadToFile 类似, 都是下载文件的 COM 函数;前者是下载到 IStream 流, 后者是直接下载到指定路径; 不如后者使用方便.它们都声明在 UrlMon 单元, 本例还要同时 uses ActiveX, 因为要用到 IStream 接口.IBindStatusCallback 接口有八个方法(或事件), 用到用不到都得给简单实现下;我们... 阅读全文
posted @ 2010-04-09 21:29 万一 阅读(8495) 评论(9) 推荐(1) 编辑
学 Win32 汇编[16]: 常用寄存器的常规功能
摘要:通用寄存器EAX累加(Accumulator)寄存器AX(AH、AL)常用于乘、除法和函数返回值EBX基址(Base)寄存器BX(BH、BL)常做内存数据的指针, 或者说常以它为基址来访问内存.ECX计数器(Counter)寄存器CX(CH、CL)常做字符串和循环操作中的计数器EDX数据(Data)寄存器DX(DH、DL)常用于乘、除法和 I/O 指针ESI来源索引(Source Index)寄存... 阅读全文
posted @ 2010-04-09 13:53 万一 阅读(4601) 评论(1) 推荐(1) 编辑
学 Win32 汇编[15]: LOOP 与标号
摘要:Loop 是反复执行;从哪反复? 这要用到 "标号";反复几次? 把反复的次数告诉 ECX 寄存器即可.笨办法计算 3 * 8 = 24使用 LOOP 和标号:数组求和的例子:复制字符串的例子:如果仅仅是复制字符串, 可以使用声明在 masm32.inc 中的 szCopy 函数:关于 @@、@B、@F:关于全局标号: 阅读全文
posted @ 2010-04-08 17:02 万一 阅读(3118) 评论(1) 推荐(0) 编辑
学 Win32 汇编[14]: 使用中括号 []
摘要:[地址] 是取地址指向的内容:地址指向的是什么数据?[] 一般用于数组:当然也可以写入数组:好像 [] 不能直接是变量或常数(变量后面跟的 [] 除外). 阅读全文
posted @ 2010-04-08 15:52 万一 阅读(3888) 评论(1) 推荐(0) 编辑
学 Win32 汇编[13]: 定义符号常量(=、EQU、TEXTEQU)
摘要:=、EQU、TEXTEQU 功能差不多, 它们定义的符号都将在编译前辈替换成它们指定的常量值.相比之下 EQU 更好用些.= 举例EQU 例一EQU 例二用 TEXTEQU 重做上一个例子, 完全可行:用 TEXTEQU 重做 EQU 的第一个例子(Test13_2.asm), 有区别: 阅读全文
posted @ 2010-04-07 17:24 万一 阅读(5737) 评论(0) 推荐(0) 编辑
学 Win32 汇编[12]: PTR、OFFSET、ADDR、THIS
摘要:PTR: 指定要操作的数据尺寸OFFSET: 获取全局变量或标号的偏移地址ADDR: 类似 offset 也是获取变量的地址...获取局部变量的地址只能使用 ADDR:OFFSET 和 ADDR 的异同:1、offset 不能获取局部变量的地址;2、addr 只能用于调用函数(invoke)时, 不能用于赋值操作;3、addr 面对局部变量时会转换为 lea 等指令, addr 面对全局变量时则直... 阅读全文
posted @ 2010-04-07 15:03 万一 阅读(5677) 评论(2) 推荐(0) 编辑
学 Win32 汇编[11]: 数据对齐相关的伪指令(ALIGN、EVEN、ORG)
摘要:32 位的寄存器容量是 4 字节, 如果内存中的数据都按 4*n 字节对齐, 肯定会加快吞吐速度;但事实并非如此, 不同大小的数据可能会让寄存器别别扭扭地去处理, 从而降低了运行速度!如果使用对齐, 就会浪费掉一些内存空间; 其实这是一个需要权衡 "速度" 与 "内存" 得失的问题.准备使用的测试文件:ALIGN: 指定对齐边界EVEN 是偶对齐, 相当于 ALIGN 2ORG 可以指定从当前位置... 阅读全文
posted @ 2010-04-06 22:45 万一 阅读(4562) 评论(0) 推荐(1) 编辑
学 Win32 汇编[10]: TYPE、$、LENGTHOF、SIZEOF、TYPEDEF
摘要:TYPE: 获取类型大小, 对数组是获取每个元素的大小$: 当前程序语句的地址LENGTHOF: 数组元素个数; SIZEOF: 总字节数TYPEDEF: 创建自定义类型 阅读全文
posted @ 2010-04-06 12:40 万一 阅读(5675) 评论(0) 推荐(0) 编辑
学 Win32 汇编[9]: 子过程中的变量声明
摘要:定义子过程的伪指令: PROC、ENDP模仿 C 语言的样子, 以后的程序结构应该这样:局部变量要用 local 声明, 和全局变量区别不小:调用子过程:一个求和函数的例子: 阅读全文
posted @ 2010-04-05 20:23 万一 阅读(3355) 评论(1) 推荐(0) 编辑
学 Win32 汇编[8]: 算术运算符、关系操作符、逻辑操作符、高低分离符和移位运算符
摘要:算术运算符名称优先级()圆括号1+,-正、负2*,/乘、除3MOD取模3+,-加、减4算术运算符示例:关系操作符(EQ、NE、LT、LE、GT、GE)示例:逻辑操作符(AND、OR、XOR、NOT)示例:高低分离符(HIGH、LOW、HIGHWORD、LOWWORD)示例:移位运算符(SHL、SHR)示例:以上运算符(或伪指令)有些和汇编(硬)指令重名, 区别在于它们只用于常数表达式, 并在编译期... 阅读全文
posted @ 2010-04-04 20:10 万一 阅读(4362) 评论(11) 推荐(0) 编辑
学 Win32 汇编[7]: 定义字符串
摘要:例一例二: 阅读全文
posted @ 2010-04-04 19:08 万一 阅读(4627) 评论(0) 推荐(2) 编辑
学 Win32 汇编[6]: 伪指令 DUP 与数组
摘要:声明数组实例:上面的例子也可以这样写:使用伪指令 DUP:现在可以区别未初始化的变量在 .data 段和 .data? 的区别:继续 dup 的例子:嵌套数组: 阅读全文
posted @ 2010-04-04 18:03 万一 阅读(7364) 评论(0) 推荐(0) 编辑
学 Win32 汇编[5]: 数据类型与声明
摘要:类型描述类型缩写位数字节数浮点数有效位数值范围字节BYTEDB81 0..255有符号字节SBYTEDB81 -128..127字WORDDW162 0..65535有符号字SWORDDW162 -32768..32767双字DWORDDD324 0..4294967295有符号双字SDWORDDD324 -2147483648..2147483647远字FWORDDF486 四字QWORDDQ6... 阅读全文
posted @ 2010-04-04 16:22 万一 阅读(4196) 评论(0) 推荐(0) 编辑
学 Win32 汇编[4]: 使用 Debug 输出测试结果
摘要:由于 Debug 输出是使用的标准的 Win32 窗口, 所以 include 和 includelib 的文件较多.这样建立工程时就不需要是控制台程序了, 工程建立方法:文件 - 新建工程 - 工程类型: Win32 App (no res) ...PrintString: 输出字符串变量PrintText: 直接输出字符串PrintStringByAddr: 根据字符串地址输出字符串Pri... 阅读全文
posted @ 2010-04-04 13:55 万一 阅读(5177) 评论(5) 推荐(2) 编辑
学 Win32 汇编[3]: 控制台下的几种输出方式
摘要:在熟悉指令、伪指令和汇编语法的过程中, 首先需要的是输出显示的手段.我刚开始学习时使用的是控制台输出, 最后发现既然是 Win32 汇编还是用 Debug 输出更好.下面是之前尝试出的控制台输出的几种办法:1、使用 MASM 提供的 StdOut 函数;2、使用系统 API: 3、使用微软 C 标准库 msvcrt.dll 中的 printf 函数.使用 MASM 的 StdOut 函数:使用系统... 阅读全文
posted @ 2010-04-03 14:25 万一 阅读(11943) 评论(1) 推荐(3) 编辑
学 Win32 汇编[2]: 最简单的 Win32 程序
摘要:建立过程:1、文件 - 新建工程 - 工程类型: Win32 App (no res)、工程名称: Test1 - 默认下去到完成.2、打开 Test1.asm 输入以上代码, 然后编译执行. 结果如下:程序注释:关于换行: 在实际操作中, 我没有使用换行符号 \ 也可以, 如: 阅读全文
posted @ 2010-04-03 11:05 万一 阅读(5040) 评论(1) 推荐(0) 编辑
学 Win32 汇编[1]: 选择编辑与编译工具
摘要:Win32 汇编工具主要有 MASM 和 TASM; 我选择前者, 理由是使用范围广, 便于交流.根据介绍, 我先下载了 MASM32(http://www.masm32.com/), 发现不错, 但不是我最想要的.后来找到了 RadASM(官方地址: http://www.oby.ro/rad_asm/index.html)我最终选择了 cao_cong 做的 RadASM 汉化集成包(http... 阅读全文
posted @ 2010-04-02 22:47 万一 阅读(5895) 评论(3) 推荐(2) 编辑
搜索了一下电脑上编程相关的 pdf, 看有你需要的吗?
摘要:这段时间又可以回到电脑上来了, 先整理了一下电脑上的编程相关的 pdf, 大都比较旧了.如果有你需要的请告诉我, 如果你有我没有的也请告诉我; 书永远也不嫌多呀!这些书、还有更多资料的获取方式:http://www.cnblogs.com/del/archive/2010/04/19/1715148.html 阅读全文
posted @ 2010-04-02 17:46 万一 阅读(7880) 评论(36) 推荐(2) 编辑



点击右上角即可分享
微信分享提示