微机原理与接口技术6-调用子程序指令

合集下载

《微机原理及接口技术》第六章

《微机原理及接口技术》第六章

2、CPU对中断的响应
关中断:CPU响应中断后,发中断响应(INTA)信号的同时,内部自动实现关中断 保留断点:封锁IP+1,入栈保存CS:IP。 保护现场:由中断服务程序先将有关REG入栈保存。
给出中断入口、转相应的中断服务程序:中断服务程序起始地址,执行中断服务。
恢复现场:将中断服务程序入栈保存的REG内容弹出,恢复现场。 开中断与返回:中断服务的最后一条指令,出栈恢复CS:IP,恢复主程序运行,使IF自动恢
第十章
J X G
微型计算机开发应用
1/27
J X G
微机原理及接口技术 第六章、中断控制系统
本章要点:

J X G
中断的基本概念 中断处理过程 可编程中断控制器8259A的结构、功能 可编程中断控制器8259A的应用
2/27
J X G
微机原理及接口技术 6.1
一、中断的基本概念
中断系统
J X G
微机原理及接口技术
三、外部中断
8086芯片设置有两条中断请求信号输入引脚:NMI和INTR引脚,用于外部中断 源产生的中断请求,可分为以下两种: 1、可屏蔽中断 INTR (18脚) INTR线上的请求信号是电平触发的。当IF=0,CPU中断不响应,这种情况称为 可屏蔽中断。可屏蔽中断通过指令设置IF中断标志位,达到控制的目的。 STI CLI ;IF←1,开中断,CPU才能响应INTR线上的中断请求。 ;IF←0,关中断,CPU不响应INTR线上的中断请求。
对于系统专用中断,系统将自动提供0~4中断类型号,保证系统自动转到处理程序。
J X G
对于可屏蔽中断INTR,外接口电路产生中断类型号。目前8259A产生。

微机原理与接口技术-六章-程序设计

微机原理与接口技术-六章-程序设计
程序:计算机命令(语句)的有序集合。
汇编语言程序设计步骤:
开始
处理
处理
结束
处理
Y
N
6.2 简单程序(1)
例:将内存单元10050H的内容拆成两段,每段4位,分别存 入10051H(低4位)和10052H(高4位)单元。即 10051H和10052H单元的高4位都为0。
⑥静态检查程序是否有错
6.3 分支程序(1)
N 条件满足? 语句系列1 语句系列2 N
例:编一个程序。从外设71H取一个数M,判断其值是否在10和 20之间,即10≤M<20。如果M≥20,则送0FFH给外设73H; 如果M<10,则送00H给外设73H;如果10≤M<20, 则送88H给外设73H。
子程序中对堆栈的压入和弹出操作要成对使用,保持堆栈的平衡。
子程序要利用过程定义伪指令声明。
一、子程序编写注意事项
二、举例
例:
code segment main proc far ...... call subr1 ...... ret main endp subr1 proc near ...... ret subr1 endp code ends
DP5 PROC NEAR MOV AL,CL SAL AL,1 SAL AL,1 ADD AL,CL MOV CL,AL RET DP5 ENDP MY ENDS END START AL=? BL=? CL=?
汇编语言中,子程序要用一对过程伪指令PROC和ENDP声明,格式如下: 过程名 PROC [NEAR/FAR] …… ;过程体 …… 过程名 ENDP NEAR属性(段内近调用) FAR属性(段间远调用)
提供必要的子程序说明信息。
处理好子程序与主程序间的参数传递问题。

微机原理与接口技术课本

微机原理与接口技术课本

第1章微型计算机基础1.1 计算机中数的表示和运算1.1.1 计算机中的数制及转换在微型计算机中,常见和常使用的数制♦十进制♦二进制♦八进制♦十六进制等。

1.十进制十进制计数特征如下:♦使用10个不同的数码符号0,1,2,3,4,5,6,7,8,9♦基数为10♦每一个数码符号根据它在数中所处的位置(即数位),按逢十进一决定其实际数值。

任意一个十进制正数D,可以写成如下形式:(D)10=D n-l³10 n-1 +D n-2³10 n-2 +…+D l³101+D0³100+D—l³10 -1+D-2³10-2+²²+D-n³10-n2.二进制在二进制计数制中,基数是2,计数的原则是“逢2进1”。

特征如下:♦使用两个不同的数码符号0和l♦基数为2♦每一个数码符号根据它在数中所处的位置(即数位),按逢二进一决定其实际数值。

