初学 Delphi 嵌入汇编[6] - & 操作符
摘要://在汇编中访问 Delphi 的变量可以使用 & 操作符 procedure Proc(str1,str2: string); var s1,s2: string; begin asm mov ecx, &str1 {} mov edx, &str2 mov &s1, ecx {} mov &s2, edx end; ShowMessa...
阅读全文
posted @
2008-01-24 16:04
万一
阅读(5057)
推荐(0) 编辑
初学 Delphi 嵌入汇编[5] - 寄存器在过程与函数中的使用 - 续
摘要://测试寄存器: 如果只有两个参数, 看看 ECX EDX 谁来接受第二个参数 procedure Proc(x,y: Integer); var a,b: Integer; begin asm MOV a,ECX MOV b,EDX end; ShowMessage(IntToStr(a) + #44 + IntToStr(b)); end; //测试 p...
阅读全文
posted @
2008-01-24 15:38
万一
阅读(4893)
推荐(0) 编辑
初学 Delphi 嵌入汇编[4] - 寄存器在过程与函数中的使用
摘要:CPU 提供了诸多寄存器, 但在 Delphi 的过程和函数中, 只有 EAX ECX EDX 三个寄存器可以自由使用; 如果改变了其他寄存器, 在过程和函数结束前要给恢复. 记得前面学习过 Delphi 的过程和函数默认的调用约定是 Register , 前三个参数通过寄存器传递, 其他参数存与栈. 它所指的三个寄存器就应该是 EAX ECX EDX 了. 看资料介绍应该是: EAX 先接受第...
阅读全文
posted @
2008-01-24 11:50
万一
阅读(6406)
推荐(0) 编辑
初学 Delphi 嵌入汇编[3] - 第一个 Delphi 与汇编的例子
摘要:前面知道了一个汇编的赋值指令(MOV), 再了解一个加法指令(ADD), 就可以做个例子了. 譬如: ADD AX,BX; 这相当于 Delphi 中的 AX := AX + BX; 另外提前来个列表 - Delphi 可以用汇编管理以下寄存器: 32 位寄存器: EAX EBX ECX EDX ESP EBP ESI EDI 16 位寄存器: AX BX CX DX SP BP SI DI ...
阅读全文
posted @
2008-01-23 18:30
万一
阅读(8771)
推荐(0) 编辑
初学 Delphi 嵌入汇编[2] - 汇编语言关键字
摘要:汇编语言不区分大小写. 关键字 用途 AH AL AND AX BH BL BP BX BYTE CH CL CS CX DH DI DL DS DWORD DX EAX EBP EBX ECX EDI EDX EIP ES ES...
阅读全文
posted @
2008-01-23 14:41
万一
阅读(7047)
推荐(0) 编辑
初学 Delphi 嵌入汇编[1] - 汇编语言与机器语言
摘要:非科班出身, 现在才接触汇编, 惭愧呀, 好好学! 主选课本是清华大学王爽老师的《汇编语言》. 推荐 王爽老师的汇编网 汇编语言之前是机器语言. 机器语言是机器指令的集合, 机器指令是一系列二进制数字, 计算机将之转换为一系列高低电平, 而实现运算. 在 PC 机上运行机器指令的是 CPU; 不同的 CPU 有不同的指令, 所以某种汇编语言也只是针对某系列的 CPU. 王爽老师举了一个用机...
阅读全文
posted @
2008-01-23 14:22
万一
阅读(11492)
推荐(1) 编辑