指令后缀

指令后缀
//浮点数与整型的l不会产生歧义,因为指令使用的完全不一样。
寄存器

寄存器
数据传送

数据传送
取址

取址
数据扩展

数据扩展
栈操作

栈操作
运算

运算
//算数右移:补符号位。逻辑右移动:补0
控制
条件码:
- CF:进位标志位,可用来检测无符号操作的溢出
- ZF:零标志,最近操作所得为0.
- SF:符号标志,最近操作所得为负数
- OF:溢出标志,最近操作导致补码溢出(正溢出/负溢出)
比较

比较
//注意cmp指令顺序:%rdi <= 2 则跳到.L4

eg
条件码初始化

条件码初始化
跳转

跳转
传送

传送
//使用时,前面搭配cmp指令
浮点数
浮点数寄存器

浮点数寄存器
浮点数传输指令

浮点数传输
eg.

例子
符点数计算

浮点数计算
语句汇编翻译模版
if-else汇编模版:

if-else
while的三种翻译方法:
1、 do-while

do-while
2、 跳转到中间的翻译方法

跳转到中间
3、 guarded-do翻译方法(选择较高优化等级条件时)

guarded-do
Reference
[1] Randal E. Bryant, David R. O'Halla. MATLAB神经网络30例 [M].北京:电子工业出版社,2014,12-16
指令集与数据处理详解
本文深入探讨了计算机指令集的细节,包括浮点数与整型指令的区别、寄存器使用、数据传送、取址及扩展、栈操作、运算、控制流程、条件码的作用与初始化、跳转指令的使用、浮点数计算以及汇编语言中if-else和while语句的翻译模版。通过实例解析,帮助读者理解并掌握汇编语言的高级应用。
3423

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



