《考研资料》综合练习2-答案.doc
综合练习二一、选择题: 1、(78.625)10= C A (116.A)16 B (1111000. 101)2C (4E.A)16 D (01111000.1010)BCD2、若X=-0110101,Y=+1011010, 则 X补= C (1) , Y 补= B(2) , -Y/2 补= D (3) 。(1) A 10110101 B 00110101 C 11001011 D 11001010(2) A 11011010 B 01011010 C 10100110 D 00100110(3) A 00101101 B 10101101 C 10010011 D 110100113、若8088 CPU 的寄存器AL和BL中分别存放了两个单字节带符号数A9H和6FH,若要判别两数的大小,应先做减法操作,然后根据标志位 D(1) 进行判别。当CPU执行比较指令 CMP AL, BL 后,标志位OF和SF分别为 C (2) 。(1) A CF B SF C OF D SF和OF(2) A 0和0 B 0和1 C 1和0 D 1和14、已知CS=1000H , DS=2000H ,ES=3000H ,BX=0200H,SI=0300H,8086/8088CPU执行指令 MOV AX, BX+SI,应从 A(1) 逻辑段中取出源操作数,该操作数所在单元的逻辑地址为 C(2) ,执行该指令时,CPU的20根地址线上出现的信号为 B(3) 。 (1) A 数据段 B 代码段 C 堆栈段 D 附加段 (2) A 1000H0500H B 3000H0500H C 2000H0500H D 20500H (3) A 10500H B 20500H C 30500H D 00500H5、8253外接频率为1MHZ的时钟信号,若控制字设置为35H,则8253将工作于 (1) C ,可定时的最大时间为 B(2) ,应写入计数器的16位计数初值是 (3) A 。(1) A 计数通道0的方式1,按二进制计数 B 计数通道0的方式2,按二进制计数 C 计数通道0的方式2,按BCD码计数 D 计数通道1的方式2,按BCD码计数(2) A 9.999ms B 10ms C 65.535ms D 65.536ms (3) A 0 B 1 C 0100H D FFFFH 8253 控制字SC1 SC0 RL1 RL0 M2 M1 M0 BCD 0 0 通道0 0 0 计数器锁存 0 0 0 方式0 0 二进制计数 0 1 通道1 0 1 读/写低字节 0 0 1方式1 1 BCD码计数 1 0 通道2 1 0 读/写高字节 0 1 0方式2 1 1 先读/写低字节 0 1 1方式3 后读/写高字节 1 0 0方式4 1 0 1方式56、典型的8088单CPU模式微机系统由 C (1) 组成,8088CPU主要由 D (2) 组成 。(1) A 运算器、控制器、存储器及I/O设备; B 8088CPU、时钟发生器、地址锁存器、存储器、总线C 8088CPU、时钟发生器、地址锁存器、总线驱动器、存储器、I/O设备及总线D 8088CPU、运算器、控制器、时钟发生器、地址锁存器、总线驱动器、存储器、I/O设备及总线(2) A 通用寄存器、专用寄存器和ALU B ALU、FR及8个16位通用寄存器 C CS、ES、SS、DS及IP、指令队列 D EU和BIU7、一微机系统采用一片8259A 构成中断系统,若8259A设置为普通全嵌套、非缓冲、非自动中断结束等方式,并将ICW2设置为18H,系统可有 B (1) 级中断优先权,各中断源的优先权是 A (2) ,IR2引脚上中断源的中断类型码为 C (3) ,该中断源的中断服务程序入口地址应存于中断向量表中首址为 B (4) 的4个单元内。 (1) A 2 B 8 C 15 D 64 (2) A 固定不变,IR0优先权最高,IR7优先权最低B 固定不变,IR7优先权最高,IR0优先权最低C 固定不变,可设置IRi优先权最高 D 自动循环, (3) A 18H B 19H C 1AH D 20H (4) A 60H B 68H C 6AH D 80H二、填空题:1、某80X86微处理器有20根地址线和16根数据线,由该CPU构成的微机系统的最大存储器容量可达 1MB ,内存首末地址分别为 00000H 和 FFFFFH ,该微机系统被称为 16 位微机 。2、若8088系统中,CS=1000H,DS= 2000H,SS=3000H,SP= 0100H,AX= 1234H,BX=5678H该系统当前堆栈段的物理地址范围为 30000H 3FFFFH ,栈顶物理地址为 30100H ,当执行 PUSH AX 指令后, AX= 1234H ,SP= 00FEH 。3、若CS=2000H, SS=3000H, DS=4000H, 一个字数据F69BH存放于数据段中偏移地址为1C50H开始的单元中,其中低字节9BH存放单元的物理地址为 41C50H ,高字节F6H存放单元的物理地址为 41C51H 。4、I/O接口是 连接CPU和输入、输出外设进行数据交换的硬件电路 ,I/O接口的主要功能有 实现电器特性的匹配 、 对输入输出数据进行缓冲、隔离 等。通常一个外设接口电路包括3类端口: 数据端口 、 状态端口 和 控制端口 。一般外设的查询方式接口电路应包括 数据 端口和 状态 端口。5、中断源是指 引起中断的原因或发出中断申请的来源 , 8086/8088的中断系统可处理 256 个中断源,它们分为 硬件中断(外部中断)和 软件中断(内部中断) 两种类型,这些中断源的中断类型码的范围为 00H FFH 。6、8086/8088CPU响应可屏蔽中断的条件是 INTR引脚有中断请求有效信号 、 CPU 开中断(IF=1) 和 执行当前指令完毕 。CPU响应中断后,将在 第二个中断响应 周期内从 数据线 上获取中断类型码。三、 采用以下给出的存储器芯片为8088 CPU设计存储器系统,根据要求回答以下问题。 U1 U2A0 A10 OECE D0 D7 WEA0 A11 CE OED0 D7 1、请说出图中给出U1和U2两种存贮器芯片的类型、容量、特点及其作用。(6分)2、若系统要求配置16KB的存储器,其中8KB的ROM存储器和8KB的RAM,ROM存储器首地址为22000H,RAM存储器地址在ROM后连续,如采用以上给出的U1、U2芯片,各需要多少片? 请写出各片芯片的地址范围。(6分)1、U1为ROM 类型存储器芯片,其容量为4KB,一般在系统运行中只能读出U1中单元的内容,不能将内容写入U1的单元中,但掉电后内容不会丢失。U1 的作用是存放用户程序或固定不变的参数、数据等。 U2为RAM 类型存储器芯片,其容量为2KB,一般在系统运行中能读取U2中单元的内容,也能将内容写入U2的单元中,但掉电后内容会丢失。U2 的作用是存放系统运行中输入/输出的数据、中间结果等。2、采用2片U1芯片和4片U2芯片。#1 U1芯片地址范围为: 22000H 22FFFH;#2 U1芯片地址范围为: 23000H 23FFFH#1 U2芯片地址范围为: 24000H 247FFH;#2 U2芯片地址范围为: 24800H 24FFFH#3 U2芯片地址范围为: 25000H 257FFH;#4 U2芯片地址范围为: 25800H 25FFFH四、以下为8088系统中以8255A 为输入设备和输出设备的查询方式接口电路的部分硬件图。1、试述8088CPU和输出设备进行数据传送的工作过程。(6分)输出设备根据STB引脚状态,若为1,则处理数据,处理完毕后通过ACK发出一个负脉冲将状态触发器清零;若STB引脚状态为0,则等待。 CPU要不断查询设备的状态,执行读8255A C口操作,判断从C口读入数据的D2位是1还是0,若为1表示输出设备未准备好,则等待后再查询;若为0表示设备已处理数据完毕, CPU 可将数据写入8255A的 B口,然后通过PC 7输出正脉冲将状态触发器至1。之后重复以上的操作,周而复始。2、以下是8088CPU从输入设备依次读取100个数据并存于以BUF为首址的内存单元区域中的程序段,请在划线处填入内容。(每格1分 ,共12分) BUF DB 100 DUP (?) COUNT EQU $-BUF START: LEA SI, BUF ;置数据单元首址指针 MOVCX , COUNT MOVDX, 383H ;8255A初始化设置 MOVAL, 91H OUTDX,ALLOP: MOVDX, 383H ;置PC6为低电平 MOVAL, 0CH OUTDX,ALNOP NOPMOVAL, 0DH ;置PC6为高电平OUTDX,ALAGAIN: MOVDX, 382H ;查询输入设备状态 INAL,DX TEST AL, 02H JZ AGAIN MOV DX, 380H ;从输入设备读取数据 IN AL, DXMOV SI, AL ;将数据存入内存单元INCSI LOOP LOP ;控制读取100个数据 RET 8255A方式控制字 8255A C口复位/置位控制字 1 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 D3 D2 D1 D0 A口方式 00 方式0 A口 C口下半口 01 方式1 0 输出 0 输出 000 PC0 0复位1× 方式2 1 输入 1 输入 001 PC1 1 置位 B口 010 PC2 C口上半口 B口方式 0 输出 0 输出 0 方式0 1 输入 111 PC7 1 输入 1 方式1五、分析以下汇编语言源程序,根据要求在划线处填上适当内容: DATA SEGMENT AT 2000HBLOCK DB 0,0D8H,78H,89H,0E3H,65H,34H,0FFH,1FH,0ABHCOUNT EQU $-BLOCKMAX DB 0MIN DB 0DATA ENDSSTACK SEGMENT PARA STACK 'STACK'TOP DB 100 DUP(?)STACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKMAIN PROC FAR PUSH DS MOV AX,0 PUSH AX MOV AX,DATA MOV DS,AX MOV ES,AX MOV SI,OFFSET BLCOK MOV DI,OFFSET MIN MOV CX,COUNT CLD LODSB DEC CXLOOP1: CMP AL,SI JLE NEXT MOV AL,SINEXT: INC SI LOOP LOOP1 MOV DI,AL RETMAIN ENDPCODE ENDS END MAIN(1) 画出数据段中数据定义语句实现的内存分配图。 (2) 执行程序后,结果为: (每空格1分,共8分)OFFSET BLOCK = 0000H ,SEGMENT MAX = 2000H ,AL= 89H , DS= 2000H , CX= 0000H , (20005H)= 65H , (2000AH)= 00H , (2000BH)= 89H ,六、程序设计: 从STRING开始的内存单元中存放了一个字符串,该字符串以回车键(ASC码为0DH)结束,请编写程序段统计字符串的实际长度(不包括回车键),并将结果存于CH中。程序段为:STRINGDB ' XNGHJ T ',0DHLEASI , STRINGMOV CH , 0AGAIN:MOVAL , SICMP AL , 0DH ;回车ASC码JZ EXITINC CHINC SIJMP AGAINEXIT: HLT7