微机原理与接口技术_第3章_sy

合集下载

微机原理与接口技术 第三章 课后答案

微机原理与接口技术 第三章 课后答案

第三章参考答案1.按照题目中提出的要求,写出能达到要求的一条(或几条)汇编形式的指令:⑴将一个立即数送入寄存器BX;⑵将一个立即数送入段寄存器DS;⑶将变址寄存器DI的内容送入一个存储单元中;⑷从存储单元中取一个数送到段寄存器ES中;⑸将立即数0ABH与AL相加,结果送回AL中;⑹把BX与CX寄存器内容相加,结果送入BX;⑺用寄存器间接寻址方式,实现一个立即数与存储单元内容相加,结果放回存储器。

解:(1)MOV BX, 1234H(2)MOV AX, 1234HMOV DS, AX(3)MOV [BX], DI(4)MOV ES,[BX](5)ADD AL,0ABH(6)ADD BX,CX(7)MOV AX,[BX]ADD AX,1234HMOV [BX],AX2.执行下面程序,完成指令后的填空:MOV AX,2000H ;AH= 20HMOV DS,AX ;AL= 00H DS= 2000HMOV SS,AX ;SS= 2000H AX= 2000HMOV BX,2030H ;BH= 20H BL= 30HMOV SI,BX ;SI= 2030HMOV DI,3040H ;DI= 3040HMOV SI,DI ;SI= 3040HMOV SP,50FFH ;SP= 50FFHMOV DX,SP ;DH= 50H DL= FFHMOV CL,25 ;CL= 19HMOV BL,CL ;CL= 19H BL= 19HMOV AH,0F0H ;AH= F0HMOV CH,AH ;CH= F0HMOV BYTE PTR[DI],64 ;(DI)= 40HMOV WORD PTR[SI],256 ;(SI)= 00H (SI+1)= 01HMOV DL,[SI+1] ;DL= 01HMOV DH,1+[SI] ;DH= 00HMOV AL,1[SI] ;AL= 01HMOV WORD PTR[BX][SI],34 ;(BX+SI)= 22H (BX+SI+1)= 00HMOV [BX+SI+4],BL ;(BX+SI+4)= 19HMOV BP,2[BX+DI] ;BP= 00HMOV [BP],AL ;(BP)= 01HMOV AX,[BP][DI] ;AX= 0100HMOV BL,AL ;BL= 00HMOV ES,BX ;ES= 2000HPUSH BX ;SP= 50FDH (SP,SP+1)= 2000HPUSH DI ;SP= 50FBH (SP,SP+1)= F019HPOP CX ;SP= 50FDH CX= 3040HPOP DX ;SP= 50FFH DX= 2000HXCHG AX,BP ;AX= 0000H BP= 0100HXCHG DH,BL ;DH= 00H BL= 20HLAHF ;FLAG= 0002H AH= 02HSAHF ;FLAG= 0002H AH= 02HPUSHF ;SP= 50FDH (SP,SP+1)= 0002HPOPF ;SP= 50FFH FLAG= 0002H3.设DS=2000H,ES=2100H,SS=1500H,SI=00A0H。

微机原理与接口技术 张颖超 叶彦斐 第3章 习题答案

微机原理与接口技术 张颖超 叶彦斐 第3章 习题答案
MOVAL, CL
MULCL
MOVCX, AX
MOVAL, CL
MOVAH, 0
MULCX
13.假设DX:AX中存放一个双字的数据:
NEG DX
NEG AX
SBB DX,0
请问:
(1)上述程序段完成什么功能?
(2)设执行前,DX=0001H,AX=FFFFH,上述程序段执行后,DX、AX的值是什么?
(1)清累加器AX;
(2)清进位标志位
(3)将累加器内容乘以2(不考虑溢出)
(4)将累加器内容除以2(不考虑余数)
答:
(1) a.XORAX, AX
b.SUBAX, AX
c.ANDAX,0
d.MOVAX,0
(2) a.SUBAX, AX
b.ANDAX, AX
c.ORAX, AX
d.XORAX, AX
(7)检查BX中的第2、6、10和12位是否同时为0。
答:
(1) ANDDL, 0FCH;1111 1100B
(2)ORSI, 0E000H;1110 0000 0000 0000B
(3)ANDAX, 0FFF0H;1111 1111 1111 0000B
ORAX, 0380H; 0000 0011 1000 0000B
(1) IN AL, PORT; AL=
(2) IN AL, 40H;AX=
(3) OUTDX,AL; (DX)=
(4) OUT DX, AX; (DX)=
答:
(1)AL=22H
(2) IN AX, 40H; AX=226EH
(3) OUTDX,AL; (DX)=6EH
(4) OUT DX, AX; (DX)=226EH

《微机原理与接口技术(80386-Pentium)》-第3章80486系统原理

