`

中山汇编第七集

阅读更多

 

传送指令: 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就可以响应可屏蔽中断。
         

 

分享到:
评论

相关推荐

    中山大学汇编语言教程

    《中山大学汇编语言教程》是一份针对编程初学者及进阶者的宝贵资源,主要讲解了汇编语言的基础知识和高级技巧。汇编语言是一种低级编程语言,它与计算机硬件紧密相连,允许程序员直接控制计算机的硬件资源,因此在...

    汇编语言中山大学本科教学课件

    - 指令集:不同的处理器有不同的指令集,如Intel x86或ARM架构,汇编语言根据这些指令集编写。 - 寻址模式:如何访问内存中的数据,如立即寻址、直接寻址、间接寻址等。 2. **汇编语言语法** - 汇编程序由指令、...

    中山大学汇编语言

    中山大学的汇编语言视频教程是一系列专门为初学者设计的教学资源,旨在帮助学习者掌握汇编语言的基础知识和技能。汇编语言是一种低级编程语言,它与机器语言紧密相关,是计算机硬件能够直接理解的语言。这个教程由...

    中山大学的汇编教程

    《中山大学汇编教程》是一门深入探讨计算机底层语言的课程,总计68学时,分为51个课时,由中山大学的专家教授精心设计并讲授。这门课程旨在帮助学生掌握汇编语言的基本概念、语法和应用,从而能够理解和编写高效的...

    中山大学汇编语言教程(共51集).rar

    《中山大学汇编语言教程》是一套全面而深入的学习资源,涵盖了汇编语言的基础到高级应用,共计51集。汇编语言是计算机科学中的一个重要分支,它是一种低级编程语言,与机器语言密切相关,是程序员与硬件进行直接交流...

    中山大学汇编语言教程(共51集)

    中山大学汇编语言教程 (共51集) 汇编

    中山大学汇编语言教程下载

    中山大学汇编语言教程下载 中山大学汇编语言教程下载

    汇编语言(中山大学)视频教程链接

    汇编语言(中山大学)视频教程链接汇编语言(中山大学)视频教程链接汇编语言(中山大学)视频教程链接汇编语言(中山大学)视频教程链接

    基础知识 中山大学汇编语言教程01

    ### 基础知识:中山大学汇编语言教程01 #### 概述 本教程主要介绍了中山大学汇编语言的基础知识,对于初学者来说是非常有用的资料。在本章节中,我们将深入探讨数字系统的基本概念,包括不同进制之间的转换方法、二...

    中山大学汇编语言教程(共51集)bt种子

    中山大学提供的汇编语言教程包含了51集的内容,这是一个深入学习和掌握汇编语言的绝佳资源。 汇编语言,也被称为汇编程序或符号语言,是一种低级编程语言,每条指令直接对应于计算机硬件能够理解和执行的机器码。它...

    汇编语言视频教程种子

    汇编语言是让你更加系统地了解计算机原理啊的语言,这是一个视频教程的种子

    中山大学汇编语言视频教程

    汇编语言视频教程 种子 52集全。个人认为比较好的视频教程!

    中山大学汇编语言教程(共51集).torrent

    中山大学汇编语言教程(共51集).torrent 迅雷种子,点击即可下载!画面清晰,声音洪亮,很适合学习。

    中山大学汇编语言教程全51讲

    综上所述,这套《中山大学汇编语言教程全51讲》应该会按照上述的学习路径逐步展开,从基础知识到进阶技巧,再到实际应用,为学习者提供全面而系统的指导。这对于希望深入了解计算机底层原理或有意向从事系统级编程...

    中山大学汇编语言教程下载链接(支持迅雷)

    7. **汇编与高级语言的交互**:了解如何在汇编程序中调用C/C++等高级语言的函数,或者在高级语言程序中嵌入汇编代码。 8. **汇编程序的调试**:学习使用调试工具如OllyDbg或Debug,理解汇编程序的运行过程,定位和...

    哈工大、中山大学计算机汇编语言课件

    7. **链接与装载**:解释汇编源代码如何转换为可执行文件,以及链接器和装载器的作用。 8. **实模式与保护模式**:对比分析两种不同的处理器工作模式,了解内存管理和权限控制。 9. **汇编与C/C++混合编程**:展示...

    基础知识(中山大学汇编语言教程03

    ### 基础知识:中山大学汇编语言教程03 #### 概述 本教程主要介绍了8086/8088处理器的基础知识及其寻址方式等内容,旨在为学习者提供一个全面且深入的理解8086/8088架构的机会。 #### 8086/8088处理器概述 8086/...

Global site tag (gtag.js) - Google Analytics