第三章 寄存器(内存访问)

cpu中,用16位寄存器来存储一个字,高8位存放高位字节,低8位存放低位字节。例如:数据20000(4E20 H)在内存中存放的方式为

低-------->       20 H      栈顶            

高-------->       4E H      栈底

 

 

cpu要读写一个内存的时候,必须先给出这个内存单元的地址,同样是由段地址和偏移地址组成。这个是靠DS寄存器,它用来存放段地址。

mov bx,1000H

mov ds,bx  (这里只能将寄存器里的数据传送到ds寄存器,不能写成mov  ds,1000H)

mov al,[0]

是将10000H(1000:0)中的数据读到al中

 

 

sub指令:

跟add指令一样,都有两个操作对象,有以下几种形式:

sub  寄存器,数据                     sub  ax,9

sub  寄存器,寄存器                  sub  ax,bx

sub  寄存器,内存单元               sub  ax,[0]

sub  内存单元,寄存器               sub  [0],ax

 

 

 cpu提供入栈和出栈的指令,最基本的两个是 PUSH 和 POP 。

我们可以将某段内存当作栈来使用,这就需要首先确定栈顶的地址,同样是靠“段地址和偏移地址”的方法,对应两个寄存器:段寄存器SS和寄存器SP,任意时刻SS:SP指向栈顶元素。

push ax   表示将ax中的内容存入栈中,它由以下两步完成:

(1)SP=SP-2

(2)将ax中的内容送入SS:SP指向的内存单元处

 

 

pop  ax   表示从顶底取出数据送入ax中,它由以下两步完成:

(1)将SS:SP指向的内存单元处的数据送入ax中

(2)SP=SP+2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值