第三章 寻址方式和汇编指令.
- 格式:ppt
- 大小:1.81 MB
- 文档页数:42


汇编语言复习辅导
第三章 8086指令系统和寻址方式
应掌握编写一个完整的汇编语言程序所必需的知识及其相应概念:
(1)汇编语言程序的格式
(2)常用伪指令(伪操作)
(3)8086寻址方式
(4)8086指令系统
1 汇编语言程序格式. 80x86的逻辑段:堆栈段、数据段、附加段、代码段
(1) 完整段定义 ;- - - - - - - - - - - - - - - - - - - - - - - STSEG SEGMENT ;定义堆栈段 DB 64 DUP(?) STSEG ENDS ;- - - - - - - - - - - - - - - - - - - - - - - DTSEG SEGMENT ;定义数据段 DATA1 DB 36H DATA2 DB 4BH SUM DB ? DTSEG ENDS ;- - - - - - - - - - - - - - - - - - - - - - - CDSEG SEGMENT ;定义
代码段 MAIN PROC FAR ASSUME CS:CDSEG,DS:DTSEG,SS:STSEG START: MOV AX,DTSEG MOV DS,AX ;设置数据段地址
MOV AL,DATA1 ;用户程序 MOV BL,DATA2 ADD AL,BL MOV SUM,AL MOV AH,4CH ;返回DOS INT 21H MAIN ENDP CDSEG ENDS END START ;汇编结束(2) 简化段格式:
·MODEL SMALL ;存储模型
·STACK 100H ;定义堆栈段及大小
·DATA ;定义数据段 VAR1 DB ? ·CODE ;定义代码段
MAIN PROC FAR ;定义过程START: MOV
DX,@DATA ;设置数据段 MOV DS,AX ; 地址
…MOV AX,4COOH ;返回DOS INT 21H MAIN ENDP ;过程结束
交通信息与控制工程系教案(理论教学用)
课程名称 微机原理与接口技术 第 8 次 第 4 周 2 学时
上课教室 WM1310 课程类型 专业基础课 授课对象 自动化专业
章节名称 第三章 寻址方式和指令系统(3.3)
教学目的
和要求 1. 掌握8086的基本指令,如逻辑运算和移位指令、串操作指令、程序控制指令等。
讲 授
主要内容及时间分配 1. 逻辑运算和移位指令;(35min)
2. 串操作指令;(20min)
3. 程序控制指令;(25min)
4. 处理器控制指令。(10min)
教学重点
与难点 重点:
1.逻辑运算和移位指令的基本功能和格式;
2.串操作指令的基本功能和格式;
3.程序控制指令的基本功能和格式。
难点:
逻辑运算和移位指令的基本功能和格式。
要求掌握知识点和分析方法 1.逻辑运算和移位指令的格式、功能及应用方法;
2.串操作指令的格式、功能及应用方法;
3.程序控制指令的格式、功能及应用方法。
启发与提问 1.逻辑移位和算术移位指令的区别?
教学手段 多媒体+板书
作业布置 思考题:
1.远跳转和近跳转的区别?
3.2, 3.5
3.9, 3.11
3.12, 3.14
主 要
参考资料
备注
注:教案按授课次数填写,每次授课均应填写一份。重复班授课可不另填写教案。 长安大学讲稿(第八讲)
讲 授 内 容
三、逻辑运算和移位类
1.逻辑运算
逻辑运算指令对操作数的要求大多与MOV指令相同。
逻辑运算是按位操作的,它包括AND(与)、OR (或)、NOT(非)、XOR(异或)和TEST(测试)指令。
除“非”运算指令外,其余指令的执行都会使标志位OF=CF=0,AF位无定义,SF、ZF和PF根据运算结果设置。
“与”运算指令
格式: AND OPRD1,OPRD2
操作: 两操作数相“与”,结果送目标地址。
【例】 要屏蔽AL中的高4位。
第六章 DSP的寻址方式和汇编指令
当硬件执行指令时,寻找指令所指定的参与运算飞操作数的方式——寻址方式。根据程序的要求采用不同的寻址方式,可以有效地缩短程序的运行时间和提高代码执行效率。汇编指令是可执行指令,每一条指令对应一条机器码,用来控制处理器仲的执行部分进行各种操作。在本章节当中将主要以基于C28x的DSP芯片为例,为读者讲解DSP的寻址方式和汇编指令系统,其中大部分内容也可适用于其他Ti公司的DSP产品。
6.1汇编语言指令集概述
在学习C28x系列DSP的寻址方式和汇编指令指令之前,先来对一些基础的知识进行讲解一下先,在汇编程序当中开发人员会常常使用到许多的特殊符号和标志,它们都具有特殊的含义,在学习汇编之前读者们必须先理解这些符号和标志含义,在这里会对其中最常用最重要的操作数符号和寄存器经行详细说明。
在进行汇编讲解之前先来了解一下开发的核心——CPU。在TMS320C2000系列中,CPU内核为:
C20x/C24x/C240x:C2xLP:
C27x/C28x:C27x、C28x
这些CPU的硬件结构有一定差别,指令集也不相同,但是,在C28x芯片中可以通过选择兼容特性模式,使C28xCPU与C27xCPU及C2xLPCPU具有最佳兼容性。可通过状寄存器STl的位OBJMODE和位AMODE的组合,选定模式。
C28x芯片具有3种操作模式:
1. C28x模式:在该模式中,用户可以使用C28x的所有有效特性、寻址方式和指令系统,因此,一般应使C28x芯片工作于该种模式。
2. C27x目标——兼容模式:在复位时,C28x的CPU处于C27x目标-兼容模式。在该模式下,目标码与C27xCPU完全兼容,且它的循环—计数也与C27xCPU兼容。
3. C2xLP源——兼容模式:该模式允许用户运行C2xLP的源代码,这些源代码是用C28x代码生成工具编译生成的。
寻址⽅式和指令系统
《微机原理》复习思考题第3章 8086的寻址⽅式和指令系统3.1 8086汇编语⾔指令的寻址⽅式有哪⼏类?⽤哪⼀种寻址⽅式的指令执⾏速度最快?
3.2 直接寻址⽅式中,⼀般只指出操作数的偏移地址,那么,段地址如何确定?如果要⽤某个段
寄存器指出段地址,指令中应如何表⽰?3.3 在寄存器间接寻址⽅式中,如果指令中没有具体指明段寄存器,那么,段地址如何确定?
3.4 ⽤寄存器间接寻址⽅式时,BX,BP,SI,DI分别针对什么情况来使⽤?这四个寄存器组合
间接寻址时,地址是怎样计算的?举例进⾏说明。3.5 设DS=2100H,SS=5200H,BX=1400H,BP=6200H,说明下⾯两条指令所进⾏的具体操作:
MOV BYTE PTR [BP], 2000
MOV WORD PTR [BX], 2000
3.6 使⽤堆栈操作指令时要注意什么问题?传送指令和交换指令在涉及内容操作数时分别要注
意什么问题?3.7 下⾯这些指令中哪些是正确的?哪些是错误的?如果是错误的,请说明原因。
XCHG CS, AX
MOV [BX], [1000]
XCHG BX, IP
PUSH CS
POP CS
IN BX, DX
MOV BYTE[BX], 1000
MOV CS, [1000]
3.8 8086系统中,当对SS和SP寄存器的值进⾏修改时,有什么特殊规定?这样做的原因是什么?[解答] 凡是遇到给SS寄存器赋值的传送指令时,系统会⾃动禁⽌外部中断,等到本条指令和下条指令执⾏之后,⼜⾃动恢复对SS寄存器赋值前的中断开放情况。这样做是为了允许程序员连续⽤两条指令分别对SS和SP寄存器赋值,同时⼜防⽌堆栈空间变动过程中出现中断。3.9 以下是格雷码的编码表
0——0000 1——0001 2——0011 3——0010 4——0110
5——0111 6——0101 7——0100 8——1100 9——1101
请⽤换码指令和其他指令设计⼀个程序段,实现格雷码往ASCII的转换。3.10 ⽤加法指令设计⼀个简单程序,实现两个16位⼗进制数的加法,结果放在被加数单元。