《深入理解计算机系统》汇编指令大全&代码结构

指令后缀

《深入理解计算机系统》汇编指令大全&代码结构_第1张图片
指令后缀

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

寄存器

寄存器

数据传送

《深入理解计算机系统》汇编指令大全&代码结构_第2张图片
数据传送

取址

《深入理解计算机系统》汇编指令大全&代码结构_第3张图片
取址

数据扩展

《深入理解计算机系统》汇编指令大全&代码结构_第4张图片
数据扩展

栈操作

《深入理解计算机系统》汇编指令大全&代码结构_第5张图片
栈操作

运算

《深入理解计算机系统》汇编指令大全&代码结构_第6张图片
运算

//算数右移:补符号位。逻辑右移动:补0

控制

条件码:

  • CF:进位标志位,可用来检测无符号操作的溢出
  • ZF:零标志,最近操作所得为0.
  • SF:符号标志,最近操作所得为负数
  • OF:溢出标志,最近操作导致补码溢出(正溢出/负溢出)

比较

《深入理解计算机系统》汇编指令大全&代码结构_第7张图片
比较

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


《深入理解计算机系统》汇编指令大全&代码结构_第8张图片
eg

条件码初始化

《深入理解计算机系统》汇编指令大全&代码结构_第9张图片
条件码初始化

跳转

《深入理解计算机系统》汇编指令大全&代码结构_第10张图片
跳转

传送

《深入理解计算机系统》汇编指令大全&代码结构_第11张图片
传送

//使用时,前面搭配cmp指令

浮点数

浮点数寄存器

浮点数寄存器

浮点数传输指令

《深入理解计算机系统》汇编指令大全&代码结构_第12张图片
浮点数传输

eg.


《深入理解计算机系统》汇编指令大全&代码结构_第13张图片
例子

符点数计算

《深入理解计算机系统》汇编指令大全&代码结构_第14张图片
浮点数计算

语句汇编翻译模版

if-else汇编模版:

《深入理解计算机系统》汇编指令大全&代码结构_第15张图片
if-else

while的三种翻译方法:

1、 do-while


《深入理解计算机系统》汇编指令大全&代码结构_第16张图片
do-while

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


《深入理解计算机系统》汇编指令大全&代码结构_第17张图片
跳转到中间

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


《深入理解计算机系统》汇编指令大全&代码结构_第18张图片
guarded-do

Reference

[1] Randal E. Bryant, David R. O'Halla. MATLAB神经网络30例 [M].北京:电子工业出版社,2014,12-16

你可能感兴趣的:(《深入理解计算机系统》汇编指令大全&代码结构)