任意一个二进制正数B,可以写成如下形式:(B)2=B n—l³2 n-1 +B n—2³2 n-2+…+B l³21+B0³20+B—l³2 -1+B-2³1-2+²²+B-n³1-n十进制TO二进制把十进制整数转换成二进制整数通常采用的方法是“除以2取余数”。

把十进制小数转换成二进制小数所采用的规则是“乘2取整”。

在计算机中,数的存储、运算、传输都使用二进制。

[例 1-2] 将十进制小数0.6875转换成二进制小数3.八进制在八进制计数制中,基数是8,计数的原则是“逢8进1”。

特征如下:♦使用8个不同的数码符号0,1,2,3,4,5,6,7♦基数为8♦每一个数码符号根据它在数中所处的位置(即数位),按逢八进一来决定其实际数值。

任意一个八进制正数S,可表示为:(S)8=S n—l³8 n-1+S n—2³8 n-2+²²+S1³8 1+S0³8 0 +S—l³8–1+²²+S-m³8-m转换: 将十进制整数转换成八进制整数的方法是“除以8取余数”。

《微机原理与接口技术》(第三版)_周荷琴中国科学技术大学出版社课后答案直接打印

《微机原理与接口技术》(第三版)_周荷琴中国科学技术大学出版社课后答案直接打印

第一章 习题1 什么是冯·诺依曼机?答: 冯·诺依曼在1946年提出了一个完整的现代计算机的结构雏型,它由5个部分组成,即运算器、控制器、存储器、输入设备和输出设备。

运算器负责指令的执行;控制器的作用是协调并控制计算机的各个部件按程序中排好的指令序列执行;存储器是具有记忆功能的器件,用于存放程序和需要用到的数据及运算结果;而输入/输出设备则是负责从外部设备输入程序和数据,并将运算的结果送出。

9 将下列二进制数转换为十进制数。

(1) 1101.01 (2) 111001.0011 (3) 101011.0101 (4) 111.0001解:(1) 13.25(2) 57.1875(3) 43.3125(4) 7.062510 将下列十六进制数转换为十进制数。

(1) A3.3H (2) 129.CH (3) AC.DCH (4) FAB.3H解:(1) 163.1875(2) 297.75(3) 172.859375(4) 4011.187514 将下列二进制数转换为有符号十进制数。

(1) 10000000 (2) 00110011 (3) 10010010 (4) 10001001解:(1) -0(2) 51(3) -18(4) -915 将下列十进制数转换为单精度浮点数。

(1) +1.5 (2) -10.625 (3) +100.25 (4) -1200解:(1) 0 01111111 10000000000000000000000(2) 1 10000010 01010100000000000000000(3) 0 10000101 10010001000000000000000(4) 1 10001001 00101100000000000000000 w w w .k h d a w .c o m 课后答案网第二章习题及答案(科大)必做习题:1,5,9,11,12,14,16,18,20参考答案:1 答:CPU 内部由执行单元EU 和总线接口单元BIU 组成。

微机原理与接口技术-知识点归纳

微机原理与接口技术-知识点归纳

微机原理与接口技术-知识点归纳微机原理知识点归纳一、选择题1.在计算机内部,一切信息的存取、处理和传送都是以( 二进制 )码形式进行的。

2.机器字长为8位的有符号数,其表示数值的范围是( -128-127 ),8位无符号数( 0-255 )。

3.运算器运算时经常会遇到\溢出\这是指( 越界 )。

4.实地址模式下,一个逻辑段的体积最大为( 64k )。

5.在下列指令的表示中,不正确的是( c )。

A.MOV AL,[BX+SI] B.JMP DONI C.DEC [SI]D.MUL CL 6.8254中的计数器共有( 6 )种工作方式。

7.在异步串行通信协议中规定,传送的每个帧中数据位长度是( 5-8 )。