《微机原理与接口技术(80386-Pentium)》-第3章80486系统原理
9
惟一差别是80486又新定义了一个AC 标志位(即标志 寄存器的位18),也就是对准校验标志(Alignment Checkout Flag)。 若AC位为1时,80486就允许对没有对准的数据进行 对准检查,既可以是对字对准进行检查,也可以对双 字甚至四字的对准进行检查。若80486发现在进行存 储器操作时出现没有按边界对准情况,就发生数据访 问异常事故,并把这种异常事故编号为异常事故17。 若AC位为0则不检查。 如果对存储器进行读写操作时,使用的是一个未对准 的地址,80486就允许产生异常事故信号。若AC=1, 若出现了单字存储操作时使用的是奇地址,双字存储 操作使用的不是双字边界内地址,或者在进行四字(8 个字节)存储操作时使用的不是四字边界内地址,就 会出现数据访问不对准异常。
15
图3.4示出80486微处理机CPU的逻辑框图。 图中的Cache部件、8K• 节的统一Cache、 字 以及浮点部件FPU和EP寄存器组在以 80386为基础的系统内属于不同的独立芯 件,并不在80386 CPU芯片之内,而在 80486中这些部件变成了80486 CPU的一 个组成部分。 这两个新集成到80486 CPU内的部件,一 个是浮点部件FPU,它有效地提高了浮点 操作性能;另一个是指令和数据共用的高 速缓冲存储器Cache。
7
3.标志寄存器EFLAGS
80486的标志寄存器是一个32位寄存器,如图3.3所 示。它的作用是用来存放有关80486微处理机的状态 标志信息、控制标志信息以及系统标志信息。 80486的状态标志信息报告的是算术运算类指令在执 行完之后的机器状态。控制标志仅有一个即DF标志, 用来控制串操作过程中执行方向问题,即是给目标变 址寄存器EDI、源变址寄存器EDI、源变址寄存器 ESI 增值还是增负值(减值)问题。系统标志信息用来控 制输入/输出、屏幕中断、调试、任务转换和控制保 护模式与虚拟8086模式间的转换等操作。 对绝大多数系统来说,若通过应用程序改变系统标志 寄存器中的标志状态,都将引起一个异常事故出现。 拿80486的标志寄存器与 80386的标志寄器进行比较 后会发现,二者几乎完全一样。 8

微机原理与接口技术第3章(指令部分)

微机原理与接口技术第3章(指令部分)
第 3 章 指令系统及汇编语言程序设计
例:编程计算 0+1+2+3+4+ -----10 编程计算
MOV AL,0 , MOV BL,1 , MOV CL,10 NEXT:ADD AL,BL , INC BL DEC CL JNZ NEXT ;CL≠0 转 ≠ HLT
1
3.1 概述 一、指令包含的基本内容
12
(3)相对寻址
例: MOV AX, [SI+100H]
;结果 : 结果 AX (DS×16+SI+100H) ×
例:MOV AL,[BP+DATA] MOV AL, DATA[BP] ; DATA是符号表示的位移量。 表示的位移量 是符号表示的位移量。
结果 : AL (SS×16+BP+DATA) ×
11
(2)间接寻址 例:MOV AX,[BX] , •结果 : AX 结果 (DS×16+BX) ×
...
3000H:0000H : • EA= BX /SI /DI , 物理地址=DS*16+EA 物理地址 • EA= BP 物理地址=SS*16+EA 物理地址 :1234H :50H :1235H :30H
1. 做什么操作? 做什么操作? MOV ,ADD, OR,CMP等助记符 等助记符
2. 操作的数据是什么? ①CPU内的寄存器; 操作的数据是什么? 内的寄存器 内的寄存器; 内存的某一个或几个单元 单元; ②内存的某一个或几个单元; 结果放在那里? 3. 结果放在那里? 立即数。 ③立即数。 端口; 端口 ④I/O端口; 下一条指令在哪里? 4. 下一条指令在哪里? IP←IP+1

微机原理与接口技术(第3版)3

微机原理与接口技术(第3版)3

段寄存器 段首址
左移4位 EA
PA 操作数
演示
指令系统
操作数的偏移地址EA按以下公式计算:
BX+SI +rel
EA=
BX+DI +rel BP+SI +rel
BP+DI+rel
用 BX 作基址寄存器,SI 作变址寄存器时。 用 BX 作基址寄存器,DI 作变址寄存器时。 用 BP 作基址寄存器,SI 作变址寄存器时。 用 BP 作基址寄存器,DI 作变址寄存器时。
例如,MOV AX, [BX][SI] 执行前:BX=1000H,SI=200H,DS=2000H,(21200H)=0ABCDH。
目的操作数是AX,源操作数采用基址变址寻址,由于源操作数选用 BX作基址寄存器,所以其物理地址PA由数据段寄存器DS的内容左移 4位与偏移地址EA相加形成。 即:源操作数的 PA=(DS)左移4位+BX+SI=21200H。
堆栈操作指令包括入栈指令PUSH和出栈指令POP。
指令系统
入栈指令PUSH
格式:PUSH OPS 功能:将寄存器,段寄存器或存储器的一个字数据压入
堆栈中。 执行的操作:SP ← SP-2
(SP+1,SP)←OPS 例如,PUSH AX 执行前:AX=0ABCDH,SP=2000H,堆栈情况如图(a)所示: 执行后:(1FFEH)=0ABCDH,AX的内容不变。
操作码

