第三章 8086的指令系统
- 格式:ppt
- 大小:642.50 KB
- 文档页数:89


汇编语言复习辅导
第三章 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 ;过程结束
单片机原理及接口技术习题及答案 苏州经贸职业技术学院 1
第2部分 指令系统
1、简述下列基本概念:指令、指令系统、机器语言、汇编语言、高级语言。
答:指令:CPU根据人的意图来执行某种操作的命令。
指令系统:一台计算机所能执行的全部指令指令集合。
机器语言:机器语言是用二进制代码0和1表示指令和数据的最原始的程序设计语言。
汇编语言:在汇编语言中,指令用助记符表示,地址、操作数可用标号、符号地址及字符等形式来描述。
高级语言:高级语言是接近于人的自然语言,面向过程而独立于机器的通用语言。
2、什么是计算机指令和指令系统?
答:指令:CPU根据人的意图来执行某种操作的命令。
指令系统:一台计算机所能执行的全部指令指令集合。
3、简述89C51汇编指令格式。
答:操作码 [目的操纵数],[原操作数]
4、简述89C51的寻址方式和所能涉及的空间。
答:立即数寻址:程序存储器ROM。
直接寻址:片内RAM低128B和特殊功能寄存器。
寄存器寻址:R0~R7,A,B,C,DPTR。
寄存器间接寻址:片内RAM低128B,片外RAM。
变址寻址:程序存储器64KB。
相对寻址:程序存储器256KB范围。
位寻址:片内RAM的20H~2FH字节地址,部分特殊功能寄存器。
5、要访问特殊功能寄存器和片外数据存储器,应采用哪些寻址方式?
答:SFR:直接寻址,外寻址;片外RAM:寄存器间接寻址。
6、在89C51片内RAM中,已知(30H)=38H,(38H)=40H,(40H)=48H,(48H)=90H。请分析下面是什么指令,说明原操作数的寻址方式及按顺序执行后的结果。
答; MOV A,40H 直接寻址
MOV R0,A 寄存器寻址
MOV P1,#0F0H 立即数寻址
1 / 9 第二章 8086 体系结构与 80x86CPU
1.8086CPU 由哪两部份构成?它们的主要功能是什么?
答: 8086CPU 由两部份组成:指令执行部件和总线接 口部件。指令执行部件〔EU 主要由算术逻辑运算单 元、标志寄存器 FR、通用寄存器组和 EU 控制器等 4 个部件组成,其主要功 能是执行指令。总线接口部件主要由地址加法器、专用寄存器组、指令队 列和总线控制电路等 4 个部件组成,其主要功能是形成访问存储器的物理地址、 访问存储器并取指令暂存到指令队列中等待执行,访问存储器或者 I/O 端口读取
操作数参加 EU 运算或者存放运算结果等。
2.8086CPU 预取指令队列有什么好处? 8086CPU 内部的并行操作体现在哪
里?答: 8086CPU 的预取指令队列由 6 个字节组成,按照 8086CPU 的设计要求, 指令执行部件〔EU 在执行指令时,不是直接通过访问存储器取指令,而是从指令 队列中取得指令代码,并分析执行它。从速度上看,该指令队列是在 CPU 内部,EU 从指令队列中获得指令的速度会远远超过直接从内存中读取指令。8086CPU 内部
的并行操作体现在指令执行的同时,待执行的指令也同时从内存中读取,并送到
指令队列。
5.简述 8086 系统中物理地址的形成过程。8086 系统中的物理地址最多有 多少个?逻辑地址呢?答: 8086 系统中的物理地址是由 20 根地址总线形成的。
8086 系统采用分段并附以地址偏移量办法形成 20 位的物理地址。采用分段结构
的存储器中,任何一个逻辑地址都由段基址和偏移地址两部份构成,都是 16 位二
进制数。通过一个 20 位的地址加法器将这两个地址相加形成物理地址。 具体做
法是 16 位的段基址左移 4 位,然后与偏移 地址相加获得物理地址。由于 8086CPU 的地址线是 20 根,所以可寻址的存储空 间为
8086指令系统之算术运算类指令
2007-04-17 07:51
1 加法指令
1.1 加法指令ADD
ADD reg,imm/reg/mem ;reg←reg+imm/reg/mem ADD mem,imm/reg ;mem←mem+imm/reg
例2.17a:加法运算
mov al,0fbh ;al=0fbh
add al,07h ;al=02h
mov word ptr[200h],4652h ;[200h]=4652h
mov bx,1feh ;bx=1feh
add al,bl ;al=00h
add word ptr[bx+2],0f0f0h ;[200h]=3742h
ADD指令按照状态标志的定义相应设置这些标志的0或1状态。例如在07+FBH→02H运算后:标志为OF=0、SF=0、ZF=0、AF=1、PF=0、CF=1;用调试程序单步执行后,上述标志状态依次为NV、PL、NZ、AC、PO、CY。
同样进行4652h+f0f0h→3742H运算后,标志为OF=0、SF=0、ZF=0、AF=0、PF=1、CF=1;调试程序依次显示为NV、PL、NZ、NA、PE、CY。注意,PF仅反映低8位中“1”的个数,AF只反映D3对D4位是否有进位。
1.2
带进位加法指令ADC
ADC reg,imm/reg/mem ;reg←reg+imm/reg/mem+CF ADC mem,imm/reg ;mem←mem+imm/reg+CF
ADC指令除完成ADD加法运算外,还要加进位CF,其用法及对状态标志的影响也与ADD指令一样。ADC指令主要用于与ADD指令相结合实现多精度数相加。