中北大学 微机原理习题及其答案 下载本文

中北大学微机原理及接口技术习题及练习册-----参考答案

基本练习题参考答案

第1章 计算机基础知识参考答案

一、填空题

1.地址总线,数据总线,控制总线 (次序可以是任意的) 2.中央处理器,存储器,输入/输出接口 (次序无关)

3.控制器,存储器 4. -128--127,0FFH 5. -9 6. 45.625(45.625D) 7. 01001111B(01001111或 1001111) 8. 硬件系统,软件系统 9. 0DC3H,0A01H 10. 运算器,控制器 11.补码,FFB2H(0FFB2H或0B2H或其他表示方式) 12. 79D(79)

13. -74(-74D) 14. 10100001(10100001B) 15.7,128 16.定点法 浮点法 二、选择题

1.D 2.B 3.D 4.B 5.B 6.B 7.C 三、简答题

1. (1)原码=11100100 补码=10011100 (2)原码=01000000 补码=01000000

(3)原码=11111111 补码=10000001 (4)原码=10000000 补码=00000000

2. 1)微处理器,2)主存储器,3)系统总线,4)辅助存储器,5)输入/输出(I/O)接口和输入/输出设备

3.在计算机中,连接CPU与各个功能部件之间的一组公共线路,称为总线,在计算机中一般有三组功能不同的总线,传输地址信息的称为地址总线,传输数据信息的称为数据总线,传输控制信息的称为控制总线。(只要答出总线定义,即可)

4.电子计算机是一种能自动,高速,精确地完成各式各样的数据存储,数值计算,逻辑推理,过程控制和数据处理功能的电子机器。计算机的主要特点有四个方面,即:高速性,准确性,逻辑性,通用性。(只要意思相近即可得分) 5. BCD码运算修正规则:

(1)凡是对应位运算结果为冗余码时,加(减)6修正。

(2)如该位和数有向高位进(借)位时,也在该位加(减)6修正。 (3)如低位修正结果使高位大于9时,高位进行加(减)6修正。(只要意思相近即可) 6.CPU是组成微机系统的核心部件,其功能如下:

(1)算术和逻辑运算,执行数据处理。(2)暂存数据。(3)实现程序控制,即可取指令,对指令寄存,译码分析并执行指令所规定的操作,还能提供整个系统所需的定时和控制信号。 7.数在机器内的表示形式为机器数。而机器数对应的数值称为机器数的真值。

第2章 8086/8088微处理器参考答案

一、填空题

1. 3027BH 2. 8,16 3. 使8086进行初始化 4. 4 5. 6 6. 0FFFFH,0000H 7. 执行部件EU,总线接口部件BIU(次序无关) 8. CPU的低8位数据线(AD0--AD7),CPU的高8位数据线(AD8--AD15) 9. 1MB(1兆字节),64K(65536) 10.3,TF 11. 先进后出(后进先出),SP,SS(SS,SP)

29

中北大学微机原理及接口技术习题及练习册-----参考答案

二、选择题

1. B 2. C 3. B 4. A 5. B 6. A 7. B 8. B 9. C 10. C 三、简答题

1. 各字节的有效地址分别为0085H,0086H,0087H,0088H,0089H,008AH,008BH和008CH,8个总线周期

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

3. 在8086内部,按功能划分可以分为BIU和EU两大部分,BIU主要负责总线接口,与存储器和I/O接口进行数据传递;而EU则是执行部件,主要是执行指令;这两部分分开可以在执行指令的同时,从存储器中将将要执行的指令取到指令队列,使两部分并行工作,提高CPU的速度。(只要意思为提高CPU的效率即可)

4. 一般称为CPU,它是将运算器、控制器集成在一块芯片上,本身具有运算能力和控制功能,是微型计算机的核心。(只要答出将运算器、控制器集成在一块即可)

第3章 指令系统参考答案

一、填空题

1.-128~+127 2.00FE,00FA 3.6006H,6008H

4.直接寻址,寄存器间接寻址(次序可以颠倒) 5.改变程序执行的顺序 6.(AL)=28H (28H送到AL寄存器) 7.BX,BP (次序无关)

8.0CAH 9.基址加变址寻址方式(基址址寻址方式) 10.32000H单元的内容,32001H单元的内容 11.立即寻址方式 12.6AH

13.寄存器相对寻址方式(相对寄存器寻址方式) 14.0-65535(其他数值表示也可以) 15.01A0H,基址变址寻址 二、选择题

1. C 2. B 3. D 4. B 5. D 6. A 7. C 8. C 9. A 10. B 11. A 12. C 13. D 14. A 15. D 16. A 17. D 三、简答题

1.址方式就是寻找操作数或操作数地址的方法。立即数寻址、寄存器寻址、直接寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址、相对基址变址寻址

2.I/O端口的地址范围是0000H--0FFFFH (64K),当地址范围在0000H-00FFH 时可以使用直接端口地址访问和间接访问,格式如下(以8位为例):

IN AL,PORT IN AL, DX OUT PORT,AL OUT DX,AL

而当地址范围在大于00FFH 时只能使用间接访问指令,格式如下(以8位为例):

IN AL,DX OUT DX,AL

3.(1)指令执行后SI取得的是内存变量NUM的值。

(2)指令执行后SI取得的是内存变量NUM的偏移地址。 (3) 指令执行后SI取得的是内存变量NUM的偏移地址。 4.(1) XOR AX,AX或AND AX,0 (2) ADC BX,BX (3) MOV CL,4

(4) MOV AL,BCD1 ROR AL,CL ADD AL,BCD1+1