寄存器名 段寄存器
变址值
段首址
rel
位移量
EA
左移4位
操作数
演示
举例说明
指令系统
例如,MOV BX,DAT[DI] 执行前:

微机原理与接口技术第3章 (汇编部分)

微机原理与接口技术第3章 (汇编部分)

BX TABLE 01H
二 汇编语言程序结构
②属性运算符 PTR
BX TABLE
01H
指定存储器操作数的临时属性
例:MOV BYTE PTR[BX],01H
BX+8
02 00
MOV WOR够生成目标代码
指示性语句(伪指令)
•由汇编程序执行的语句
五 汇编语言程序设计基础
例:教材161 例3.39 内存TABLE开始存放着0~15的平方表,查表求任意数X (0≤X≤15)的平方值,并将结果存入RESULT单元中。 分析: BX TABLE 1 、定义数据段 2、代码段 BX 表首地址; AH 0,AL X; BX BX+AX ;形成平方值地址 AL[BX];得到平方值 RESULT AL;存结果 3 , 返回操作系统, MOV AH,4CH DATA INT 21H; RESULT 0 1 4 9 16 25 36 49 64 81
2、END [标号名];汇编结束
M2
03H 04H
标号名为程序的启动地址
四 DOS系统功能调用 4-3
•汇编语言中如何从键盘输入数据? •用INT 21H指令,调用DOS系统功能,功能 号置入AH寄存器中
功能号
功能
从键盘输入字符并显示
• DOS系统内
01H
的各子功能
02H
0AH 4CH
显示字符串
输入字符串 至缓冲区 返回操作系统
三 伪指令
1、数据定义 DATA:0000H M1 定义变量类型及数据区 0002H M2 DATA SEGMENT 段名 M1 DB 1,2 M2 DW 3 DUP( 5) M3 DB ‘ABCD’ DATA ENDS M3

微机原理与接口技术 课后答案龚尚福

微机原理与接口技术 课后答案龚尚福

微机原理与接口技术课后答案龚尚福第一章:计算机基础知识1.什么是计算机?计算机有哪些基本组成部分?–计算机是一种可以按照预定程序自动进行数值和非数值计算的设备。

–计算机的基本组成部分包括中央处理器(CPU)、存储器、输入设备、输出设备和控制器。

2.什么是微型计算机?微型计算机的特点有哪些?–微型计算机是指体积小、价格低廉的小型计算机系统。

–微型计算机的特点包括:体积小、成本低、功耗低、易于携带、可扩展性好等。

3.什么是冯·诺依曼体系结构?它包括哪些基本特点?–冯·诺依曼体系结构是一种计算机的基本设计思想,它将存储器和处理器分开,通过总线进行数据和指令的传输。

–冯·诺依曼体系结构的基本特点包括:存储程序、以二进制表示信息、存储器与处理器分离、由指令控制程序执行的顺序。

第二章:数字电路基础知识1.什么是逻辑门?常用的逻辑门有哪些?–逻辑门是一种用于实现逻辑运算的电路元件,根据输入信号的不同组合产生相应的输出信号。

–常用的逻辑门有与门(AND)、或门(OR)、非门(NOT)、异或门(XOR)等。

2.什么是布尔逻辑运算?常见的布尔逻辑运算有哪些?–布尔逻辑运算是指利用布尔代数进行逻辑运算的方法。

–常见的布尔逻辑运算有与运算(AND)、或运算(OR)、非运算(NOT)等。

3.什么是半加器和全加器?它们的作用是什么?–半加器是一种用于实现二进制数相加的电路,它可以将两个输入信号相加并产生相应的进位和和。

–全加器是一种用于实现三个二进制数相加的电路,它可以将三个输入信号相加并产生相应的进位和和。

第三章:微处理器基础知识1.什么是微处理器?它的功能有哪些?–微处理器是一种集成电路,它由控制单元、算术逻辑单元、寄存器和时钟等功能模块组成,用于执行计算机程序。

–微处理器的功能包括指令译码、执行算术和逻辑运算、读写存储器、控制外部设备等。

2.什么是指令?指令由哪些部分组成?常见的指令有哪些?–指令是微处理器执行操作的基本单位,它们以二进制的形式存储在存储器中。

微机原理与接口技术——第三章.ppt

微机原理与接口技术——第三章.ppt

