《深入理解计算机系统》汇编指令大全&代码结构
2019-01-01 本文已影响250人
CSDN_georgeChen
指令后缀
指令后缀//浮点数与整型的l不会产生歧义,因为指令使用的完全不一样。
寄存器
寄存器数据传送
数据传送取址
取址数据扩展
数据扩展栈操作
栈操作运算
运算//算数右移:补符号位。逻辑右移动:补0
控制
条件码:
- CF:进位标志位,可用来检测无符号操作的溢出
- ZF:零标志,最近操作所得为0.
- SF:符号标志,最近操作所得为负数
- OF:溢出标志,最近操作导致补码溢出(正溢出/负溢出)
比较
比较//注意cmp指令顺序:%rdi <= 2 则跳到.L4
eg
条件码初始化
条件码初始化跳转
跳转传送
传送//使用时,前面搭配cmp指令
浮点数
浮点数寄存器
浮点数寄存器浮点数传输指令
浮点数传输eg.
例子
符点数计算
浮点数计算语句汇编翻译模版
if-else汇编模版:
if-elsewhile的三种翻译方法:
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