第三章,寄存器

第三章,内存访问

一,字数据在内存中的存储

1, 内存以字节为单位,划分为若干个单元。字节:8bit,字:16bit,双字:32bit,四字:64bit

2, 字数据的存储的原则为:高-高-低-低,字数据的低位字节存放于低地址内存单元,字数据的高位字节存放于高地址的内存单元。取低地址内存单元地址作为字数据地址。

例子:

二,数据在内存和cpu之间的传送

1,DS:数据段段寄存器,用于存放数据段的段地址。在mov,add,sub等汇编指令中,访问内存单元时,默认情况下,指的是数据段。Mov ax,[1];ax   ((ds)*16+1)

三,汇编指令mov,add,sub

1,                                                                                                  范例:

2,                                                                                                  Mov指令:

 

3,                                                                                                  mov指令注意:两个操作数要一致

关于常数,又名立即数,不可做为第一个操作数(目的操作数)。作第二个操作数时,若最高位进制的a~f,前面要加0

 

两个内存单元之间不可直接传送数据:如mov[1],[2].不可用mov指令修改cs,ip的值。

4,                                                                                                  add指令

add指令的操作数不能同时是内存单元:add [1],[2];add指令的操作数不能是段寄存器

5,                                                                                                  sub指令

注意:两个内存单元不可直接用sub指令相减

 

Sub指令的操作数不能是段寄存器

四,栈

1, 栈是逻辑上的概念,可以将一段内存空间当栈使用。特点:后进先出。

2, 8086中栈以字为存取单位

3, 栈顶:最后入栈的字数据所对应的地址单元,栈底:固定的一端,栈区最高地址单元前的一个单元

4, Ss:栈段段寄存器,存放栈段的段地址;sp:栈指针寄存器,存放栈顶的偏移地址

(ss)*16+(sp)  栈顶的物理地址

5, 栈的操作指令:push,pop

6,于8086cpu而言,push,pop操作,入栈出栈均已字为单元,操作对象不能常数,pop段寄存器中,段寄存器不能是cs,ss

猜你喜欢

转载自www.cnblogs.com/daishangjing/p/9826163.html
今日推荐