常数
出现在汇编源程序中的固定值,即其在运行期间不会变化 字符串常数 是由单引号括起来的一串字符。汇编程序把它们表示成一 个字符序列,一个字节对应一个字符,把引号内的字符翻 译成ASCII码 。 ’218’——32H,31H,38H
11
表达式
由操作数和运算符组合的序列,它在汇编时能产生一个值。 算术运算符 +、-、*、/、MOD
SIZE
DATA5
LENGTH DATA9
SIZE
DATA9
;结果为1000H ;结果为0001H ;结果为1 ;结果为1 ;结果为1 ;结果为3 ;结果为3
24
PTR 运算符
合成运算符PTR可以由已存在的存储器操作数声名一个段和 偏移量相同,而类型不同的新的存储器操作数,格式如下:
类型 PTR 表达式
0123H、0456H、0789H、0ABCH
CODE SEGMENT
程序4.1
ASSUME CS:完CO成D4E个数
MOV AX, 0123H
相加
ADD AX, 0456H
ADD AX, 0789H
ADD AX, 0ABCH
MOV AX, 4C00H
INT 21H
CODE ENDS
END
32
顺序程序设计
2
常数与表达式
3
标识符
4
数据定义
5
与数据相关的操作符
6
符号定义
9
常数
出现在汇编源程序中的固定值,即其在运行期间不会变化
数值常数
按其基数的不同,可以有二进制(B)、八进制(O)、十进 制(D)、十六进制数(H)等不同的表示形式
00101100B 1234D 1234 255O 56H 0BA12H

微机原理与接口技术__机械工业出版社_第三章~第六章_部分知识点总结

微机原理与接口技术__机械工业出版社_第三章~第六章_部分知识点总结

⏹指令格式⏹寻址方式=-隐含寻址方式+数据型操作数寻址方式+目标地址寻址方式目标地址寻址方式=直接程序寻址+相对程序寻址+间接程序寻址直接 E.g. :JMP 1000H: A000H;数据传送指令算数运算类指令逻辑运算类指令位移类指令串操作指令转移类指令复印;153页表4-3 4-4 4-5 237页6-12 6-13 6-14处理器类指令⏹指令语句——[标号:] [前缀] 助记符[操作数] [;注释]⏹伪指令——[名字] 伪指令[操作数] [;注释]种类:1)处理器方式伪指令语句;2)模式定义~;3)段定义~;4)数据定义~;5)符号定义~;6)类型定义~;7)过程定义~;8)模块定义~;9)宏处理~;10)条件~;11)列表~;12)其他~。

⏹宏指令——名字MARCO ■标识符组成规则:1)字符个数为1~31个;2)第一个字符必须是字母、“?”、“@”、“_”. ;宏体3)第二个字符以后可以是字母、数字、“?”、“@”、“_”;4)不能使用系统专用的助记符、ENDM 伪指令、寄存器名等;5)三种属性:段属性;偏移量属性;类型属性。

⏹操作数常熟(B、Q、D、H),变量,标号,结构,记录,寄存器,表达式【算数运算符(+、-、*、/、MOD)、逻辑运算符(AND、OR、XOP、NOT)、关系运算符(EQ =、NE ≠、LT <、GT >、LE ≤、GE ≥)、分析运算符(SEG 段基值、OFFSET 偏移量、TYPE 类型值『B为1,W为2 ,DW为4,NEAR为-1,FAR为-2』、LENGTH、SIZE)、合成运算符(PTR 储存单元类型、THIS指出的类型属性赋值给当前存储单元,SHORT 指定一个标号的类型为短标号)、其他运算符(“[ ]”表示存储器的偏移地址、“:”指定段属性、HIGH、LOW)。