5.(1)保护现场,即将主程序转移前的程序状态保存起来,保存内容主要是程序计数器PC的内容。保护现场通常采用堆栈完成,将程序计数器PC的内容(断点地址)压入堆栈。(2)将子程序入口地址

3 0

中北大学微机原理及接口技术习题及练习册-----参考答案

送入程序计数器PC,那么,下一条要执行的指令就是子程序的第一条指令。 6.取出NE OBJ指令后,(IP)=0626H,OBJ的值是:(IP)+D->IP

0626H+27H=064DH 0626H+6BH=0691H 0626H-3AH=05ECH

7.第一条指令是将BUFFER字单元的内容送到AX寄存器,而第二条指令是将BUFFER的段内偏移地址送到AX寄存器。 (1)(AX)=2345H (2)(AX)=0032H

8.通用数据读写自动选择数据段寄存器(DS) 目的数据串自动选择附加数据段寄存器(ES) 源数据串自动选择数据段寄存器(DS) 堆栈操作自动选择堆栈段寄存器(SS) 取指令操作自动选择代码段寄存器(CS) 9、(AX)=0FC2AH,SF=1, ZF=0, CF=1,OF=0

第4章 汇编语言程序设计参考答案

一、填空题

1.指令(程序),操作数 2.END 3.350 4.36(或24H) 二、简答题

1.指令是真正让计算机进行某种具体操作的命令,它在程序运行时执行。伪指令是通知汇编程序在翻译程序时执行的命令。

2.变量是在程序运行过程中,其值可以改变的量,通常给其命名一个符号,称为变量名。变量有三种属性:变量的类型、变量的段地址、变量的段内偏移地址;类型属性使用SIZE获取,段地址属性用SEG获取,偏移地址属性用OFFSET获取。

3.PTR优先于隐含的类型属性,指定操作数的类型的类型属性。因为在许多情况下,所使用的操作符类型与原指定的类型不同,又不希望改变原有的设定,只暂时改变操作符类型,则必须使用PTR属性操作符作为临时设定,这个临时设定类型只在本条指令中有效。

4.汇编语言是用指令助记符、符号地址编写程序的一种语言,每条指令对应一种机器指令。汇编就是将汇编语言源程序翻译成机器指令的过程

5.1)在AH寄存器中设定所需调用的功能号;2)根据功能的规定设定入口参数;3)用INT 21H进入子程序;4)根据规定,从相应的寄存器取得返回值。 三、程序设计

1. DATA SEGMENT INC CX BUFF DB 'ABCD??.*' CMP AL,'A' LENT DW ? JC NEXT COUNT DW ? CMP AL,'Z' DATA ENDS JNC NEXT CODE SEGMENT INC DX ASSUME CS:CODE,DS:DATA NEXT: INC BX START:MOV AX,DATA JMP LP MOV DS,AX DONE: INC CX LEA BX,BUFF MOV LENT,CX MOV CX,0 MOV COUNT,DX MOV DX,0 MOV AH,4CH LP: MOV AL,[BX] INT 21H CMP AL,'*' CODE ENDS JZ DONE END START

2. MOV AL,DAT AND AL,AL JS LP1 JZ LP2 MOV MARK+2,0FFH

LPl:

LP2: DONE: JMP DONE

MOV MARK,0FFH JMP DONE

MOV MARK+1,0FFH HLT

31

中北大学微机原理及接口技术习题及练习册-----参考答案

3、DSEG SEGMENT SUB BX,Y X DW ? ADD BX,600 Y DW ? MOV AX,X Z DW ? ADD AX,Y DSEG ENDS MOV DX,0 CSEG SEGMENT DIV BX ASSUME CS:CSEG,DS:DSEG MOV Z,AX MAIN PROC FAR MOV AH,4CH BEGIN: MOV AX,DSEG INT 21H MOV DS,AX MAIN ENDP MOV BX,X CSEG ENDS

END BEGIN 4、

CODE SEGMENT ASSUME CS:CODE,DS:CODE START: MOV BX,CODE MOV DS,BX MOV CL,4 MOV BL,4 MOV SI,OFFSET RESULT LP: CALL HASC MOV [SI],DL INC SI SHR AX,CL DEC BL JNZ LP EXIT: MOV AH,4CH INT 21H

5、 方法1 方法2 MOV CX,0 NOT AX SUB CX,AX NOT DX MOV AX,CX ADD AX,1 MOV CX, 0 ADC DX,0 SBB CX, DX MOV DX, CX

6. CODE SEGMENT ASSUME CS:CODE,DS:CODE START: MOV AX,CODE MOV DS,AX MOV ES,AX CLD LEA SI,STRING1 LEA DI,STRING2 MOV CX,DI SUB CX,SI XOR AX,AX

7、 MOV CL,4 SHR DX,CL SHR AX,CL SHL BL,CL MOV BL,DL OR AH,BL

8. DATA SEGMENT ADR1 DW 100 DUP(?) MAX DW ? MAXM DW ? DATA ENDS 3 2

HASC PROC NEAR MOV DL,AL AND DL,0FH CMP DL,9 JA L2

ADD DL,30H L1: RET

L2: ADD DL,37H JMP L1 HASC ENDP

RESULT DB 4 DUP(?) CODE ENDS END START 方法3 NEG DX NEG AX SBB DX,0 REPE CMPSB JNZ NE MOV AL,'Y' JMP EXIT NE: MOV AL,'N' EXIT: MOV AH,4CH INT 21H STRING1 DB'?' STRING2 DB'?' CODE ENDS END START MOV AX,ES:[SI] LOP1: CMP AX,ES:[SI] JAE LOP3 MOV AX,ES:[SI] MOV ES:[MAXM],SI