1、综合练习题,一、填空题 二、分析简答题 三、程序分析题 四、编程题 五、存储器扩展题 六、输入输出接口题,一、填空题,在计算机中:1Byte= 8 bit,1Word = 16 bit。 对于十六进制数码64.8H,转换为十进制数时为 100.5 ;该数码看作8421BCD码时表示数据为 64.8 。 对于十进制数18.5,用十六进制数表示时为 12.8 H;用压缩8421BCD码表示时为 18.5H 或(00011000.0101) 。,设机器字长为8位,最高位是符号位。则十进制数127所对应的原码为 11111111B ,补码为 10000001B 。 8086CPU内部结构可分为 EU
2、和 BIU 两部分。 8086CPU 可以访问 8 位和 16 位的寄存器。 8086CPU是 16 位的CPU。 设SP为2000H,则执行PUSH AX 后,SP= 1FFE H。,逻辑地址是由 段基址 和 偏移地址 组成。其中,段寄存器中存放的是 段基址。 将逻辑地址转换为物理地址的公式是 段基址16偏移地址。 设有逻辑地址1234H:1234H,试写出其对应的物理地址 13574 H 。 一个含有16个字节数据的变量,它的逻辑地址为1000H:0100H,那么该变量的最后一个字节数据的物理地址是 1010F H。,8086CPU对外的数据线是 16 条,地址线是 20 条,它的寻址能力
3、为 1M 字节。 数据线和地址线是以 分时复用 方式轮流使用的。 若有如下定义:ORG 0100HTAB DW 9876H当执行:MOV AX,TAB后,(AX)= 9876H ;而执行:LEA AX,TAB后,(AX)= 0100H 。,若定义 A DB abcd,则(A+2)单元存放的字节数据是 c 或 63H 。 8086 CPU在I/O单独编址时,对I/O编址最多使用 16 条地址线,若要从地址为80H的端口读入字节数据,则应该使用指令 IN AL,80H 。 在8086系统(XT机)中使用的可编程中断控制器型号是 8259A ,该芯片最少占用 2 个端口地址。,可编程定时/计数器82
4、53含有 3 个 16 位的定时/计数器。每个定时/计数器可以通过编程方式来设定的工作方式有 6 种。 若用4K1的存储器芯片组成12K字节的内存容量,则共需 24 个这样的芯片。 一般情况下,容量为256KB的存储器具有 8 条数据线, 18 条地址线。,在微型计算机系统中,可采用的输入输出方式主要有 程序控制、 中断方式 、 DMA 三种类型。 可编程接口芯片8255A含有 3 个 8 位的I/O口。A口工作方式有 3 种,B口工作方式有 2 种。 8086 CPU上电复位后,执行第一条指令的物理地址是 FFFF0 H。,8086/8088 CPU 的中断系统能处理 256 种不同类型的中
5、断。 在8086系统中使用8259A芯片,最多能管理 64 级中断优先级。 计算机对I/O端口的编址方法有 存储器映象寻址(也称统一编址) 、 I/O单独编址 两种。 内存按存储器性质分类通常分为RAM和 ROM 两类。,二、分析简答题,1、写出-23的原码、反码、补码,并将补码转换成十六进制数(设字长为8位)。 答: X=-23=-10111B X原码:10010111B X反码:11101000B X补码:11101001B = E9H,2、已知逻辑地址3010H:1234H,写出段地址、偏移地址、物理地址。 答:段地址为:3010H; 偏移地址为:1234H物理地址:3010H*10H+
6、1234H=31334H3、简述BIU、EU单元作用。 答:BIU:地址形成、取指令、指令排队、读/写操作数、总线控制EU:指令译码、指令执行,4、8086 CPU中四个段寄存器的名称是什么,分别用什么符号表示? 答:代码段:CS 数据段:DS 堆栈段:SS 扩展段:ES,5、列举至少5种程序状态字中的标志位,并简要说明其功能 答:ZF:全零标志 CF:进位标志 SF:符号位 AF:辅助进位 PF:奇偶校验位OF:溢出标志,6、设字长为8位,用二进制计算15+20的结果,并说明对状态标志C、A、S、Z的影响。 答:00001111+ 0001010000100011 CF=0 AF=1 SF=
7、0 ZF=0,7、8086CPU对1M存储空间是如何组织的? 答: 8086 CPU对存储器是采用分段方式管理的(段地址:偏移量),分为奇地址库和偶地址库。8、8086CPU系统中存储器为什么分奇地址库和偶地址库。 答:为保证和以前的CPU兼容,保证8086既能进行字节操作,有可以进行字操作。,9、8086对存储器的管理为什么采用分段的办法?20位的物理地址是如何形成的? 答:8086的数据线和内部的寄存器都是16位的,而其地址线是20位的,无法直接进行管理;为扩大寻址范围,采用分段的管理方式,把真正的物理地址用段地址和偏移量表示,每一部分都不超过64K,可保存在内部寄存器中。 当CPU访问内
8、存时,在地址加法器中将段寄存器的内容(段基址)自动左移4位(二进制),再16位偏移地址相加,形成20位的物理地址。,10、设SS=1050H,SP=0008H,AX=1234H,当执行指令:PUSH AX后,寄存器SS、SP、AX内容分别是什么?画图说明1234H在内存中的存放情况。 答: SS=1050HSP=0006HAX=1234H(10506H)=34H(10507H)=12H,11、分别指出下列指令中的源操作数的寻址方式。 (1)MOV CX,300H (2)MOV BPDI,300H (3)MOV AX,BX (4)MOV AX,BP+DI (5)MOV AX,10BXDI (6)
9、MOV AX,10SI (7)MOV AX,DI (8)JMP BX (9)IN AL,23H (10)IN AL,DX,(1)直接寻址 (2)立即寻址 (3)寄存器寻址 (4)基址加变址 (5)相对基址加变址寻址 (6)寄存器相对寻址 (7)寄存器间接寻址 (8)段内间接寻址 (9)直接端口寻址 (10)间接端口寻址,12、指出下列指令的错误 (1)MOV AH,BX 答:源、目的操作数长度不匹配 (2)ADD 15H,BX 答:立即数不能做目的操作数 (3)MOV CS,AX 答: CS不能做目的操作数 (4)MOV AX,SIDI 答: SI、DI不能同时出现在 中 (或源操作数寻址方式
10、有误) (5)MOV BYTE PTRBX,1000 答:源、目的操作数长度不匹配,(6)MOV SI,BX 答:源、目的操作数不能均为存储器操作数 (7)MOV DS,0200H 答:立即数不能直接送至段寄存器 (8)IN BL,05H 答: IN指令中目的操作数不能用BL(只能用AL或AX) (9)MOV AX,IP 答: IP不能作操作数 (10)MOV SI,DX 答: DX不能间接寻址,可改为 MOV SI,BX (11)PUSH AL 答: PUSH指令的操作数必须为16位(即:按字操作),13、试写一指令序列,完成将AX寄存器的最低4位置1,最高3位清零,D7D9位反相,其它位不
11、变。 答:OR AX,000FH AND AX,1FFFHXOR AX,0380H,14、用单条指令或程序片段,实现下述功能。 (1)将AX高8位取反,低四位置1,其余位不变。 (2)将AL的高四位与低四位互换。 (3)将BX、AX内容互换。 答:(1)XOR AX,0FF00H OR AX,000FH (2)MOV CL,4 ROR AL,CL(或ROL AL,CL) (3)XCHG AX,BX,15、写出至少3种指令,使AX寄存器清零答:MOV AX,00 SUB AX,AX XOR AX,AX AND AX,00H,16、设计I/O接口电路时一般遵循什么原则,为什么? 答:遵循的基本原则
12、:输出要锁存,输入要缓冲。原因:CPU运行速度较快,外设速度相对较慢,通过锁存器保持CPU的输出信号;CPU的数据线是公用的,任何外设都不能单独占用数据线,通过缓冲器可以将外设和数据线在不需要的时候隔离。,17、计算机使用中断有什么好处? 答: (1)解决快速CPU与慢速外设之间的矛盾,使CPU可以与外设同时工作,甚至可以与几个外设同时工作。(2)计算机实现对控制对象的实时处理。(3)计算机可以对故障自行处理。18、8086可屏蔽中断请求输入信号线是什么?“可屏蔽”的涵义是什么? 答:可屏蔽中断请求输入线为INTR; “可屏蔽”是指该中断请求可经软件清除标志寄存器中IF位而被禁止。,19、简述
13、CPU响应外部可屏蔽中断的前提条件是什么? 答:有中断源申请、 无内部中断、中断系统是开放的20、什么是中断向量,中断向量表在内存中的地址范围是什么? 答:中断向量是指中断处理程序的入口地址;中断向量表的地址范围:00000H003FFH,21、什么叫中断向量表,在8086系统中,中断向量表存放在内存的什么位置,容量有多大? 答:把不同中断类型号对应的中断服务程序入口地址排列起来,形成的表称为中断向量表;存放在存储器最开始的一段空间内;容量为1KB。,22、8086CPU主要能处理哪些类型的中断,这些中断的优先级是如何排列的。 答:内部中断和外部中断,内部中断包括内部硬中断和内部软中断,外部中
14、断包括可屏蔽和不可屏蔽中断。中断优先级为:内部中断不可屏蔽中断可屏蔽中断单步中断,23、编写中断类型号为10的中断向量设置程序(假设中断服务程序名为INT_10),方法一: MOV AX,0 MOV ES,AX MOV DI,40 MOV AX,OFFSET INT_10 CLD STOSW MOV AX,SEG INT_10 STOSW,方法二: MOV AX,0 MOV DS,AX MOV BX,40 MOV AX,OFFSET INT_10 MOV BX,AX MOV AX,SEG INT_10 MOV BX+2,AX,三、程序分析题,1、MOV AL,85HMOV X1,0MOV X2
15、,0MOV CX,8 L0:SHL AL,1JC L1INC X1JMP L2 L1:INC X2 L2:LOOP L0,程序中X1和X2是字节变量, (1) 分析程序实现的功能。 (2) 程序执行后,X1和X2的值分别是多少? 答: (1) 统计AL中0和1的个数,分别放在X1和X2中。 (2) X1=5; X2=3,2、IN AL,5FH ;TEST AL,80H ;JZ L1 ; MOV AH,0JMP STOP L1:MOV AH,0FH STOP:HALT,从地址为5F的端口读入1个字节送AL AL与80H相与,但不回送结果, 只影响标志位的值 若状态标志Z为1,跳转至L1运行 (1
16、) 在横线处写明语句实现的功能。 (2) 分析程序实现的功能。 功能:若从地址为5F的端口外围设备读入的字节最高位为0则AH=0FH,否则AH=0,3、MOV AX,0MOV BX,1MOV CX,100 L1:ADD AX,BXINC BXDEC CXJNZ L1,(1) 分析程序实现的功能。 (2) 程序执行后,AX、BX、CX的值分别是多少? 答: (1) 计算1+2+3+100的值,最终保存在AX中 ; (2) AX=5050BX=101CX=0,4、STR DB COMPUTERMOV CX,8MOV AL,1LEA BX,STR ;(a) L1:CMP BYTE PTR BX,U
17、;(b)JZ L2INC BXINC ALLOOP L1 L2: HALT,(1)在横线处写明语句实现的功能。 答:(a) 将STR变量的首地址送BX(b)比较BX间接寻址的字节是否等于U (2) 分析程序实现的功能,并说明执行完后,AL寄存器的值。 答:计算字母U在字符串中出现的位置,AL=5,5、分析填空 MOV AX,00H ; PUSH AX ; POP BX ; MOV AX,3F5FH ; MOV CX,4 ROR AL,CL ; AND AL,0FH ;,答: 执行后 AX= 00H 执行后 AX= 00H 执行后 BX= 00H 执行后 AL= 5FH 执行后 AL= 0F5H
18、 执行后 AL= 05H,6、若STR是字符串的首地址,指出下列程序的功能,并将语句加上注解。LEA BX,STR ;取STR 的偏移量放到BX中MOV CX,20 ;_设置循环次数_ LP:CMP BX,*JNZ NEXT ;BX所指单元内容不为*,则转移至NEXTMOV BX,$ ;将BX所指单元用$替代 NEXT:INC BX ;BX加1,指向下一个单元LOOP LP ;CX-1不等于0则转移至LP处,继续循环HLT 程序的功能:将STR开始的前20个字符中的*用$替代,四、编程题,1、 从BLOCK开始有一个字节型数组,共有15个元素,编写完整汇编源程序,计算这个数组中奇数的个数,并将
19、结果存入内存SUM单元。 2、从BUF开始有一个字节型数组,共有100个元素,编写完整汇编源程序,计算这个数组中负数的个数,并将结果存入内存COUNT单元。 3、从BUF开始,存放10个带符号的字节数据,编写完整汇编源程序,找出该数据区中的最大数,并将其存放至内存单元MAX中。,(答案略),1.右图为8088 CPU和某存储器电路连接图,请回答以下问题:(1) 将CPU的信号线与存储器相连。(2) 存储器是什么类型(RAM、ROM)?总容量为多少?各存储芯片的地址范围分别是多少?,五、存储器扩展题,答:1)CPU与存储器的连接如右图所示。,2) 存储器类型为:RAM ; 总容量为 4K8 ;地
20、址范围: 0# 2000H-27FFH 1# 2800H-2FFFH,1、INTEL 8255A接口芯片 (1) 现给出INTEL 8255A 的应用电路如下,系统分配给8255的地址为60H63H。试分析该电路中8255的A、B口分别是作为输入口,还是输出口? (2) 现给出8255A 工作方式控制字格式如下,请编写程序片段对8255进行初始化,并读取电路中的开关量,用LED发光二极管显示其对应的开关状态(注:LED显示器“亮”,表示开关“断开”)。,六、输入输出接口题,解答: (1)A口作为输入口,B口作为输出口 (2)初始化: A口作为输入口,B口作为输出口,均工作于方式0,则控制字为:90H(不唯一) 参考程序片段: MOV AL,90HOUT 63H,ALIN AL,60HOUT 61H,AL,2、根据下面的接口电路图,回答下列问题:,(1)这是一个什么接口电路图?答:查询式输入接口电路图 (2)写出下列芯片的名称或功能(锁存、缓冲): U1:锁存器 U2:三态缓冲器(或三态门) (3) 电路图中的1、2、3、4、应接到何处?写出符号。答:1. 2.M / 3.地址线A15A0 4.,The end!,温馨提示:考试时请带学生证和重修证!,谢 谢 !,