⏹模式定义伪指令格式:.MODLE 存储模式类型:TINY, SMALL, COMPACT, MEDIUM, LARGE, HUGE, FLAT\(PS:前六种在DOS下,第一种只能在DOS下,FLAT只能在Windows 9X等32位系统环境下。

微机原理汇编与接口技术第3章

微机原理汇编与接口技术第3章

“除10取余”法
; 将8位二进制数扩展为16位 ; 商→AL,余数→AH(个位数) ;个位暂存 ; 商→AL,余数→AH(十位数) ; BCD数十位与个位合并 ; AH中余数为BCD数百位 ;BCD数十位与个位送AL
11
如,用除10取余法将8位二进制数FFH转换为BCD数 255H的二进制运算如下图所示
13
3.1.1 乘除法指令
格式:CBW ; AL的最高位扩展至AH CWD ; AX的最高位扩展至DX CWDE ;AX的最高位扩展至EAX的高16位 CDQ ;EAX的最高位扩展至EDX

指令都隐含操作数

在做8位除以8位、16位除以16位、 32位除以
32位的符号整数除法之前,应先扩展AL或AX或 EAX中的被除数。
例3.3字变量W和字节变量B分别存放着两个非压缩BCD数,编 写求两数之积,并将它存储到JJ字节变量中的程序。 程序段如下: W DW 0307H B DB 9 JJ DB 3 DUP(0) MOV AL,BYTE PTR W ;AL=07H MUL B ;AX=003FH AAM ;AX=0603H MOV WORD PTR JJ,AX MOV AL,BYTE PTR W+1 ;AL=03H MUL B ;AX=001BH AAM ;AX=0207H ADD AL,JJ+1 ;07H+06H=0DH, 即AL=0DH AAA ;进位直接加入AH!AX=0303H MOV WORD PTR JJ+1,AX
26
3.1.2 BCD数调整指令
(2)除法调整 格式: AAD 功能:将AX中的两位非压缩BCD数变换成二进制数集 中放在AL中。 如: 注: 此指令可对被除数进行预 MOV AX,0906H MOV DL,06H 调整 ;AX=0060H 加、减和乘法调整在相应 AAD DIV DL ;AL=10H,AH=0 运算操作之后进行,而除 MOV DL,AH ;存余数 法的调整在除法操作之前 AAM ;AX=0106H 进行 27

微机原理与接口技术-第3章-41

微机原理与接口技术-第3章-41

用来取代IP中的当前值。该寄存器或存储器单元可由数据寻址方式中
除立即数之外的任何一种方式得到。其示意如图3-14所示。
指令 数据寻址方式
寄存器
根据数据寻址方式 计算 EA 值
转移有效地址

IP
转移有效地址 取其中之一
存储器
图图3-41.144 段内间接寻址示意图
段内间接寻址的特点是CS的值不变,IP的值由16位寄存器或存储器
指令 寄存器
寄存器 EA
段寄存器 段地址
左移 4 位
+
存储器 操作数
图34-.66 寄存器间接寻址示意图
例如指令: MOV AX,[BX] 设(DS)=3000H,(BX)=3000H,执行后(AX)=2C7DH,操作示
意图如图3-7所示。 又如指令:MOV AX,ES:[SI];段寄存器为ES,数据在附加段中。
第3章 指令系统与汇编语言程序设计
3.1 概述 3.2 8086寻址方式 3.3 8086指令系统 3.4 汇编语言程序格式与常用伪指令 3.5 汇编语言程序设计 3.6 汇编语言程序上机过程
3.1 概述
3.1.1 指令与程序 3.1.2 汇编语言基本概念
3.1.1指令与程序
所谓指令,就是指示计算机进行某一工作的命令,而程序是为求 解某一问题或进行某项工作的若干条指令的有序集合。指令如图3-1 所示。一台计算机全部指令的集合称为指令系统。操作码域说明指令 的类型与功能,操作数域也称为地址域,说明数据在存储器中的地址 及操作结果存放的地址。
用二进制代码表示指令系统的语言称为机器语言,用以设计 的程序称为机器语言程序。例如以下两条指令可构成一段程序, 是把数据20H经寄存器CL,与累加器AL中的数相加,结果在AL 中。

《微机原理与接口技术》徐惠民 微机原理与接口技术3章

《微机原理与接口技术》徐惠民 微机原理与接口技术3章
MOV AL,[2000H]; MOV [3000H],AL
数据传送指令
③ 两个段寄存器之间不能直接传送信息,也不允许 用立即寻址方式为段寄存器赋初值; (X) MOV DS, 100H; (X) MOV DS, ES;
④ 目的操作数,不能用立即寻址方式。
⑤ MOV指令不影响标志位
数据传送指令
2.堆栈指令
功能:从I/O端口输入数据至AL或AX.
输入指令允许把一个字节或一个字 由一个输入端口传送到AL或AX中。若端 口地址超过255时,则必须用DX保存端 口地址,这样用DX作端口寻址最多可寻 找64K个端口。
8086/8088通过 输入输出指令与 外设进行数据交 换;呈现给程序 员的外设是端口 (Port)即I/O地 址。
一般格式:
LES OPRD1,OPRD2
这条指令除将地址指针的段地址部分送入ES外,与 LDS类似。
例如: LES DI,[BX]
数据传送指令
6.标志寄存器传送(有四条标志传送指令)
⑴ LAHF (LOAD AH WITH FLAG) 将标志寄存器中的S、Z、A、P和C(即低8 位)传送至AH寄存器的指定位,空位没有定 义。
2、寄存器寻址
操作数就放在CPU的内部寄存器中,AX、BX、CX、DX、 DI、SI、SP和BP,不需要访问存储器。
例:INC CX MOV AX,BX 若执行前 AX =30A6H, BX =69EDH, CX =40D9H 则执行后 AX =69EDH, BX内容不变 CX =40DAH
3.1 8088/8086的寻址方式
– 操作数是指令执行的参与者,即各种操作的对象。 – 有些指令不需要操作数,通常的指令都有一个或两
个操作数,也有个别指令有3个甚至4个操作数。

《微机原理与接口技术》教学课件 第3章

《微机原理与接口技术》教学课件 第3章

立即寻址
寄存器寻址
直接寻址
寄存器间接寻 址
寄存器相对寻 址
基址加变址寻 址
相对基址加变 址寻址
1 立即寻址
3.1 8086指令系统入门
指令中直接给出指令的操作数(跟在操作码的后面),取出指 令的同时就可以获得操作数,这种寻址方式称为立即寻址,这种操 作数称为立即数。立即寻址方式主要用来给寄存器或存储器赋初值。
此外,在8086指令系统中,操作码的长度一般为1~2个字节,指令的总长度一般为1~6个字节。
3.1 8086指令系统入门
把一条指令中所包含的二进制代码的位数称为 指令字长,它通常是机器字长的一倍、两倍、多倍 或半倍。例如,8086 CPU的字长为16位,故其指 令长度可以是1个字节、1个字或多个字节等。
3.1.2 指令格式
计算机指令通常由操作码和操作数两部分组成,其格式如下: 操作码 [目的操作数][,源操作数]
操作码指出了计算机 所要执行的基本操作
操作数则指明了操作 的对象
指令中操作数的个数由指令的功能决定。在8086指令系统中,根据指令中操作数个数的不同,可以将指 令分为:无操作数指令、单操作数指令和双操作数指令。
内容提要
掌握8086指令的分类和格式。 掌握8086指令中操作数和程序转移地址的寻址方式。 掌握调试程序DEBUG的使用方法。 掌握数据传送类指令的功能及用法。 掌握算术运算与逻辑运算类指令的功能及用法。
4
3.1 8086指令系统入门
3.1.1 指令分类
计算机指令是指计算机所能识别并执行的基本操作命令,这些全部操作命令的集合被称为计算机 的指令系统。
行指令: MOV AX, COUNT[BX] 操作数的物理地址为:(DS)×16+(BX)+COUNT=3000H×16+1000H+2000H=33000H,指令

微机原理及接口第三章作业答案

微机原理及接口第三章作业答案

微机原理及接口第三章作业答案“微机系统原理与接口技术”第三章习题解答1.下列各条指令是否有错?如果有,请指出错误之处并改正。

(1)movds,1000h(2)mov[100],23h(3)addax,[bx+bp+6](4)pushdl(5)inax,[3fh](6)out3ffh,al(7)lesss,[si](8)pop[ax](9)imul4ch(10)shlbx,5(11)int300(12)xchgdx,0fffh请问:(1)错误。

不容许轻易向段寄存器送来立即数,可以改成:movmovax,1000hds,ax(2)错误。

该指令在语法上是对的,即可以把一个立即数送入一个存储单元;但是如果考虑实际编译,则第一操作数前应加上byteptr或wordptr说明,否则汇编程序会因不能确定操作数长度而指示出错。

可改为:movaddpushinbyteptr[100],23hax,[bx+di+6]dxax,3fh(3)错误。

无法同时采用两个基址寄存器bx、bp展开间接串行,可以改成:(4)错误。

堆栈操作方式需以字为单位展开,而dl就是一个字节。

可以改成:(5)错误。

在输出/输入指令中,8十一位端口地址应当轻易写下在操作数处。

可以改成:(6)错误。

端口地址3ffh已远远超过8十一位二进制则表示范围,16十一位端口地址应用领域dx。

可以改成:movoutlesdx,3ffhdx,alax,[si](7)错误。

les指令的目操作数应该是通用寄存器,不能是段寄存器。

可改为:(8)错误。

ax不能用于间接寻址,间接寻址只能用bx、bp、si、di四个寄存器之一。

可改为:popmovimulmovshl[bx]bl,4chblcl,5bx,cl(9)错误。

立即数无法搞乘法指令的操作数,可以改成:(10)错误。

当逻辑移位的次数大于1时,应该用cl指示次数。

可改为:(11)错误。

操作数300?255,已远远超过有效率的中断类型码范围。

微机原理与接口技术第三章试题及答案

微机原理与接口技术第三章试题及答案

第三章3-1选择题1、MOVX A,@DPTR指令中源操作数的寻址方式是(B)(A)寄存器寻址(B)寄存器间接寻址(C)直接寻址(D)立即寻址2.ORG 0003HLJMP 2000HORG 000BHLJMP 3000H 当CPU响应外部中断0后,PC的值是(B)(A)0003H (B)2000H (C)000BH (D)3000H3.执行PUSH ACC指令,MCS-51完成的操作是(A)(A)SP+1 SP (ACC)(SP)(B)(ACC)(SP)SP-1 SP(B)(C)SP-1 SP (ACC)(SP) (D)(ACC)(SP)SP+1 SP4、LCALL指令操作码地址是2000H,执行完相子程序返回指令后,PC=(D)(C)2000H (B)2001H (C)2002H (D)2003H5、51执行完MOV A,#08H后,PSW的一位被置位(D)(A)(A)C (B)F0 (C)OV (D)P6、下面条指令将MCS-51的工作寄存器置成3区(B)(A)MOV PSW,#13H (B)MOV PSW,#18H(B)SETB PSW.4 CLR PSW.3 (d) SETB PSW.3 CLR PSW.47、执行MOVX A,DPTR指令时,MCS-51产生的控制信号是(C)(D)/PSEN (B)ALE (C)/RD (D)/WR8、MOV C,#00H的寻址方式是(A)(A)位寻址(B)直接寻址(C)立即寻址(D)寄存器寻址9、ORG 0000HAJMP 0040HORG 0040HMOV SP,#00H当执行完左边的程序后,PC的值是(C)(A)0040H (B)0041H (C)0042H (D)0043H10、对程序存储器的读操作,只能使用(D)(A)MOV指令(B)PUSH指令(C)MOVX指令(D)MOVC指令3-2判断题。

4.MCS-51的相对转移指令最大负跳距是127B。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

4
第二章
存储器的分段管理
重点之三
• 逻辑地址的组成——段基址:偏移地址 逻辑地址的组成—— • 物理地址的形成——段基址×16+偏移地址 物理地址的形成——段基址×16+偏移地址
15 0 3210
段基址
15
0000
0
偏移地址
地址加法器
19 0
物理地址
5
第二章
存储器的分体结构 8086系统 8086系统
微机原理与接口技术
杭州电子科技大学
生仪学院
1
第二章 内容回顾
2
第二章
8086CPU内部结构
重点之一
3
第二章
GND AD14 AD13 AD12 AD11 AD10 AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 NMI INTR CLK GND
重点之二
VCC AD15 AD16/ S3 AD17/ S4 AD18/ S5 AD19/ S6 BHE/ S7 MN/ MX RD HOLD(RQ/GT0) HLDA(RQ/GT1) WR(LOCK) M/ IO (S2) DT/ R (S1) DEN (S0) ALE (QS0) INTA (QS1) TEST READY RESET
解: AX = 2000H
20
§3-1
1.含义: 含义:
8086的寻址方式 8086的寻址方式 ——寄存器间接寻址方式
四、寄存器间接寻址方式(Register Indirect Addressing)
操作数的有效地址放在寄存器中。
2.特点: 特点:
使用寄存器 寄存器:基址寄存器BX、 BP,变址寄存器SI、DI 。 寄存器 操作数的物理地址 = 16×DS + BX/SI/DI 物理地址 或 = 16×SS + BP
2.特点: 特点:
使用:BX、BP、SI、DI 。 操作数的物理地址 = 16×DS + BX/SI/DI + COUNT 或 = 16×SS + BP + COUNT
24
§3-1
例 MOV
8086的寻址方式 8086的寻址方式 ——寄存器相对寻址方式
;或:MOV
BX,[COUNT+SI]
BX,COUNT [SI]
15
§3-1
例 MOV
8086的寻址方式 8086的寻址方式 ——立即寻址方式
CX,2A50H
解:将立即数2A50H送到CX寄存器中。 (又例: MOV CL,20H)
MOV CX, 2A50H
4.注意: 注意:
①立即数可以送到寄存器、一个存储单元(8位)、两个连续的存储单元
(16位)中去;
②立即数只能作源操作数 只能作源操作数,不能作目的操作数; 只能作源操作数 ③以A~F打头的数字出现在指令中时,前面必须加数字0。以免与其它符
3.作用: 作用:
有效地址可以存放在寄存器中。
21
§3-1
8086的寻址方式 8086的寻址方式 ——寄存器间接寻址方式
例 MOV BX,[SI] 解:设:DS=1000H,SI=2000H,(12000H)=318BH 则:物理地址 = 16×DS + SI = 10000H + 2000H = 12000H 指令执行后,BX= 318BH 指令执行过程如图所示。
3.作用:寄存器之间传递数据。 作用:

MOV
DX,AX
解: (AX)送到CX寄存器中。(AX内容不变) (又例: MOV
BL,AL)
4.注意:源操作数的长度必须与目的操作数—致。 注意:
先求物理地址才能获得操作数。) (注:以下寻址方式下,指令的操作数在存储器中,要先求物理地址 先求物理地址 17
D7~D0 D15~D8
重点之四
8088系统 8088系统
D7~D0
数据总线 数据总线
D7~D0 偶地址存储体 SEL A19~A0
数据总线
D7~D0 奇地址存储体 SEL A19~A0 BHE A0 A19~A1
00000 00001 FFFFF
D7~D0 1M×8位存储体 × 位存储体 A19~A0
二、寄存器寻址方式 三、直接寻址方式 四、寄存器间接寻址方式 五、寄存器相对寻址方式 六、基址变址寻址方式 七、相对基址变址寻址方式 八、其它
14
§3-1
1.含义: 含义:
8086的寻址方式 8086的寻址方式 ——立即寻址方式
一、立即寻址方式 一、立即寻址方式 (Immediate Addressing)
3.作用: 作用:
实现对存储单元的读/写操作。
18
§3-1
8086的寻址方式 8086的寻址方式 ——直接寻址方式
例 MOV AX,[2000H] 解:设DS = 3000H; 且有:(32000H)= 1234H 由指令得:有效地址EA = 2000H 物理地址 = 16×3000H + 2000H = 32000H 则: AX = 1234H 指令执行过程如图所示。(注:如用AL替代AX,则AL=
操作数是立即数 立即数(即8位或16位的常数),直接包含在指令中 含在指令中。 立即数 含在指令中 2.特点: 特点: 翻译成机器码时,立即数是指令的一部分 指令的一部分,紧跟在操作码之后存 指令的一部分 放在代码段内。在取出指令的同时也就取出了操作数,立即有操作数 可用,所以称之为立即寻址。 l6位数 高字节 高地址单元,低字节→低地址 低字节→ l6位数:高字节→代码段的高地址 位数 高字节→ 高地址 低字节 低地址单元; 3.作用: 作用: 常用于给寄存器赋初值 赋初值。 赋初值
号相混淆(如:0AF22H)。
16
§3-1
8086的寻址方式 8086的寻址方式 ——寄存器寻址方式
二、寄存器寻址方式 (Register Addressing)
1.含义: 含义:
操作数包含在寄存器中,寄存器的名称由指令指定。
2.特点: 特点:
16位操作数: 16位操作数:寄存器可以是AX、BX、CX、DX、SI、DI、SP和BP等。 8位操作数:寄存器AH、AL、BH、BL、CH、CL、DH和DL。
22
§3-1
8086的寻址方式 8086的寻址方式 ——寄存器间接寻址方式
4.注意: 注意: ▲寄存器名称外必须加方括号,以区别寄存器寻址方式; ▲段超越前缀用来从默认段以外的段中取得数据;
例 MOV BX,ES:[SI]
▲关于默认段:
指定寄存器BX、SI或DI,默认操作数存放在数据段DS中; (DS:BX,SI,DI) DS:BX,SI,DI) 指定寄存器BP,默认操作数存放在数据段SS中; (SS:BP) SS:BP)
23
§3-1
1.含义: 含义:
8086的寻址方式 8086的寻址方式 ——寄存器相对寻址方式
五、寄存器相对寻址方式(Register Relative Addressing)
操作数的有效地址是基址或变址寄存器的内容与8位或16位位移量(Displacement) 之和。即
[BX] / [BP] EA = [SI] / [DI] + 8位偏移量/16位偏移量
§3-1
8086的寻址方式 8086的寻址方式 ——直接寻址方式
三、直接寻址方式(Direct Addressing)
1.含义: 含义:
存储单元的有效地址EA(即:操作数的偏移地址)直接由指令给出。 有效地址EA
2.特点: 特点:
机器码中,有效地址 有效地址存放在代码段中 在代码段中指令的操作码之后,而该地址单元中 有效地址 在代码段中 的数据 数据总是存放在存储器中 在存储器中。须先求出 物理地址,再从存储器中取得 数据 在存储器中 先求出操作数的物理地址 再从存储器 物理地址 得 操作数。 操作数 操作数的物理地址 物理地址=16×DS + EA 物理地址
CPU进行读/写存储器的操作:①把一个偏移量送到BIU,计算出20位物理地 址;②执行总线周期存取操作数。
12
§3-1
寻址方式举例: 寻址方式举例:
8086的寻址方式 8086的寻址方式 ——概述
13
§3-1 一、立即寻址方式
8086的寻址方式 8086的寻址方式 ——概述
8086指令的寻址方式类型: 8086指令的寻址方式类型: 指令的寻址方式类型
地址总线
ห้องสมุดไป่ตู้
A19~A0
地址总线
6
第二章
堆栈的概念及工作过程
重点之五
7
第二章
Vcc Vcc
重点之六
最小模式系统—— 最小模式系统——组成、与最大模式系统的区别
MN / MX RD CLK READY RESET WR M / IO
时钟
RES
发生器
8086CPU
ALE 地址 A19 ~A16 BHE AD15~AD0 DEN DT/R 地址/ 地址/数据 STB
11
§3-1
8086的寻址方式 8086的寻址方式 ——概述
各种寻址方式指令执行速度不同:
操作数在寄存器中指令执行速度快:在CPU内部立即执行; 快 操作数在寄存器 立即数寻址指令执行速度较快:直接从指令队列中取数; 立即数寻址 操作数在存储器中指令执行速度较慢:通过总线与CPU交 操作数在存储器 换数据。
解:设:DS=3000H,SI=2000H,位移量COUNT=4000H, (36000H)=318BH 则:物理地址 = 16×DS + SI + COUNT × = 30000H + 2000H + 4000H = 36000H 指令执行后, BX= 318BH
40 3000
25
§3-1
3.注意: 注意:
例: AREA1 DW 1234H ;伪指令定义 ……… MOV AX,AREA1 , ; 解:DS=3000H、偏移地址 、偏移地址AREA1=2000H时, 时 AX = 1234H。如右图所示。 。如右图所示。 等价于: 等价于:MOV AX,[AREA1] , 例: AREA1 EQU 2000H ……… MOV AX,AREA1 , ;伪指令定义
相关文档
最新文档