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

\quad

一. 汇编语言的基础知识

\quad

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

X86就是能被能够被以86结尾的CPU(如8086,80286,80386)支持的汇编语言指令

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

先对这些寄存器有个印象就可以

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在X86里面一个字就表示16bit

\quad

二. 常用的X86汇编指令

\quad

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
只有可能来源于寄存器或主存不可能来源于常量
只有寄存器或主存才能存放结果

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

被除数是被提前放在edx和eax中,是隐含寻址

在这里插入图片描述
要先把32bit的被除数扩展为64位的然后再除以除数, 我们说以E开头的为32位所以,64bit要用两个寄存器

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
\quad

三. AT&T格式和Intel格式

\quad

在这里插入图片描述

两种格式的汇编语言
我们熟悉的是Intel格式

在这里插入图片描述
往年的408都是考察intel格式的, 所以重点还是之前的知识

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
byte代表8bit
word 代表16bit
Dword 代表 32bit

只给地址没有指明读写长度, 默认为32bit

在这里插入图片描述

在这里插入图片描述
\quad

四. 选择语句的机器级表示

\quad
在这里插入图片描述
所以题目中说IP程序计数器也就是PC程序计数器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
程序员必须知道指令8执行完之后数据会被放到什么位置
为了解决这个问题

在这里插入图片描述
在这里插入图片描述

右边的方式比左边灵活的多

在这里插入图片描述
在这里插入图片描述

这种方式并不能满足if分支结构

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

\quad

五. 循环语句机器级表示

\quad

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
规定了只能用ecx作为循环计数器
在这里插入图片描述

在这里插入图片描述

能够结合C语言来分析汇编语言就可以了

  • 11
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值