汇编Win32 汇编[32] – 子程序进阶 这是以前的一个求和函数的例子 ; Test32_1.asm .386 .model flat, stdcall include windows.inc include kernel32.inc include masm32.inc include debug.inc includelib kernel32.lib ... 懒人 1321℃ 0评论 0喜欢
汇编Win32 汇编[31] – 结构与联合 结构和联合分别用 struct、union 定义, 都是 ends 结束定义. 它们使用方法相同, 并可以互相嵌套; 主要区别是后者的各成员共用同一个地址. 结构示例: ; Test31_1.asm .386 .model flat, stdcall include windows.inc include kernel32.inc... 懒人 1194℃ 0评论 0喜欢
汇编Win32 汇编[30] – 条件及循环伪指令: .IF、.WHILE、.REPEAT 等 .IF、.ELSEIF、.ELSE、.ENDIF: 条件伪指令 ;可以使用和 C 语言类似的条判断: a == b a != b a > b a >= b a < b a <= b a && b a & b a || b !a ;还可以直接判断几个常用的标志位: CARR... 懒人 1267℃ 0评论 0喜欢
汇编Win32 汇编[29] – 串指令: MOVS*、CMPS*、SCAS*、LODS*、REP、REPE、REPNE 等 这里的 “串” 并不单指字符串, 包括所有连续的数据(如数组); 串指令只用于内存操作. 移动串指令: MOVSB、MOVSW、MOVSD ;从 ESI -> EDI; 执行后, ESI 与 EDI 的地址移动相应的单位 比较串指令: CMPSB、CMPSW、CMPSD ;比较 ESI、EDI; 执行后, ES... 懒人 1074℃ 0评论 0喜欢
汇编Win32 汇编[28] – 跳转指令: JMP、JECXZ、JP 等 跳转指令分三类: 一、无条件跳转: JMP; 二、根据 CX、ECX 寄存器的值跳转: JCXZ(CX 为 0 则跳转)、JECXZ(ECX 为 0 则跳转); 三、根据 EFLAGS 寄存器的标志位跳转, 这个太多了. 根据标志位跳转的指令: JE ;等于则跳转 JNE ;不等于则跳转 JZ ;为 0 则跳转 JNZ ;不为 0... 懒人 1009℃ 0评论 0喜欢
汇编Win32 汇编[27] – 乘除指令: MUL、IMUL、DIV、IDIV MUL: 无符号乘 ;影响 OF、CF 标志位 ;指令格式: ;MUL r/m ;参数是乘数 ;如果参数是 r8/m8, 将把 AL 做乘数, 结果放在 AX ;如果参数是 r16/m16, 将把 AX 做乘数, 结果放在 EAX ;如果参数是 r32/m32, 将把 EAX 做乘数, 结果放在 EDX:EAX ; Tes... 懒人 1019℃ 0评论 0喜欢