分享

汇编语言 学习小结(一)

 孤独一兵 2016-11-04

世间充斥着各种喧嚣,“珍爱生命,快用python”,“php是世界上最好的语言~”...

有些人仍然坚信,“不会汇编的码农,不是一个好的程序猿!”

汇编语言 学习小结(一)

不闹,言回正传,上干货 ^-^

1.每个CPU芯片都有许多管脚,这些管脚和总线相连。也就是说,这些管脚引出总线。一个cup可以引出3种总线的宽度标志了这个cup的不同方面的性能:

地址总线的宽度决定了CPU的寻址能力;

数据总线的宽度决定了CPU与其他器件进行数据传送时一次数据的传送量;

控制总线的宽度决定了CPU对系统中其他器件的控制能力。

2.CPU对外部设备都不能直接控制,如显示器、音箱、打印机等。直接控制这些设备进行工作的是插在扩展槽上的接口卡。CPU通过总线向接口卡发送命令,接口卡根据CPU的命令控制外设进行工作。

3.存储器从功能和连接上分为:

随机存储器:用于存放CPU的绝大部分程序和数据;

装有BIOS的ROM:用于存储设备的基本输入输出系统;

接口卡上的RAM:接口卡需要对大批量输入、输出数据进行暂存时使用,如显存。

CPU在操作它们的时候,把它们都当做内存来对待,把它们总的看做一个由若干存储单元组成的逻辑存储器,这个逻辑存储器就是我们所说的内存地址空间。

4.在8086机中,任意时刻,CPU将CS:IP指向的内容当做指令执行,在加电或复位后CS和IP被设置为CS=FFFFH,IP=0000H,即FFFF0H单元的指令是8086pc机开机后执行的第一条指令。

5.8086CPU中有一个DS寄存器,通常用来存放要访问数据的段地址,8086不支持将数据直接送入段寄存器,只能有一个寄存器来进行中转。

6.8086CPU提供入栈和出栈指令,入栈和出栈操作都是以字为单位进行的,栈地址为SS:SP

7.可执行文件由描述信息和程序组成,程序来自于源程序中的汇编指令和定义的数据;描述信息则主要是编译、连接程序对源程序中伪指令进行处理做得到的信息。如CPU从何处开始执行程序,只要在源程序中用“end 标号”指明就可以了。

7.寄存器:

reg包含:ax,bx,cx,dx,ah,al,bh,bl,ch,cl,dh,dl,sp,bp,si,di

sreg包含:ds,ss,cs,es

关于bx,si,di和bp:

只有这四个寄存器可以用于[]中进行内存单元的寻址

只要使用寄存器bp,且没有显性给出段地址,段地址默认在ss中

8.绝大多数机器指令都是进行数据处理的指令,处理大致分为:读取、写入、运算。所要处理的数据可以在三个地方:cpu 内部(寄存器)、内存、端口。汇编语言用三个概念来表达数据的位置:立即数、寄存器、段地址+偏移地址。

9.史上最全寻址方式总结:

汇编语言 学习小结(一)

以上是最近学习的一些要点总结,精彩持续更新中,不喜可喷哦~

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多