80x86 汇编语言入门与资源指南
1. 高级语言条件语句的汇编翻译
CPU 并不直接支持 if 机器指令。在汇编语言里,要实现类似高级语言(HLL)中 if 语句的功能,需要先比较两个值来设置条件码标志,然后通过条件跳转指令来测试这些条件码的结果。
以将一个 Pascal 的 if 语句翻译成 HLA 汇编语言为例:
mov( i, eax ); // 获取 i 的值
cmp( eax, j ); // 与 j 的值进行比较
jne skipIfBody; // 如果 i 不等于 j,则跳过 if 语句体
<< 打印字符串的代码 >>
skipIfBody:
当 HLL 语言控制结构中的布尔表达式变得更复杂时,对应的机器指令数量也会增加,但基本的处理流程保持不变。
2. 汇编语言的参数传递与数据访问
在汇编语言中,向过程或函数传递参数、在过程或函数内部访问这些参数,以及访问该过程或函数的其他局部数据,比典型的 HLL 更加复杂。不过,在阅读汇编代码时,不需要自己去考虑使用哪些机器指令,因为最初创建代码的编译器或汇编程序员已经完成了这些工作,我们只需在 HLL 代码和汇编代码之间建立对应关系即可。
3. 学习汇编语言的资源
有许多资源可以帮助我们学习汇编语言:
- 《The Art of Assembly Language
80x86汇编语言入门与资源指南
超级会员免费看
订阅专栏 解锁全文
68

被折叠的 条评论
为什么被折叠?