8.在异步串行通信中,使用比特率来表示数据传送速率,它是指(比特每秒9.CPU执行IRET指令,从堆栈段中弹出( 6 )字节。

10.8255芯片中能够工作在双向传输方式的数据口是( A口)。

11.机器字长为8位的补码,其表示数值的范围是( -128-127 )。

12.运算器运算时经常会遇到\溢出\这是指( 越界 )。

13.在下列指令的表示中,不正确的是( A )。

A.PUSH AL B.JMP AGA C.MOV AL,[BX+SI] D.MUL CL14.如果一个程序在执行前CS=1000H,IP=2000H,该程序的起始地址是( 15.下列指令中操作数在堆栈段中的是( C ) A.MOV AX, 34H B.ADD AX,ES:[BX] C.INC WORD PTR [BP] D.SUB AX, DS:[34H]16.若SP=0200H,则执行指令PUSH AX 后,SP=( 01FEH )。

17.下列不属于PC机I/O端口分类的是( B )。

A.控制端口 B.地址端口 C.数据端口 D.状态端口 18.实模式下,70H型中断向量存放在内存中的地址是( 1C0H-1C3H )。

子程序调用指令

子程序调用指令

子程序调用指令
子程序调用指令是指一个程序在一段程序运行时,该段程序执行某个功能时,会调用由另一段子程序处理的指令的一种机器指令。

子程序调用指令的运行过程主要分为六个步骤:
1、先将书写代码时在子程序指令里声明的一个标记符(参数可以有一到多个)放入程序计数器,编程使程序跳转至对应的子程序。

2、将参数放入堆栈中。

3、程序计数器指向下一个指令(位置),将其存入返回地址寄存器中。

4、转至子程序,调用子程序中的指令,直至子程序返回跳转指令。

5、将从子程序返回的参数或结果放入程序总线中。

6、程序计数器指向堆栈中保存的返回地址,继续执行程序。

子程序调用指令的使用有很多优点,可以将程序设计的复杂性降低,提高代码的可维护性,减少重复的编码,并使程序更加结构良好和清晰。

同时,由于调用子程序时需要使用到跳转指令,也可以减少程序运行所需的时间。

然而,程序的运行效率有时也会根据子程序的大小和复杂性以及条件的多少而有所降低。

微机原理与接口技术第六章8259A练习题及答案

微机原理与接口技术第六章8259A练习题及答案

微机原理与接口技术第六章-8259A练习题及答案中断技术和中断控制器8259A练习题及答案一、填空题1.8088微处理器最多能处理256种不同类型的中断。

2.8088系统的中断向量表位于从内存地址 00000H 开始,占1K字节存储单元。

3.8088CPU响应INTR中断时,将PSW(或标志寄存器内容)和断点(或CS:IP)进堆栈保存。

4.8259A可管理8级优先级中断源,通过级联,最多可管理 64 级优先级中断源。

5.若8259A的IRR(中断请求寄存器)的内容为10H,说明IR4请求中断。

二、选择题6.8088CPU的标志寄存器中IF=1时,表示允许CPU响应______中断。

CA.内部中断B.外部中断C.可屏蔽中断D.不可屏蔽中断7.CPU在响应中断时,保存断点是指______。

DA.将用户设置的程序指令地址入栈保存B.将中断服务程序的入口地址入栈保存C.将程序状态字PSW入栈保存D.将返回地址即程序计数器PC(CS:IP)的内容入栈保存8.8088的中断向量表用于存放______。

BA.中断类型号B.中断服务程序的入口地址C.中断服务程序的返回地址D.断点地址三、判断题9.8086的可屏蔽中断的优先级高于不可屏蔽中断。

[ ] ×10.通常8259A芯片中的IR0优先级最低,IR7的优先级最高。

[ ]×11.在8088系统中,所谓中断向量就是中断服务程序入口地址。

[ ] √四、简答题12.CPU响应INTR中断的条件是什么?答:(1)INTR信号为有效电平(2)当前指令执行完毕(3)CPU开中断(IF=1)(4)没有更高级的请求(RESET , HOLD ,NMI)13.一般CPU响应中断时自动做哪些工作? 8088CPU呢?答:一般CPU在响应中断时,关中断,保存断点,识别中断源,找到中断服务程序入口地址,转入中断服务程序。

8080CPU在响应中断时,首先把PSW(或标志寄存器内容)入栈保存,其余同一般CPU.14.8088CPU在执行中断返回指令IRET时,执行什么操作?答:(1)弹出断点送CS:IP第 - 2 - 页共 13 页(2)弹出PSW送标志寄存器15.中断控制器8259A中下列寄存器的作用是什么?(1) IRR (中断请求寄存器) :保存中断源的中断请求(2) IMR (中断屏蔽寄存器) :屏蔽/允许中断源请求中断,由程序写入,1为屏蔽,0为允许(3) ISR (中断服务寄存器): 记录CPU正在为哪些中断源服务(4) IVR (中断向量寄存器): 保存中断向量号16、初使化时设置为非自动结束方式,那么在中断服务程序将结束时必须设置什么操作命令?如果不设置这种命令会发生什么现象?答案:当中断服务程序将结束时,必须发0CW2=20H为中断结束命令,执行此命令即撤消正在服务的中断请求和服务标志;否则,即使返回主程序但未退出此中断,造成中断响应的混乱。

微机原理及接口技术习题答案

微机原理及接口技术习题答案

微机原理及接⼝技术习题答案第⼀章习题及答案1. 微处理器内部包含哪三⼤部分?解:运算器、控制器和寄存器组。

2. 完成下列数制的转换①解:②0.11B=()D 解:0.11B=0.75D 。

③211.25=( )B =( )H 解:④10111.0101B=( )H=( )BCD解:10111.0101B=17.5H=23.3125D=(0010 0011.0011 0001 0010 0101)BCD3. 已知X=+1011010B ,Y =–0011011B ,设机器数为8位,分别写出X 、Y 的原码、反码和补码。

解:4. 已知X 的真值为32,Y 的真值为–19,求[]?Y X =+补解:[]00001101B X Y +=补5. 已知X=51,Y=–86,⽤补码完成下列运算,并判断是否产⽣溢出(设字长为8位)。

① X +Y ② X -Y ③ –X +Y ④ –X -Y 解:67C C 0⊕=,所以未产⽣溢出。

676. 若使与门的输出端输出⾼电平,则各输⼊端的状态是什么?解:各输⼊端为⾼电平。

7. 若使与⾮门的输出端输出低电平,则各输⼊端的状态是什么?解:各输⼊端为⾼电平。

8. 如果74LS138译码器的Y 4端输出低电平,则C 、B 、A 三个输⼊端的状态分别是什么?解:C 、B 、A 三个输⼊端的状态分别是‘1’,‘0’,‘0’。

第⼆章习题及答案1. 8086/8088CPU 由哪两⼤功能部分所组成?简述它们的主要功能? 解:8086/8088CPU 由EU 和BIU 两⼤功能部分组成。

执⾏单元EU主要完成指令的译码和执⾏。

执⾏单元通过EU控制电路从BIU中取出指令,经过指令译码形成各种定时控制信号,向EU内各功能部件发出相应的控制命令,以完成指令所规定的操作。

总线接⼝单元BIU是8086/8088同外部联系的接⼝。

它负责所有涉及外部总线的操作,包括取指令、读操作数、写操作数、地址转换和总线控制等。

《微机原理及接口技术》复习总结综合版——简答题

《微机原理及接口技术》复习总结综合版——简答题

《微机原理及接口技术》复习总结综合版——简答题第一篇:《微机原理及接口技术》复习总结综合版——简答题综合版—简答题欢迎使用KNKJ2012DXZY系统《微机原理及接口技术》学科复习综合版—简答题1、微型计算机由那些基本功能部件组成?微处理器、主存储器、系统总线、辅助存储器、输入/输出(I/O)接口和输入/输出设备2、什么是(计算机)总线?在计算机中,连接CPU与各个功能部件之间的一组公共线路,称为总线3、微型计算机系统的基本组成?微型计算机,系统软件,应用软件,输入输出设备4、简述冯.诺依曼型计算机基本组成。

冯.诺依曼型计算机是由运算器,控制器,存储器,输入设备和输出设备组成的。

其中,运算器是对信息进行加工和运算的部件;控制器是整个计算机的控制中心,所以数值计算和信息的输入,输出都有是在控制器的统一指挥下进行的;存储器是用来存放数据和程序的部件,它由许多存储单元组成,每一个存储单元可以存放一个字节;输入设备是把人们编写好的程序和数据送入到计算机内部;输出设备是把运算结果告知用户。

5、什么是机器数?什么是机器数的真值?数在机器内的表示形式为机器数。

而机器数对应的数值称为机器数的真值。

6、8086与8088这两个微处理器在结构上有何相同点,有何主要区别?相同点:(1)内部均由EU、BIU两大部分组成,结构基本相同。

(2)用户编程使用的寄存器等功能部件均为16位。

(3)内部数据通路为16位。

区别 :(1)对外数据总线8086:16位,8088:8位。

(2)指令队列8086:6级,8088:4级。

7、8086CPU内部由哪两部分组成?各完成什么工作?在8086内部由BIU和EU两大部分组成,BIU主要负责和总线打交道,用于CPU与存储器和I/O接口之间进行数据交换;EU主要是将从指令队列中取得的指令加以执行。

8、简述8086内部分为EU和BIU两大功能的意义。

这两部分分开可以在执行指令的同时,从存储器中将将要执行的指令取到指令队列,使两部分并行工作,提高CPU的速度。

微机原理与接口技术实验

微机原理与接口技术实验

CALL ADDA DISX 3DH MOV SI,OFFSET DATA3 MOV BX,05 CALL DISPL DISX 0DH DISX 0AH MOV AH,4CH INT 21H
DISPL DS1:
DISPL
PROC NEAR DISX [SI+BX-1] DEC BX JNZ DS1 RET ENDP
5.在屏幕上显示结果可利用INT 21H的02号子功能,因该功能一次只 能显示一个字符,故对于显示数字串来说,要编写一段显示子程序,反 复使用02H号子功能。
6.加数与被加数为5位,而和可能为5位或6位,即考虑到带进位和不 带进位的情况。在显示和数时最好按DISUP1: MOV AL,BH MOV CL,04 SHR AL,CL CMP AL,09 JA DISUP4 ADD AL,30H
实验二 两个多位十进制数相加的程序
CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA START: MOV AX,DATA
MOV DS,AX MOV AX,STACK MOV SS,AX MOV AX,TOP MOV SP,AX MOV DX,OFFSET MESS MOV AH,09H INT 21H MOV SI,OFFSET DATA1 MOV BX,05 CALL DISPL DISX 2BH MOV SI,OFFSET DATA2 MOV BX,05 CALL DISPL MOV SI,OFFSET DATA1 MOV DI,OFFSET DATA2
实验一 求最大值程序
NEXT: MAX2:
LOOP MAX1 MOV BL,AL MOV CL,04 SHR AL,CL CMP AL,09 JA MAX4 ADD AL,30H DISX AL MOV AL,BL AND AL,0FH CMP AL,09 JA MAX5 ADD AL,30H

微机原理与接口技术(楼顺天第二版)第四章习题解答

微机原理与接口技术(楼顺天第二版)第四章习题解答

微机原理与接口技术(楼顺天第二版)习题解答第4章汇编语言程序设计4。

1、已知在BUF的起始处保存有N个字符的ASCII码,编写汇编语言程序实现,将这组字符串传送到缓冲区BUFR中,并且使字符串的顺序与原来的顺序相反。

答:BUF D B ”BONJOUR_BELLE"BUFR DB 100 DUP(?)MOV CX, NLEA SI, BUFLEA DI, BUFRADD DI,CXDEC DIL1:MOV AL,[SI]MOV [DI],ALINC SIDEC DILOOP L14。

2、利用移位、传送和相加指令实现AX的内容扩大10倍.答:将扩大后的结果放在DX:AX中,注意到10×AX=8×AX+2×AX。

XOR DX,DXSHL AX,1RCL DX,1MOV BX,AXMOV CX,DXSHL AX,1RCL DX, 1SHL AX, 1RCL DX, 1ADD AX, BXADC DX, CX4。

3、在缓冲区V AR中连续存放着3个16位的无符号数,编写程序实现将其按递增关系排列;如果V AR中保存的为有符号数,则再编写程序实现将其按递减关系排列。

答:V AR DW 1236,-432,3900XOR SI,,SIMOV AX,V AR[SI]CMP AX,V AR[SI+2]JAE L1XCHG AX,V AR[SI+2]L1:CMP AX, V AR[SI+4]JAE L2XCHG AX, V AR[SI+4]L2:MOV V AR[SI],AXMOV AX,V AR[SI+2]CMP AX,V AR[SI+4]JAE L3XCHG AX,V AR[SI+4]L3:MOV V AR[SI+2], AX4。

4、编写程序段实现将AL和BL中的每一位依次交叉,得到的16位字保存在DX中,例如(AL)=01100101B,(BL)=11011010B,则得到的(DX)=10110110 10011001B。

微机原理与接口技术:过程调用指令

微机原理与接口技术:过程调用指令

4.过程调用指令过程调用指令也称为子程序调用指令。

程序设计时常常把一些功能相对完整或相对独立的程序段编写成独立的程序模块,称为子程序,子程序的应用使程序结构清晰明了。

主程序可用调用指令调用子程序,子程序执行结束后自动返回主程序,主程序继续执行。

(1)调用指令根据子程序所在的位置,调用指令分为段内调用和段间调用。

段内调用只修改IP的值,段间调用CS和IP的值都被修改。

CALL指令在执行时第一步首先保存断点,以便子程序返回主程序时从断点处继续执行;第二步取出子程序的入口地址赋给IP或CS:IP,转去执行子程序。

指令格式:CALL OPRD功能:调用OPRD指明的子程序。

说明:OPRD可以是子程序的名字或指令标号,可以是16位的寄存器,还可以是两个或4个存储单元的内容。

例如:CALL NEAR DELAYDELAY是子程序名,NEAR是属性说明符,说明DELAY子程序与这条CALL指令在同一个代码段中,NEAR可以省略。

指令执行时首先将当前IP的内容压栈,然后IP←IP+16位位移量,程序就转移到子程序执行。

16位位移量指的是CALL指令的下一条指令与DELAY之间的差值。

这种CALL指令最常见,也称为段内直接调用。

CALL AX子程序的入口地址由AX提供,即将AX的内容赋给IP,其他动作与上面相同。

CALL WORD PTR [BX]子程序的入口地址由[BX]指明的两个内存单元提供,其他动作与上面同。

这两条指令也称为段内间接调用。

CALL FAR MEMMEM是子程序名,FAR是属性说明符,说明MEM子程序与这条CALL指令不在同一个代码段中,FAR不能省略。

指令执行时首先将当前CS和IP的内容压栈,然后将MEM入口地址的段基址取出来赋给CS,将偏移地址取出来赋给IP,程序就转移到子程序执行。

这种CALL指令较常见,也称为段间直接调用。

例如:CALL 2000H:0100H ;指令直接给出子程序的段基址和偏移地址。

微机原理与接口技术第6章_IO接口和总线

微机原理与接口技术第6章_IO接口和总线
在微型计算机系统中,CPU通过接口和外设交换数据时,只有输 入(IN)和输出(OUT)两种指令,所以只能把状态信息和命 令信息当作数据来传送,并且将状态信息作为输入数据,控制信 息作为输出数据,于是三种信息都可以通过数据总线来传送了。 这三种信息被送入三种不同端口的寄存器,因而能实施不同的功 能。
6.1、 I/O接口
查询式输入代码片段
6.1、 I/O接口
查询式输出
6.1、 I/O接口
查询式输出时,状态寄存器的状态指示输出设备是否空 闲。
外设
数据线
状态线
6.1、 I/O接口
查询式输出工作过程
当输出设备将数据输出后,会发出一个ACK信号,使D触 发器翻转为0。
CPU查询到这个状态信息后,便知道外设空闲,可以执行 输出指令,将新的输出数据发送到数据总线上,同时 把数据口地址发送到地址总线上。
由地址译码器产生的译码信号和WR相“与”后,发出选 通信号,将输出数据送至8位锁存器。同时,将D触发 器置为1,并通知外设进行数据输出操作。
6.1、 I/O接口 查询式输出流程图
6.1、 I/O接口
常用的状态线有empty,busy 功能: 1、输出设备空闲,BUSY无效; 2、CPU写数据端口,输出设备输出数据,
缓冲器74LS244和74LS245 锁存器74LS373
6.1、 I/O接口 二、简单的输入输出接口芯片 1. 缓冲器74LS244和74LS245
连接在总线上的缓冲器都具有三态输出能力。 在CPU或I/O接口电路需要输入输出数据时,在它 的使能控制端EN(或G)作用一个低电平脉冲,使它的 内部的各缓冲单元接通,即处在输出0或1的透明状态。 数据被送上总线。 当使能脉冲撤除后,它处于高阻态。这时,各缓冲单元 像一个断开的开关,等于将它所连接的电路从总线脱开。 74LS244和74LS245就是最常用的数据缓冲。除缓冲作用 外,它们还能提高总线的驱动能力。

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

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

第一章1-1选择1.计算机中最常用的字符信息编码是( A )A ASCIIB BCD码C 余3码D 循环码2.要MCS-51系统中,若晶振频率屡8MHz,一个机器周期等于(A ) μsA 1.5B 3C 1D 0.53.MCS-51的时钟最高频率是( A ).A 12MHzB 6 MHzC 8 MHzD 10 MHz4.以下不是构成的控制器部件(D ):A 程序计数器、B指令寄存器、C指令译码器、D存储器5.以下不是构成单片机的部件(D )A 微处理器(CPU)、B存储器C接口适配器(I\O接口电路) D 打印机6.下列不是单片机总线是(D )A 地址总线B 控制总线C 数据总线D 输出总线7.-49D的二进制补码为.( B )A 11101111B 11101101C 0001000D 111011008.十进制29的二进制表示为原码(C )A 11100010B 10101111C 00011101D 000011119. 十进制0.625转换成二进制数是( A )A 0.101B 0.111C 0.110D 0.10010 选出不是计算机中常作的码制是( D )A 原码B 反码C补码 D ASCII1-2填空1.计算机中常作的码制有原码、反码和补码2.十进制29的二进制表示为000111013.十进制数-29的8位补码表示为.111000114.单片微型机CPU、存储器和I\O接口三部分组成.5.若不使用MCS-51片内存器引脚EA必须接地.6.输入输出设备是计算机与外部世界交换信息的载体.7.十进制数-47用8位二进制补码表示为.110100018.-49D的二进制补码为.111011019.计算机中最常用的字符信息编码是ASCII10.计算机中的数称为机器数,它的实际值叫真值。

1-3判断1.我们所说的计算机实质上是计算机的硬件系统与软件系统的总称。

(√)2.MCS-51上电复位时,SBUF=00H。

微机原理与接口技术 课后答案 高等教育出版社 (徐惠民 着)

微机原理与接口技术 课后答案 高等教育出版社 (徐惠民 着)
答: 1011.1010B,十进制:11.625,十六进制:B.AH
1111101.11B,十进制:125.75,十六进制:7D.CH 1-7.(5487)10=( 0101010010000111)BCD= 1010101101111 B 1-8.设字长为 8 位,请写出下列数的原码、反码、补码和移码:
B.用于选择进行信息传输的设备
C.用于给存储器单元和I/O 设备接口电路的选择地址
D.以上都不正确
2-14.设当前 SS=C000H,SP=2000H,AX=2355H,BX=2122H,CX=8788H,则
当前栈顶的物理地址是多少?若连续执行 PUSH AX,PUSH BX,POP CX 3 条指令后,堆
定是否插入Tw 。
A.T2 B.T3
C.T3 下降沿 D. T2 上升沿
2-8.8086/8088 系统中为什么要有地址锁存器?需要锁存哪些信息?
答:
因 8086/8088 系统中地址线、数据线是复用的,所以要有地址锁存器锁存 T1 状态输出
的地址。8086 系统锁存 20 位地址及 BHE 信号, 8088 系统锁存 20 位地址。
在指令执行过程中利用eu分析指令操作码和执行指令时不占用总线操作时间的特点biu自动地通过总线读取存贮器中的指令码存入biu指令队列从而使biu与eu并行工作提高cpu执行指令的速度
第 1 章 微型计算机系统概述
习题
1-1.微型计算机包括哪几个主要组成部分,各部分的基本功能是什么? 答: 微型计算机由 CPU、存储器、输入/输出接口及系统总线组成。 CPU是微型计算机的核心部件,一般具有下列功能:进行算术和逻辑运算。暂存少量 数据。对指令译码并执行指令所规定的操作。与存储器和外设进行数据交换的能力。提供整 个系统所需要的定时和控制信号。响应其他部件发出的中断请求;总线是计算机系统各功能 模块间传递信息的公共通道,一般由总线控制器、总线发送器、总线接收器以及一组导线组 成;存储器是用来存储数据、程序的部件;I/O接口是微型计算机的重要组成部件,在CPU 和外设之间起适配作用。 1-2.CPU 执行指令的工作过程。 答: 取指令、执行指令。 指令执行的基本过程: (1)开始执行程序时,程序计数器中保存第一条指令的地址,指明当前将要执行的指令 存放在存储器的哪个单元。 (2)控制器:将程序计数器中的地址送至地址寄存器MAR,并发出读命令。存储器根 据此地址取出一条指令,经过数据总线进入指令寄存器IR。 (3)指令译码器译码,控制逻辑阵列发操作命令,执行指令操作码规定的操作。 (4)修改程序计数器的内容。 1-3.果微处理器的地址总线为 20 位,它的最大寻址空间为多少?

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

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

第三章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. 调用指令:程序中的一条指令用于调用过程。

通常,这个指令包含过程的名称或标识符,并提供任何必要的参数。

2. 保存返回地址:在执行过程调用之前,当前程序的返回地址(即,程序执行过程中即将执行的指令的地址)通常被保存到栈中或专门的寄存器中。

这是为了确保在过程执行完毕后能够返回到适当的位置。

3. 参数传递:过程可能需要一些输入参数来执行其任务。

这些参数通常通过寄存器、堆栈或特定的参数传递机制传递给被调用过程。

4. 执行过程:控制流进入被调用的过程,并开始执行指定的代码。

在过程执行期间,过程可以读取参数的值、执行计算和逻辑操作,并返回结果。

5. 返回:一旦过程的任务完成,控制流将返回到调用程序的下一条指令。

返回通常涉及恢复之前保存的返回地址,并将结果返回给调用者。

过程调用可以嵌套,即一个过程调用另一个过程,这样就可以构建复杂的程序结构。

在调用过程之间,数据和控制流通过寄存器、堆栈或其他机制进行传递。

在微机原理中,过程调用一般使用机器指令来实现,这些指令负责处理参数传递、返回地址的保存和恢复、控制流的转移等操作。

具体的实现会根据所用的处理器体系结构和编程语言而有所不同。

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

(五)控制转移指令
4. 调用子程序指令
4.1段内直接(相对)调用:子程序在同一代码段中,子程序相对地址(十六位偏移量)放在指令编码中。

用于调用一个
不知确切地址,但知标号的子程序。

格式:CALL SUBR1;SUBR1为子程序入口标号,子程序相对地址放在指令编码中,三字节指令。

操作:①IP入栈:IP H→(SP-1),IP L→(SP-2),SP-2→SP;②IP+D16→IP
4.2段内间接(绝对)调用:子程序在同一代码段中,子程序的入口地址(绝对地址)存放在寄存器或存贮单元中(两字
节或一字),用于调用一个已知确切地址的子程序。

格式:CALL (NEAR PTR) OPRD;OPRD为寄存器或存贮器,存放两字节的子程序入口偏移地址。

操作:①IP入栈:IP H→(SP-1),IP L→(SP-2),SP-2→SP;②〔OPRD〕→IP(传送一个字)
4.3段间直接(绝对)调用:子程序不在同一代码段中,子程序的入口地址(偏移地址及新的段地址)放在指令编码中。

一般用于调用一个不知确切地址,但知标号的子程序。

格式:CALL SUBR2;SUBR2为子程序入口标号,五字节指令。

操作:①CS入栈:CS H→(SP-1),CS L→(SP-2),SP-2→SP;②IP入栈:IP H→(SP-1),IP L→(SP-2),SP-2→SP;
③置新IP:指令第2、3字节→IP;④置新CS:指令第4、5字节→CS。

4.4 段间间接(绝对)调用:子程序不在同一代码段中,子程序的入口地址(偏移地址及新的段地址)在指定的存贮单元
(连续四个字节)中。

一般用于调用一个已知确切入口地址的子程序。

格式:CALL DWORD PTR OPRD;OPRD为存贮器,存放四字节的子程序入口地址。

操作:①CS入栈:CS H→(SP-1),CS L→(SP-2),SP-2→SP;②IP入栈:IP H→(SP-1),IP L→(SP-2),SP-2→SP;
③置新IP:(EA)→IP(传送一个字);④置新CS:(EA+2)→CS(传送一个字)。

5. 返回指令放在子程序末尾,以在完成子程序后返回主程序。

5.1段内返回段内调用(不管是段内直接还是段内间接调用)返回
格式:RET 操作:IP出栈即(SP)→IP,SP+2→SP。

5.2段内带立即数返回
格式:RET EXP;EXP是一个常数,也可为一表达式,将此常数或由表达式计算出的常数看成一个16位的位移量D16,用以出栈后修改堆栈指针。

操作:①IP出栈:(SP)→IP,SP+2→SP;②修改堆栈指针:SP+D16→SP。

5.3段间返回段间调用(不管是段间直接还是段间间接调用)返回
格式:RET 操作:IP出栈即(SP)→IP,SP+2→SP;CS出栈即(SP)→CS,SP+2→SP。

5.4段间带立即数返回
格式:RET EXP;EXP为常数或表达式,将此常数或由表达式计算出的常数看成一个16位的位移量D16,用以出栈后修改堆栈指针。

操作:①IP出栈:(SP)→IP,SP+2→SP;② CS出栈:(SP)→CS,SP+2→SP;③修改堆栈指针:SP+D16→SP。

!CALL指令与RET指令均不影响标志。

6. 中断指令
6.1中断格式:INT N;N#中断指令,两字节指令(CD N),N为0~255D常数,但N≠3。

操作:①PSW入栈:PSW→(SP),SP-2→SP;②清除TF、IF;③CS入栈:CS→(SP),SP-2→SP;
④IP入栈:IP→(SP),SP-2→SP;⑤进入N#中断:0000H段中(N∗4)→IP, (N∗4+2)→CS。

6.2溢出中断格式:INTO;功能相当于4号中断,但为一字节指令(CE)。

操作:如OF=1,则①PSW入栈;②清除TF、IF;③CS入栈;④IP入栈;⑤进入4#中断:(10H)→IP, (12H)→CS。

6.3断点中断指令格式:INT 3;一字节指令(CC),用于在DEBUG中调试程序。

操作:①PSW入栈;②清除TF、IF;③CS入栈;④IP入栈;⑤(000CH)→IP, (000EH)→CS,进入断点中断。

6.4从中断返回格式:IRET;任何中断都以IRET指令结束,以从中断返回主程序。

操作:①IP出栈:(SP)→IP,SP+2→SP;② CS出栈:(SP)→CS,SP+2→SP;③ PSW出栈(SP)→PSW,SP+2→SP。

相关文档
最新文档