汇编语言中的算术与逻辑表达式转换指南
1. 算术表达式转换基础
对于初次接触汇编语言的初学者来说,最令人惊讶的或许就是熟悉的算术表达式的缺失。在大多数高级语言中,算术表达式与代数表达式相似,例如 x = y * z; 。但在汇编语言里,完成同样的任务需要多条语句:
mov eax, y
imul eax, z
mov x, eax
显然,高级语言版本更易于输入、阅读和理解。不过,将算术表达式转换为汇编语言并非难事,只需像手动解题一样逐步处理,就能将任何算术表达式分解为等效的汇编语言语句序列。
2. 简单赋值表达式转换
简单赋值表达式是最容易转换为汇编语言的,它有两种形式:
- variable = constant
- var1 = var2
对于第一种形式,只需使用 mov variable, constant 指令,该指令会将常量复制到变量中。对于第二种形式,由于 x86 - 64 架构不提供内存到内存的 mov 指令,因此需要通过寄存器来移动数据。通常,大多数程序员会选择 AL 、 AX 、 EAX 或 RAX 寄存器,例如:
mov eax, var2
mov var1,
超级会员免费看
订阅专栏 解锁全文
568

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



