计算机组成原理-高级语言与机器级代码之间的对应和常用的的x86汇编指令

文章目录

  • 高级语言与机器级代码之间的对应
    • 总览
    • 高级语言>汇编语言>机器语言
    • x86汇编语言指令基础
    • 以move指令为例
    • x86架构CPU的寄存器
    • 更多例子
    • 小结
  • 常用的x86汇编指令
    • 常见的算数运算指令
    • 关于王道书的解释
    • 常见的逻辑运算指令
    • 其他指令

高级语言与机器级代码之间的对应

总览

计算机组成原理-高级语言与机器级代码之间的对应和常用的的x86汇编指令_第1张图片

高级语言>汇编语言>机器语言

计算机组成原理-高级语言与机器级代码之间的对应和常用的的x86汇编指令_第2张图片

x86汇编语言指令基础

x86汇编是被某一系列CPU支持的汇编指令
计算机组成原理-高级语言与机器级代码之间的对应和常用的的x86汇编指令_第3张图片

以move指令为例

注意源操作数和目的操作数
计算机组成原理-高级语言与机器级代码之间的对应和常用的的x86汇编指令_第4张图片

x86架构CPU的寄存器

通用寄存器可以存任何东西,以X结尾
变址寄存器以I结尾
指针寄存器以P结尾
E开头表示为32位
计算机组成原理-高级语言与机器级代码之间的对应和常用的的x86汇编指令_第5张图片
通用寄存器也可只指定16位
计算机组成原理-高级语言与机器级代码之间的对应和常用的的x86汇编指令_第6张图片
通用寄存器也可只指定8位

计算机组成原理-高级语言与机器级代码之间的对应和常用的的x86汇编指令_第7张图片

更多例子

注意未指明长度都是32位
同时注意h后缀表明该为16进制
计算机组成原理-高级语言与机器级代码之间的对应和常用的的x86汇编指令_第8张图片

小结

计算机组成原理-高级语言与机器级代码之间的对应和常用的的x86汇编指令_第9张图片

常用的x86汇编指令

计算机组成原理-高级语言与机器级代码之间的对应和常用的的x86汇编指令_第10张图片

常见的算数运算指令

计算后的结果放到目的操作数,所以目的操作数不可以是常量,只能是寄存器或内存
除法中被除数放到edx和eax中,被除数会扩展到64位,高位存放在edx,低位放到eax
计算机组成原理-高级语言与机器级代码之间的对应和常用的的x86汇编指令_第11张图片

关于王道书的解释

x86中不允许两个操作数来自主存,这样保证每条指令不要太多次访问主存,访问太多,执行速度越慢
计算机组成原理-高级语言与机器级代码之间的对应和常用的的x86汇编指令_第12张图片

常见的逻辑运算指令

计算机组成原理-高级语言与机器级代码之间的对应和常用的的x86汇编指令_第13张图片

其他指令

计算机组成原理-高级语言与机器级代码之间的对应和常用的的x86汇编指令_第14张图片

你可能感兴趣的:(王道计算机组成原理考研笔记,汇编)