汇编语言的组成

汇编语言有3类指令组成。

CPU 对存储器的读写

cpu 需对外部器件进行下面3类信息交互。

各类存储器芯片

随机存储器(RAM):可读可写,必须带点存储,断电内容丢失。

只读存储器(ROM):只读不写。

1

内存地址空间

这里以8086PC机内存地址空间分配为例

2

这幅图意思是从地址0 9FFFF的内存单元中读取数据,实际上是读取主随机存储器中的数据;向地址A0000 BFFFF的内存单元中写数据,就是向显存中写数据,这些数据会被显卡输出到显示器上;我们向地址C0000 BFFFF 的内存单元中写数据的操作是无效的,因为这等于改写只读存储器中的内容。

8086CPU给出物理地址方法

物理地址=段地址*16+偏移地址

基础地址=段地址*16

物理地址=基础地址+偏移地址

8086CPU读取信息位置=CS*16+IP

关于栈的特性没有比这个更形象了。

3

4

栈是人为定义的,不是CPU自然存在的内存,我们可以通过定义SS、SP的值来定义栈的范围。

CPU关于栈的机制

入栈命令:push ax(将ax表示的数据送入栈中)

出栈命令:pop ax(将栈顶的数据送入ax中)

CPU中SS、SP提供栈的机制:

栈顶超界

5

6

7

栈顶超界是很危险的,他会毁坏其他数据,因此在编程是要小心,不要超出栈的范围。

寻址方式

数据长度

在有寄存器名字时,看寄存器名字。

在没有寄存起名字时 用word ptr表示字(16位)单元,用byte ptr表示字节(8位)单元。

push pop只进行字操作。

❤️ 转载文章请注明出处,谢谢!❤️