中山汇编第七集

 

传送指令: mov dst, src
源操作数可以是累加器,寄存器,存储单元以及立即数,而目的操作数可以是累加器,寄存器和存储单元;


注意:源和目的操作数不能同时是段寄存器;代码段寄存器CS不能作为目的;指令指针既不能作为源,也不能作为目的。

      立即数不能直接送到段寄存器;

除了串操作指令外,不能同时是存储器操作数;必须有一个是寄存器

1. mov bx, offset table;
   将table的有效地址(即偏移地址)传给bx,offset是属性操作符;

2. 交换指令
   xchg  oprd1, oprd2
   此指令把操作数OPRD1的内容与OPRD2的内容进行交换;

OPRD1和OPRD2可以是通用寄存器和存储单元。但不包括段寄存器,也不能同时是存储单元,还不能有立即数,
可采用各种存储器寻址方式来指定存储单元。

3. 地址传送指令 8086/8088有如下地址传送指令。
(1) 指令LEA(load Effective Address)
    LEA Reg,OPRD
该指令把操作数OPRD的有效地址传送到操作数Reg。
操作数OPRD必须是一个存储器操作数,操作数Reg必须是一个16位的通用寄存器。

例如:LEA AX, BUFFER

(2) 指令LDS(Load pointer into DS)

 

(3) 指令LES(Load pointer into ES)

 

 

 

 

4. 堆栈操作指令
   堆栈是一段内存区域
称为栈底的一端地址较大(高地址),称为栈顶的一端地址较小(低地址);

堆栈的段值在堆栈段寄存器SS中,堆栈指针寄存器SP始终指向栈顶。
堆栈是以“后进先出”方式工作的一个存储区。
堆栈的存取必须以字为单位。

(1)进栈指令 PUSH
     PUSH SRC
执行的操作:(SP)<=== (SP)-2
因为SP始终指向栈顶,而栈顶又是小地址,因此是减法。
它先把堆栈指针寄存器SP的值减去2,然后把源操作数SRC送入由SP所指的栈顶。
源操作数SRC可以是通用寄存器和段寄存器,也可以是字存储单元。

 

 

(2) 出栈指令POP
格式如下: Pop DST
执行的操作:(SP)  <====(SP)+ 2
该指令从栈顶弹出一个字数据到目的操作数DST.
它先把堆栈指针寄存器SP所指的字数据送至目的的操作数DST,然后SP值加2.
注意:DST可以是通用寄存器和段寄存器(但CS代码段例外),也可以是字存储单元

 

 

 

5. 标志操作指令
(1) LAHF (Load AH with Flags)

(2) SAHF(Store AH into Flags)

 

(3) PUSHF


(4) POPF

 

 

 

6. 标志位操作指令:
标志位操作指令仅对指令规定的标志产生指令规定的影响,对其他标志没有影响。
(1)清进位标志指令CLC(Clear Carry flag)
     该指令使进位标志为0

(2)置进位标志指令STC(Set Carry flag)
     该指令使进位标志为1.

(3)进位标志取反指令CMC(CoMplement carry flag)
     该指令使进位标志取反。如CF为1,则使CF为0;如CF为0,则CF为1.    

 


(4)清方向标志指令CLD(Clear Direction flag)
     该指令使方向标志DF为0,从而在执行串操作指令时,使地址按递增方式变化。

(5)置方向标志指令STD(Set Direction flag)
     该指令使方向标志DF为1.从而在执行串操作指令时,使地址按递减方式变化

(6)  清中断允许标志指令CLI(Clear Interrupt enable flag)
     该指令使中断允许标志IF为0,于是CPU就不响应来自外部装置的可屏蔽中断。但对不可屏蔽中断和内部中断都没有影响
         
 (7) 置中断允许标志指令STI(Set Interrupt enable flag)
     该指令使中断允许标志IF为1,于是CPU就可以响应可屏蔽中断。
         

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值