第3章 80X86指令系统
习题与思考题
1. 指出下列各指令中源操作数和目的操作数的寻址方式:
⑴ MOV BX,WORD PTR[2200H] ⑵ AAA
⑶ JUM 2200H ⑷ LES DI,[2100H]
⑸ MOV [BX+SI+8], BX
解答
⑴ MOV BX, WORD PTR[2200H]
源操作数:直接寻址;目的操作数:寄存器寻址
⑵ AAA
源操作数:寄存器寻址AL(也称隐含寻址);目的操作数:寄存器寻址
⑶ JUM 2200H
程序转移段内直接寻址方式
⑷ LES DI,[2100H]
源操作数:直接寻址;目的操作数:寄存器寻址
⑸ MOV [BX+SI+8], BX
源操作数:寄存器寻址;目的操作数:基址加变址寻址
2. 若AX=0ABCDH,BX=7F8FH,CF=1。求分别执行8086 CPU指令
⑴ ADD AX,BX ⑵ ADC AX,BX
⑶ SBB AX,BX ⑷ NEG AX
⑸ AND AX,BX ⑹ OR AX,BX
⑺ XOR AX, BX ⑻ IMUL BL
后,AX寄存器中的内容,并指出标志寄存器SF,ZF,AF,PF,CF及OF的状态。解答
⑴ AX=2B5CH, SZAPCO=001110B
⑵ AX=2B5DH, SZAPCO=001010B
⑶ AX=2C3DH, SZAPCO=001001B
⑷ AX=5433H, SZAPCO=001110B
⑸ AX=2B8DH, SZAPCO=00X100B
⑹ AX=FFCFH, SZAPCO=10X100B
⑺ AX=D222H, SZAPCO=10X100B
⑻ AX=3283H, SZAPCO=XXXX11B
3. 若AL=78H,BL=87H,
⑴求执行指令
ADD AL,BL
DAA
之后,AL=?、标志AF=?、CF=?
⑵若执行指令 SUB AL,BL与DAS后,AL=?、标志AF=?、CF=?
解答
⑴ AL=65H, AF=1, CF=1。
⑵ AL=91H, AF=0, CF=1。
4. 指出下列指令中哪些是错误的,并指出错在何处?
⑴ MOV DL,[DX] ⑵ MOV ES,2000H
⑶ SUB [BX],[SI] ⑷ ADD AX,[BX+CX]
⑸ XCHG DS,[2400H] ⑹ DEC 15H
⑺ IN AL,DX ⑻ OUT 300H,AX
解答
⑴错,DX不能作为间接寻址的寄存器。
⑵错,立即数不能直接送给段寄存器。
⑶错,两个存储单元间内容不能直接相减。
⑷错,CX寄存器不能作为变址寄存器。
⑸错,不允许段寄存器与存储单元内容进行交换
⑹错,减1指令不能对段寄存器直接操作
⑺对
⑻错,输出指令的地址若是16位,必须用DX间址。
5. 下列程序段执行后AX=?
设数据段有: TABLE DW 100,200,300,400
ENTRY DW 3
代码段对DS初始化
MOV BX,OFFSET TABLE
MOV SI,ENTRY
MOV AX,[BX+SI]
执行后AX=2C00
6. 将AL中的8位二进制数按倒序方式重新排列,即AL原来为D7D6...D0,倒序后AL=D0D1 (7)
参考答案
…
MOV CX, 8
L: SHL AL, 1
RCR BL, 1
LOOP L
MOV AL, BL
…
7.若起始地址偏移量为2000H的内存单元存放有100个ASCII码字符,现给这些字符添加奇偶校验位(bit7),使每个字符中“1”的个数为偶数,在顺序输出到地址为100H的端口。解答
MOV SI, 2000H
MOV CX, 100
MOV DX, 100H
NEXT2: MOV AL, [SI] ;取字符串中字符送AL
AND AL, 0FFH ;改变标志位
JPE NEXT1 ;“1”的个数为偶,bit7不变
OR AL, 80H ;“1”的个数为奇,bit7变为1
NEXT1: OUT DX, AL
INC SI
LOOP NEXT2
MOV AH, 4CH
INT 21H
8. 若SS=1000H,SP=2000H,AX=1234H,BX=5678H,FR=2115,试说明执行指令
PUSH AX
PUSH BX
PUSHF
POP CX
POP DX
之后,SP=? SS=? CX=? DX=? 并画图指出堆栈中各单元的内容。
解答: SS=1000H
SP=1FFEH
CX=2115H
DX=5678H
栈中各单元内容如下所示:
第4章宏汇编语言
习题与思考题
1.画出以下变量在内存中存储的示意图。
D1 DB ‘A’,’123’,09H, 45
D2 DW ‘A’,’CD’,23H, 4567H
D3 DD 1234H, 23456789H
2.设计子程序分别完成以下功能:
1)根据给定的参数值,判断该参数是偶数还是奇数。
2)把给定参数值的高、低数据位互换。
3.设计相应的宏完成以下功能:
1)把给定的参数按二进制显示。
2)求两个参数的和,并按十进制形式显示。
第5章汇编语言程序设计
习题与思考题
1. 设数据段中有字节型单元NUMBER和FLAG,判断NUMBER与给定的X和Y的大小关系(X Data segment NUMBER db ? FLAG db ? Data ends Code segment Assume cs: Code, ds: Data Beg: mov ax,data Mov ds,ax mov al, X Mov bl, Y Cmp NUMBER, X Jnc P1 Mov FLAG, 0FFH Jmp exit P1: cmp NUMBER, Y Ja P2 Mov FLAG, 00H Jmp exit P2: mov FLAG, 01H Exit: mov ah, 4ch Int 21h Code ends End Beg 2. 计算1+2+3+…+100,并把和保存在SUM单元中。 .486 DATA SEGMENT USE16 TT DB 1 SUM DW ? DATA ENDS CODE SEGMENT USE16 ASSUME CS:CODE,DS:DATA BEG: MOV AX , DATA MOV DS, AX MOV CX, 100 MOV AX, 0 START: ADD AX, TT INC TT LOOP START MOV SUM, AX MOV AH, 4CH MOV 21H CODE ENDS END BEG 3. 对一个给定的N数据,用冒泡排序法进行排序。解答:.486 Data segment Buf db ‘abcd18437hj’ Lens equ $-buf Count db lens Flag db ? Data ends Code segment Assume cs: code, ds: data Beg: mov ax, data Mov ds, ax Again: dec count Jz done Mov flag, 0 Mov cx, count Mov si, offset buf Last: mov al, [si] Mov ah, [si+1] Cmp ah, al Jnc next Mov [si], ah Mv [si+1], al Mov flag, 1 Next: inc si Loop last Cmp flag, 1 Je again Done: mov buf+lens, ‘$’ Mov ah, 9 Mov dx, offset buf Int 21h Mov ah, 4ch Int 21h Code ends End Beg 4. 由键盘输入任意的两个十进制数,然后转换成对应的压缩BCD码的形式在屏幕上显示。 .486 DATA SEGMENT USE16 BCD DB ? BUF DB 3 DB ? DB 3DUP(?) MESG1 DB ‘PLEASE INPUT :’,0DH,OAH,’$’ MESG2 DB ‘ERROR! NUMBER IS FROM 0 TO 9. PLEASE AGAIN!$’ DATA ENDS CODE SEGMENT USE16 ASSUME CS:CODE,DS:DATA BEG: MOV AX , DATA MOV DS, AX L1: MOV DX, OFFSET MESG1 MOV AH, 9 ;显示MESG1 INT 21H MOV AH, 0AH MOV DX, OFFSET BUF INT 21H ;输入字符串 MOV AL,BUF+2 CMP AL,30H JC ERROR CMP AL,3AH JC NEXT ;判断第一个数输入是否符合要求 ERROR:MOV DX,OFFSET MESG2 MOV AH,9 INT 21H JMP L1 ;输入错误提示重新输入 NEXT:SUB AL,30H SAL AL, 4 ;求出十位数字 MOV BCD,AL MOV AL,BUF+3 CMP AL,30H JC ERROR CMP AL,3AH JNC ERROR ;判断第二个数输入是否符合要求 SUB AL,30H OR BCD,AL MOV AH,4CH INT 21H CODE ENDS END BEG 5. 由键盘输入两个十六进制数,转换成等值的十进制数后在屏幕上显示。CMPDISP MACRO NN ;用宏语句完成比较法二进制到十进制转换LOCAL LAST,NEXT MOV DL, 0 LAST: CMP NUM, NN JC NEXT INC DL SUB NUM, NN JMP LAST NEXT: ADD DL, 30H MOV AH, 2 INT 21H ENDM DATA SEGMENT USE16 NUM DB ? BUF DB 3 DB ? DB 3DUP(?) DATA ENDS CODE SEGMENT USE16 ASSUME CS:CODE,DS:DATA BEG: MOV AX , DATA MOV DS, AX MOV AH, 0AH MOV DX, OFFSET BUF INT 21H MOV AL, BUF+2 CMP AL, 39H JNA L1 ;数字在0到9之间转 SUB AL, 07H ;数字在A到F之间 L1: SUB AL, 30H MUL 16 MOV NUM, AL MOV AL, BUF+3 CMP AL, 39H JNA L2 SUB AL, 07H L2: SUB AL, 30H ADD NUM, AL ;NUM中为十六进制数的二进制表示 CMPDISP 100 CMPDISP 10 CMPDISP 1 MOV AH, 4CH INT 21H CODE ENDS END BEG 第1章微机运算基础 习题和思考题 1.请完成以下计算: 174.66D=(10101110.10101)B=(AE. A8)H 10101110101.01011B=(1397.344)D=(575.58)H 4BCH=(010*********)B=()BCD 2.设字长为8位,X=(2A)16,当X分别为原码、补码、反码和无符号数的时候,其真 值是多少? 答:当X表示原码时,其真值为:+101010 当X表示补码时,其真值为:+101010 当X表示反码时,其真值为:+101010 当X表示无符号数数时,其真值为:00101010 3.设字长为8位,用补码形式完成下列计算,要求有运算结果并讨论是否发生溢出? 120+18 -33-37 -90-70 50+84 答:120+18 其补码形式分别为:(120)补=01111000 (18)补=00010010 01111000 +00010010 10001010 由于C s=0 ,C p=1,因此有溢出,结果错误 -33-37 其补码形式为:(-33)补=11011111 (-37)补=11011011 11011111 +11011011 10111010 由于C s=1,C p=1,所以没有溢出,结果正确 -90-70 其补码形式为:(-90)补=10011100 (-70)补=10111010 10011100 +10111010 01010110 由于C s=1,C p=0,所以有溢出,结果错误 50+84 其补码形式为:(50)补=00110010 (84)补=01010100 00110010 +01010100 10000110 由于C s=0,C p=1,所以有溢出,结果错误 4.请写出下列字符串的ASCII码值。 My name is Zhang san. 4D 79 6E 61 6D 65 69 73 5A 68 61 6E 67 73 61 6E 2E 第2章 80X86微机系统 习题与思考题 1.微型计算机主要由哪些基本部件组成?各部件的主要功能是什么? 答:微型计算机主要由输入设备、运算器、控制器、存储器和输出设备组成。 各部件的功能分别是:1、输入设备通过输入接口电路将程序和数据输入内存;2、运算器是进行算术运算和逻辑运算的部件,它是指令的执行部件;3、控制器是计算机的指挥中心,它负责对指令进行译码,产生出整个指令系统所需要的全部操作的控制信号,控制运算器、存储器、输入/输出接口等部件完成指令规定的操作;4、存储器用来存放程序、原始操作数、运算的中间结果数据和最终结果数据; 5、输出设备是CPU通过相应的输出接口电路将程序运行的结果及程序、数据送到的设备; 2.微处理器的发展过程是什么? 答:微型计算机的发展过程是: 第一代(1946~1957)——采用电子管为逻辑部件,以超声波汞延迟线、阴极射线管、磁芯和磁鼓等为存储手段;软件上采用机器语言,后期采用汇编语言。 第二代(1957~1965)——采用晶体管为逻辑部件,用磁芯、磁盘作内存和外存;软件上广泛采用高级语言,并出现了早期的操作系统。 第三代(1965~1971)——采用中小规模集成电路为主要部件,以磁芯、磁盘作内存和外存;软件上广泛使用操作系统,产生了分时、实时等操作系统和计算机网络。 第四代(1971~至今)——采用大规模集成电路(LSI)、超大规模集成电路(VLSI)为主要部件,以半导体存储器和磁盘为内、外存储器;在软件方法上产生了结构化程序设计和面向对象程序设计的思想。 3.简述80486微处理器的基本结构。 书12页 4.80486微处理器的工作模式有几种?当CS内容为1000H,IP内容为7896H,求在实地址 模式下的物理地址为多少? 答:实模式和保护模式及虚拟8086模式。当CS内容为1000H,IP内容为7896H,在实地址模式下的物理地址为17896H. 5.简述EPROM的工作原理。 书27页。 6.总线有那几种类型? 答:按照总线的传输类型可分为数据、地址、控制三类;按和cpu的距离可分为内部总线、系统总线和外部总线。 7.简述ISA与EISA总线的的区别。它们的局限性表现在哪里? 书34页。 8.PCI局部总线有些什么特点? 书35页 9.什么是USB?它有什么特点? 书41页 10.IEEE 1394总线有哪些特点?它与USB总线的区别在哪里? 书41页。 11.简述现场总线的特点。 书42页。 12.当代计算发展的主要核心技术有哪些? 当代计算机的主要核心技术有:CACHE技术、流水线技术、VM技术、RISC技术、多内核技术 第3章 80X86指令系统 习题与思考题 1. 指出下列各指令中源操作数和目的操作数的寻址方式: ⑴ MOV BX,WORD PTR[2200H] ⑵ AAA ⑶ JUM 2200H ⑷ LES DI,[2100H] ⑸ MOV [BX+SI+8], BX 解答 ⑴ MOV BX, WORD PTR[2200H] 源操作数:直接寻址;目的操作数:寄存器寻址 ⑵ AAA 源操作数:寄存器寻址AL(也称隐含寻址);目的操作数:寄存器寻址 ⑶ JUM 2200H 程序转移段内直接寻址方式 ⑷ LES DI,[2100H] 源操作数:直接寻址;目的操作数:寄存器寻址 ⑸ MOV [BX+SI+8], BX 源操作数:寄存器寻址;目的操作数:基址加变址寻址 2. 若AX=0ABCDH,BX=7F8FH,CF=1。求分别执行8086 CPU指令 ⑴ ADD AX,BX ⑵ ADC AX,BX ⑶ SBB AX,BX ⑷ NEG AX ⑸ AND AX,BX ⑹ OR AX,BX ⑺ XOR AX, BX ⑻ IMUL BL 后,AX寄存器中的内容,并指出标志寄存器SF,ZF,AF,PF,CF及OF的状态。解答 ⑴ AX=2B5CH, SZAPCO=001110B ⑵ AX=2B5DH, SZAPCO=001010B ⑶ AX=2C3DH, SZAPCO=001001B ⑷ AX=5433H, SZAPCO=001110B ⑸ AX=2B8DH, SZAPCO=00X100B ⑹ AX=FFCFH, SZAPCO=10X100B ⑺ AX=D222H, SZAPCO=10X100B ⑻ AX=3283H, SZAPCO=XXXX11B 3. 若AL=78H,BL=87H, ⑴求执行指令 ADD AL,BL DAA 之后,AL=?、标志AF=?、CF=? ⑵若执行指令 SUB AL,BL与DAS后,AL=?、标志AF=?、CF=? 解答 ⑴ AL=65H, AF=1, CF=1。 ⑵ AL=91H, AF=0, CF=1。 4. 指出下列指令中哪些是错误的,并指出错在何处? ⑴ MOV DL,[DX] ⑵ MOV ES,2000H ⑶ SUB [BX],[SI] ⑷ ADD AX,[BX+CX] ⑸ XCHG DS,[2400H] ⑹ DEC 15H ⑺ IN AL,DX ⑻ OUT 300H,AX 解答 ⑴错,DX不能作为间接寻址的寄存器。 ⑵错,立即数不能直接送给段寄存器。 ⑶错,两个存储单元间内容不能直接相减。 ⑷错,CX寄存器不能作为变址寄存器。 ⑸错,不允许段寄存器与存储单元内容进行交换 ⑹错,减1指令不能对段寄存器直接操作 ⑺对 ⑻错,输出指令的地址若是16位,必须用DX间址。 5. 下列程序段执行后AX=? 设数据段有: TABLE DW 100,200,300,400 ENTRY DW 3 代码段对DS初始化 MOV BX,OFFSET TABLE MOV SI,ENTRY MOV AX,[BX+SI] 执行后AX=2C00 6. 将AL中的8位二进制数按倒序方式重新排列,即AL原来为D7D6...D0,倒序后AL=D0D1 (7) 参考答案 … MOV CX, 8 L: SHL AL, 1 RCR BL, 1 LOOP L MOV AL, BL … 7.若起始地址偏移量为2000H的内存单元存放有100个ASCII码字符,现给这些字符添加奇偶校验位(bit7),使每个字符中“1”的个数为偶数,在顺序输出到地址为100H的端口。解答 MOV SI, 2000H MOV CX, 100 MOV DX, 100H NEXT2: MOV AL, [SI] ;取字符串中字符送AL AND AL, 0FFH ;改变标志位 JPE NEXT1 ;“1”的个数为偶,bit7不变 OR AL, 80H ;“1”的个数为奇,bit7变为1 NEXT1: OUT DX, AL INC SI LOOP NEXT2 MOV AH, 4CH INT 21H 8. 若SS=1000H,SP=2000H,AX=1234H,BX=5678H,FR=2115,试说明执行指令 PUSH AX PUSH BX PUSHF POP CX POP DX 之后,SP=? SS=? CX=? DX=? 并画图指出堆栈中各单元的内容。 解答: SS=1000H SP=1FFEH CX=2115H DX=5678H 栈中各单元内容如下所示: 第4章宏汇编语言 习题与思考题 1.画出以下变量在内存中存储的示意图。 D1 DB ‘A’,’123’,09H, 45 D2 DW ‘A’,’CD’,23H, 4567H D3 DD 1234H, 23456789H 2.设计子程序分别完成以下功能: 1)根据给定的参数值,判断该参数是偶数还是奇数。 2)把给定参数值的高、低数据位互换。 3.设计相应的宏完成以下功能: 1)把给定的参数按二进制显示。 2)求两个参数的和,并按十进制形式显示。 第5章汇编语言程序设计 习题与思考题 1. 设数据段中有字节型单元NUMBER和FLAG,判断NUMBER与给定的X和Y的大小关系(X Data segment NUMBER db ? FLAG db ? Data ends Code segment Assume cs: Code, ds: Data Beg: mov ax,data Mov ds,ax mov al, X Mov bl, Y Cmp NUMBER, X Jnc P1 Mov FLAG, 0FFH Jmp exit P1: cmp NUMBER, Y Ja P2 Mov FLAG, 00H Jmp exit P2: mov FLAG, 01H Exit: mov ah, 4ch Int 21h Code ends End Beg 2. 计算1+2+3+…+100,并把和保存在SUM单元中。 .486 DATA SEGMENT USE16 TT DB 1 SUM DW ? DATA ENDS CODE SEGMENT USE16 ASSUME CS:CODE,DS:DATA BEG: MOV AX , DATA MOV DS, AX MOV CX, 100 MOV AX, 0 START: ADD AX, TT INC TT LOOP START MOV SUM, AX MOV AH, 4CH MOV 21H CODE ENDS END BEG 3. 对一个给定的N数据,用冒泡排序法进行排序。 解答:.486 Data segment Buf db ‘abcd18437hj’ Lens equ $-buf Count db lens Flag db ? Data ends Code segment Assume cs: code, ds: data Beg: mov ax, data Mov ds, ax Again: dec count Jz done Mov flag, 0 Mov cx, count Mov si, offset buf Last: mov al, [si] Mov ah, [si+1] Cmp ah, al Jnc next Mov [si], ah Mv [si+1], al Mov flag, 1 Next: inc si Loop last Cmp flag, 1 Je again Done: mov buf+lens, ‘$’ Mov ah, 9 Mov dx, offset buf Int 21h Mov ah, 4ch Int 21h Code ends End Beg 4. 由键盘输入任意的两个十进制数,然后转换成对应的压缩BCD码的形式在屏幕上显示。 .486 DATA SEGMENT USE16 BCD DB ? BUF DB 3 DB ? DB 3DUP(?) MESG1 DB ‘PLEASE INPUT :’,0DH,OAH,’$’ MESG2 DB ‘ERROR! NUMBER IS FROM 0 TO 9. PLEASE AGAIN!$’ DATA ENDS CODE SEGMENT USE16 ASSUME CS:CODE,DS:DATA BEG: MOV AX , DATA MOV DS, AX L1: MOV DX, OFFSET MESG1 MOV AH, 9 ;显示MESG1 INT 21H MOV AH, 0AH MOV DX, OFFSET BUF INT 21H ;输入字符串 MOV AL,BUF+2 CMP AL,30H JC ERROR CMP AL,3AH JC NEXT ;判断第一个数输入是否符合要求 ERROR:MOV DX,OFFSET MESG2 MOV AH,9 INT 21H JMP L1 ;输入错误提示重新输入 NEXT:SUB AL,30H SAL AL, 4 ;求出十位数字 MOV BCD,AL MOV AL,BUF+3 CMP AL,30H JC ERROR CMP AL,3AH JNC ERROR ;判断第二个数输入是否符合要求 SUB AL,30H OR BCD,AL MOV AH,4CH INT 21H CODE ENDS END BEG 5. 由键盘输入两个十六进制数,转换成等值的十进制数后在屏幕上显示。CMPDISP MACRO NN ;用宏语句完成比较法二进制到十进制转换LOCAL LAST,NEXT MOV DL, 0 LAST: CMP NUM, NN JC NEXT INC DL SUB NUM, NN JMP LAST NEXT: ADD DL, 30H MOV AH, 2 INT 21H ENDM DATA SEGMENT USE16 NUM DB ? BUF DB 3 DB ? DB 3DUP(?) DATA ENDS CODE SEGMENT USE16 ASSUME CS:CODE,DS:DATA BEG: MOV AX , DATA MOV DS, AX MOV AH, 0AH MOV DX, OFFSET BUF INT 21H MOV AL, BUF+2 CMP AL, 39H JNA L1 ;数字在0到9之间转 SUB AL, 07H ;数字在A到F之间 L1: SUB AL, 30H MUL 16 MOV NUM, AL MOV AL, BUF+3 CMP AL, 39H JNA L2 SUB AL, 07H L2: SUB AL, 30H ADD NUM, AL ;NUM中为十六进制数的二进制表示 CMPDISP 100 CMPDISP 10 CMPDISP 1 MOV AH, 4CH INT 21H CODE ENDS END BEG 第6章接口技术 习题与思考题 1.什么是接口? 两个部件或两个系统之间的连接。微机接口,则涉及到微处理器与各外部设备之间的接口、微处理器与存储器之间的接口以及微型计算机之间的接口。习惯上说到接口只是指I/O接口,是指微处理器与外设之间的接口称为I/O接口。 2.端口独立编址有哪些特点?和统一编址的区别是什么? 解答:解答:输入/输出指令和访问存储器的指令明显区分开,使程序清晰,可读性好;而且I/O指令长度短,执行的速度快,也不占用内存空间,I/O地址译码电路较简单。不足之处是CPU指令系统中必须有专门的IN和OUT指令,这些指令的功能没有访问存储器的指令的功能强;I/O端口数目有限。另外,CPU要能提供区分存储器读/写和I/O读/写的控制信号。 3.DX间接寻址主要应用在什么情况?和直接端口寻址的区别是什么? 端口地址大于255的时候。 4.I/O端口地址译码电路有哪几种结构形式? 解答:固定式译码和可选式译码。 5.CPU和I/O设备间的数据传送方式有哪些?区别是什么? 有4种。无条件、查询、中断和DMA方式。区别见书140页。 第7章中断技术 习题与思考题 1.什么是中断?什么是中断优先级?设置中断优先级的目的是什么? 书143页。 2.中断处理的一般过程是什么? 中断请求,中断判优,中断响应,中断处理,中断返回。 3.什么是中断嵌套?如何处理中断嵌套? 当前中断还未处理完毕,又有了新的优先级更高的中断请求,cpu转而去处理优先级更高的中断称为中断嵌套。 4.什么是中断向量?它与中断服务程序入口地址的关系是什么? 中断向量即中断服务程序的入口地址。 5.什么是中断类型号?它的作用是什么? 中断类型号就是中断源的编号,在中断系统中用作中断源的识别。 6.可屏蔽中断和INTn中断的处理区别是什么? 可屏蔽中断是硬件中断而INTn中断是软件中断。 7.不可屏蔽中断和可屏蔽中断各有何特点?其用途如何? 不可屏蔽中断的优先级高于可屏蔽中断,不可屏蔽中断不受指令cli的影响,常用于紧急情况的故障处理,并由系统使用,一般用户不能使用。 8.PC微机的中断系统由哪几部分组成? 由CPU端的中断逻辑以及中断控制器8259组成。 9.80X86的异常有哪几个层次?各层次的特点是什么? 书148页 10.保护虚拟地址下的中断如何管理? 采用中断描述表IDT进行管理。 11.可编程中断控制器8259A协助CPU处理哪些中断事务? 书162页。 12.8259A具有哪些工作方式和中断操作功能?指出与这些功能相对应的命令字(ICW/OCW)的内容? 书164页。 13.在什么情况下,才要求用户对8259A进行初始化? 在没有配置完善的操作系统的单板机上需要对8259初始化。 14.如何对8259A进行初始化编程(包括单片使用和双片使用)? 书176,177页。 15.什么是中断响应周期?在中断响应周期中CPU和8259A一般要完成哪些工作? 书165页 16.用户利用PC微机的中断系统资源进行中断传送时,要求用户对8259A的哪些命令进行编程使用? 17.中断结束命令安排在程序的什么地方?在什么情况下要求发中断结束命令? 中断结束命令安排在中断返回指令iret前。如果8259工作在非自动中断结束方式下则要求发送中断结束命令。 18.保护模式下中断服务程序怎样入口? 书157页。 第8章常用I/O接口芯片 习题与思考题 1.可编程并行接口8255A面向CPU一侧的端口有几个。 4个。分别是1个控制子端口和3个数据口。 2.PC口按位置/复位字是如何定义的? PC口按位置/复位命令字用于PC引脚作输出单位控制或软件设定8255A的相应状态。 PC 其中: D0为置/复位选择位:D0=0表示相应位清0,D0=1表示相应位置1。 D3D2D1选择被置/复位的位号:D3D2D1=000选择PC口第0位; D3D2D1=001选择PC口第1位; D3D2D1=010选择PC口第2位; D3D2D1=011选择PC口第3位; D3D2D1=100选择PC口第4位; D3D2D1=101选择PC口第5位; D3D2D1=110选择PC口第6位; D3D2D1=111选择PC口第7位。 D6D5D4没有使用,一般让D6D5D4=000。 D7位为特征位,该命令字处D7=0。 3.如何对8255A进行初始化编程? 对8255A的编程涉及到两个内容:一是写控制字设置工作方式等信息;二是使C口的指定位置位/复位的功能。 在8255A工作之前,首先要对其进行初始化,也就是要写入控制字,来指定它的工作方式,指明是否允许它的某组端口采用中断方式传送数据。如果要改变某组端口的工作方式或中断允许情况,必须重新写入控制字。前面讲过,控制字有两个,分别为方式命令字和按位置/复位命令字,它们都必须写向控制寄存器。在实际应用中,可根据需要写入一个或两个命令字。 4.8255A有哪几种工作方式?各自有什么特点? 8255A有三种工作方式,用户可以通过编程来设置。 方式0——简单输入/输出——查询方式;A,B,C三个端口均可。 方式1——选通输入/输出——中断方式;A ,B,两个端口均可 方式2——双向输入/输出——中断方式。只有A端口才有。 5.请比较RS-232和TTL的电器特性,以及它们之间如何转化? 书203页。转化要用到专门的集成电路转换器件。 6.异步传输方式和同步传输方式有和区别? 书198页。他们的区别主要是达到同步的方式不同,桢结构不同。 7.8251在PC机中的是如何应用的? 书231页。 8.8253A三个计数器分别在PC机中的应用是什么? 9.8253如何完成日时钟定时? 书233页。 10.8237在PC机中是如何应用的? 书254页。 11.8237的工作步骤是什么? 书253页,例8-3 第一章课后习题 1.1 把下列十进制数转换成二进制数、八进制数、十六进制数。 ① 16.25 ② 35.75 ③ 123.875 ④ 97/128 1.2 把下列二进制数转换成十进制数。 ① 10101.01 ② 11001.0011 ③ 111.01 ④ 1010.1 1.3 把下列八进制数转换成十进制数和二进制数。 ① 756.07 ② 63.73 ③ 35.6 ④ 323.45 1.4 把下列十六进制数转换成十进制数。 ① A7.8 ② 9AD.BD ③ B7C.8D ④ 1EC 1.5 求下列带符号十进制数的8位补码。 ① +127 ② -1 ③ -0 ④ -128 1.6 求下列带符号十进制数的16位补码。 ① +355 ② -1 1.7 计算机分那几类?各有什么特点? 1.8 简述微处理器、微计算机及微计算机系统三个术语的内涵。 1.9 80X86微处理器有几代?各代的名称是什么? 1.10 你知道现在的微型机可以配备哪些外部设备? 1.11 微型机的运算速度与CPU的工作频率有关吗? 1.12 字长与计算机的什么性能有关? 习题一参考答案 1.1 ① 16.25D=10000.01B=20.2Q=10.4H ② 35.75D=100011.11B=43.6Q=23.CH ③ 123.875D=1111011.111B=173.7Q=7B.EH ④ 97/128D=64/123+32/128+1/128=0.1100001B=0.604Q=0.C2H 1.2 ① 10101.01B=21.25D ② 11001.0011B=25.1875D ③ 111.01B=7.25D ④ 1010.1B=10.5D 1.3 ① 756.07Q=111101110.000111B=494.109D ② 63.73Q=110011.111011B=51.922D ③ 35.6Q=11101.110B=29.75D ④ 323.45Q=11010011.100101B=211.578D 1.4 ① A7.8H=167.5D ② 9AD.BDH=2477.738D ③ B7C.8D=2940.551D ④ 1ECH=492D 1.5 ① [+127] 补=01111111 ② [-1] 补 = 11111111 ③ [-0] 补=00000000 ④[-128] 补 =10000000 1.6 ① [+355] 补= 00011 ② [-1] 补 = 1111 1111 1111 1111 1.7 答:传统上分为三类:大型主机、小型机、微型机。大型主机一般为高性能的并行处理系统,存储容量大,事物处理能力强,可为众多用户提供服务。小型机具有一定的数据处理能力,提供一定用户规模的信息服务,作为部门的信息服务中心。微型机一般指在办公室或家庭的桌面或可移动的计算系统,体积小、价格低、具有工业化标准体系结构,兼容性好。 1.8 答:微处理器是微计算机系统的核心硬件部件,对系统的性能起决定性的影响。微计算机包括微处理器、存储器、I/O接口电路及系统总线。微计算机系统是在微计算机的基础上配上相应的外部设备和各种软件,形成一个完整的、独立的信息处理系统。 1.9 答:从体系结构上可分为5代:4004:4位机;8080/8085:8位机;8086/8088/80286:16位机;80386/80486:32位机;Pentium系列机:64位。 第二章课后习题 2.1、EU与BIU各自的功能是什么?如何协同工作? 2.2、8086/8088微处理器内部有那些寄存器,它们的主要作用是什么? 2.3、8086对存储器的管理为什么采用分段的办法? 第一章 2、完成下列数制之间的转换。 (1)01011100B=92D (3)135D=10000111B (5)10110010B=262Q=B2H 3、组合型BCD码和非组合型BCD码有什么区别?写出十进制数254的组合型BCD数和非组合型数。 答:组合型BCD码用高四位和低四位分别对应十进制数的个位和十位,其表示范围是0~99;非组合型BCD码用一个字节的低四位表示十进制数,高四位则任意取值,表示范围为0~9。 组合型:254=(001001010100)BCD 非组合型:254=(00000010 00000101 00000100)BCD 7、计算机为什么采用补码形式存储数据?当计算机的字长n=16,补码的数据表示范围是多少? 答:在补码运算过程中,符号位参加运算,简化了加减法规则,且能使减法运算转化为加法运算,可以简化机器的运算器电路。+32767~ -32768。 9、设计算机字长n=8,求下列各式的[X+Y]补和[X-Y]补,并验证计算结果是否正确。 (1)X=18,Y=89 [X+Y]补=00010010+01011001=01101011B=107D 正确 [X-Y]补=10111001B=00010010+10100111=(-71D)补正确 (2)X=-23,Y=-11 [X+Y]补=11101001+11110101=11011110B=(-34D)补正确[X-Y]补=11101001+00001011=11110100B=(-12D)补正确 (3)X=18,Y=-15 [X+Y]补=00010010+11110001=00000011B=(3D)补正确 [X-Y]补=00010010+00001111=00100001B=(33D)补正确 (4)X=-18,Y=120 [X+Y]补=11101110+01111000=01100110B=(102D)补正确[X-Y]补=11101110+10001000=01110110B=(123D)补由于X-Y=-138 超出了机器数范围,因此出错了。 13、微型计算机的主要性能指标有哪些? 答:CPU字长、存储器容量、运算速度、CPU内核和IO工作电压、制造工艺、扩展能力、软件配置。 第二章 2、8086标志寄存器包含哪些标志位?试说明各标志位的作用。 答:进位标志:CF;奇偶校验:PF;辅助进位:AF;零标志:ZF;符号标志:SF;溢出标志:OF。 5、逻辑地址与物理地址有什么区别?如何将逻辑地址转换为物理地址? 答:物理地址是访问存储器的实际地址,一个存储单元对应唯一的一个物理地址。逻辑地址是对应逻辑段内的一种地址表示形式,它由段基址和段内偏移地址两部分组成,通常表示为段基址:偏移地址。 物理地址=段基址*10H+偏移地址。 6、写出下列逻辑地址的段基址、偏移地址和物理地址。 (1)2314H:0035H (2)1FD0H:000AH 答:(1)段基址:2314H;偏移地址:0035H;物理地址:23175H。 (2)段基址:1FD0H;偏移地址:000AH;物理地址:1FD0AH。 8、设(CS)=2025H,(IP)=0100H,则当前将要执行指令的物理地址是多少? 答:物理地址=(CS)*10H+(IP)=20350H 9、设一个16字的数据区,它的起始地址为70A0H:DDF6H(段基址:偏移地址),求这个数据区的首字单元和末字单元的物理地址。 第一章 6、[+42]原=00101010B=[+42]反=[+42]补 [-42]原 [-42]反 [-42]补 [+85]原=01010101B=[+85]反=[+85]补 [-85]原 [-85]反 [-85]补 10、微型计算机基本结构框图 微处理器通过一组总线(Bus)与存储器和I/O接口相连,根据指令的控制,选中并控制它们。微处理器的工作:控制它与存储器或I/O设备间的数据交换;进行算术和逻辑运算等操作;判定和控制程序流向。 存储器用来存放数据和指令,其内容以二进制表示。每个单元可存8位(1字节)二进制信息。 输入——将原始数据和程序传送到计算机。 输出——将计算机处理好的数据以各种形式(数字、字母、文字、图形、图像和声音等)送到外部。 接口电路是主机和外设间的桥梁,提供数据缓冲驱动、信号电平转换、信息转换、地址译码、定时控制等各种功能。 总线:从CPU和各I/O接口芯片的内部各功能电路的连接,到计算机系统内部的各部件间的数据传送和通信,乃至计算机主板与适配器卡的连接,以及计算机与外部设备间的连接,都要通过总线(Bus)来实现。 13、8086有20根地址线A19~A0,最大可寻址220=1048576字节单元,即1MB;80386有32根地址线,可寻址232=4GB。8086有16根数据线,80386有32根数据线。 1、8086外部有16根数据总线,可并行传送16位数据; 具有20根地址总线,能直接寻址220=1MB的内存空间; 用低16位地址线访问I/O端口,可访问216=64K个I/O端口。 另外,8088只有8根数据总线 2、8086 CPU由两部分组成:总线接口单元(Bus Interface Unit,BIU) BIU负责CPU与内存和I/O端口间的数据交换: BIU先从指定内存单元中取出指令,送到指令队列中排队,等待执行。 执行指令时所需的操作数,也可由BIU从指定的内存单元或I/O端口中获取,再送到EU去执行。 执行完指令后,可通过BIU将数据传送到内存或I/O端口中。 指令执行单元(Execution Unit,EU) EU负责执行指令: 它先从BIU的指令队列中取出指令,送到EU控制器,经译码分析后执行指令。EU的算术逻辑单元(Arithmetic Logic Unit,ALU)完成各种运算。 6、见书P28-29。 7.(1) 1200:3500H=1200H×16+3500H=15500H (2) FF00:0458H=FF00H×16+0458H=FF458H (3) 3A60:0100H=3A80H×16+0100H=3A700H 8、(1)段起始地址 1200H×16=12000H,结束地址 1200H×16+FFFFH=21FFFH (2)段起始地址 3F05H×16=3F050H,结束地址 3F05H×16+FFFFH=4F04FH (3)段起始地址 0FFEH×16=0FFE0H,结束地址 0FFEH×16+FFFFH=1FFD0H 9、3456H×16+0210H=34770H 11、堆栈地址范围:2000:0000H~2000H(0300H-1),即20000H~202FFH。执行 两条PUSH指令后,SS:SP=2000:02FCH,再执行1条PUSH指令后,SS: SP=2000:02FAH。 12、(2000H)=3AH, (2001H)=28H, (2002H)=56H, (2003H)=4FH 从2000H单元取出一个字数据需要1次操作,数据是 283AH; 从2001H单元取出一个字数据需要2次操作,数据是 5628H; 17、CPU读写一次存储器或I/O端口的时间叫总线周期。1个总线周期需要4个系统时钟周期(T1~T4)。8086-2的时钟频率为8MHz,则一个T周期为125ns,一个总线周期为500ns,则CPU每秒最多可以执行200万条指令。 1、 2、B 3、十,非压缩的BCD码 4、 5、微型计算机、微型计算机系统 6、,, 二、 B D B 三、 1、微型计算机系统的基本组成。 答案:以微型计算机为主体,配上相应的系统软件、应用软件和外部设备之后,组成微型计算机系统。 2、简述冯.诺依曼型计算机基本组成。 答案:冯.诺依曼型计算机是由运算器,控制器,存储器,输入设备和输出设备组成的。其中,运算器是对信息进行加工和运算的部件;控制器是整个计算机的控制中心,所以数值计算和信息的输入,输出都有是在控制器的统一指挥下进行的;存储器是用来存放数据和程序的部件,它由许多存储单元组成,每一个存储单元可以存放一个字节;输入设备是把人们编写好的程序和数据送入到计算机内部;输出设备是把运算结果告知用户。 3、什么是微型计算机 答案:微型计算机由CPU、存储器、输入/输出接口电路和系统总线构成。 4、什么是溢出 答案:在两个有符号数进行家减运算时,如果运算结果超出了该符号数可表示的范围,就会发生溢出,使计算出错。 1、4、100ns 2、Ready ,Tw(等待) 3、ALE 4、INTR 5、85010H 6、存储器或I/O接口未准备好 7、非屏蔽中断 8、指令周期 9、4 二、 1、在内部结构上,微处理器主要有那些功能部件组成 答案:1) 算术逻辑部件2) 累加器和通用寄存器组 3) 程序计数器4) 时序和控制部件 2、微处理器一般应具有那些基本功能 答案:1.可以进行算术和逻辑运算2.可保存少量数据 3.能对指令进行译码并完成规定的操作4.能和存储器、外部设备交换数据 5.提供整个系统所需的定时和控制6.可以响应其他部件发来的中断请求 3、什么是总线周期 答案:CPU通过外部总线对存储器或I/O端口进行一次读/写操作的过程;一个基本的总线周期包含4个T状态,分别称为T1、T2、T3、T4。 三、×、×、×、×、×、√、√ 李伯成《微机原理》习题第一章 本章作业参考书目: ①薛钧义主编《微型计算机原理与应用——Intel 80X86系列》 机械工业出版社2002年2月第一版 ②陆一倩编《微型计算机原理及其应用(十六位微型机)》 哈尔滨工业大学出版社1994年8月第四版 ③王永山等编《微型计算机原理与应用》 西安电子科技大学出版社2000年9月 1.1将下列二进制数转换成十进制数: X=10010110B= 1*27+0*26+0*25+1*24+0*23+1*22+1*21 +0*21 =128D+0D+0D+16D+0D+0D+4D+2D=150D X=101101100B =1*28+0*27+1*26+1*25+0*24+1*23+1*22+0*21+0*20 =256D+0D+64D+32D+0D+16D+4D+0D=364D X=1101101B= 1*26+1*25+0*24+1*23+1*22+0*21 +1*20 =64D+32D+0D+8D+4D+0D+1D=109D 1.2 将下列二进制小数转换成十进制数: (1)X=0.00111B= 0*2-1+0*2-2+1*2-3+1*2-4+1*2-5= 0D+0D+0.125D+0.0625D+0.03125D=0.21875D (2) X=0.11011B= 1*2-1+1*2-2+0*2-3+1*2-4+1*2-5= 0.5D+0.25D+0D+0.0625D+0.03125D=0.84375D (3) X=0.101101B= 1*2-1+0*2-2+1*2-3+1*2-4+0*2-5+1*2-6= 0.5D+0D+0.125D+0.0625D+0D+0.015625D=0.703125D 1.3 将下列十进制整数转换成二进制数: (1)X=254D=11111110B (2)X=1039D=10000001111B (3)X=141D=10001101B 1.4 将下列十进制小数转换成二进制数: (1)X=0.75D=0.11B (2) X=0.102 D=0.0001101B (3) X=0.6667D=0.101010101B 1.5 将下列十进制数转换成二进制数 (1) 100.25D= 0110 0100.01H (2) 680.75D= 0010 1010 1000.11B 1.6 将下列二进制数转换成十进制数 (1) X=1001101.1011B =77.6875D 6、[+42]原=00101010B=[+42]反=[+42]补 [-42]原=B [-42]反=B [-42]补=B [+85]原=01010101B=[+85]反=[+85]补 [-85]原=B [-85]反=B [-85]补=B 10、微型计算机基本结构框图 微处理器通过一组总线(Bus)与存储器和I/O接口相连,根据指令的控制,选中并控制它们。微处理器的工作:控制它与存储器或I/O设备间的数据交换;进行算术和逻辑运算等操作;判定和控制程序流向。 存储器用来存放数据和指令,其内容以二进制表示。每个单元可存8位(1字节)二进制信息。 输入——将原始数据和程序传送到计算机。 输出——将计算机处理好的数据以各种形式(数字、字母、文字、图形、图像和声音等)送到外部。 接口电路是主机和外设间的桥梁,提供数据缓冲驱动、信号电平转换、信息转换、地址译码、定时控制等各种功能。 总线:从CPU和各I/O接口芯片的内部各功能电路的连接,到计算机系统内部的各部件间的数据传送和通信,乃至计算机主板与适配器卡的连接,以及计算机与外部设备间的连接,都要通过总线(Bus)来实现。 13、8086有20根地址线A19~A0,最大可寻址220=1048576字节单元,即1MB;80386有32根地址线,可寻址232=4GB。8086有16根数据线,80386有32根数据线。 1、8086外部有16根数据总线,可并行传送16位数据; 具有20根地址总线,能直接寻址220=1MB的内存空间; 用低16位地址线访问I/O端口,可访问216=64K个I/O端口。 另外,8088只有8根数据总线 2、8086 CPU由两部分组成:总线接口单元(Bus Interface Unit,BIU) BIU负责CPU与内存和I/O端口间的数据交换: BIU先从指定内存单元中取出指令,送到指令队列中排队,等待执行。 执行指令时所需的操作数,也可由BIU从指定的内存单元或I/O端口中获取,再送到EU去执行。 执行完指令后,可通过BIU将数据传送到内存或I/O端口中。 指令执行单元(Execution Unit,EU) EU负责执行指令: 它先从BIU的指令队列中取出指令,送到EU控制器,经译码分析后执行指令。EU的算术逻辑单元(Arithmetic Logic Unit,ALU)完成各种运算。 6、见书P28-29。 7.(1)1200:3500H=1200H×16+3500H=15500H (2)FF00:0458H=FF00H×16+0458H=FF458H (3)3A60:0100H=3A80H×16+0100H=3A700H 8、(1)段起始地址1200H×16=12000H,结束地址1200H×16+FFFFH=21FFFH (2)段起始地址3F05H×16=3F050H,结束地址3F05H×16+FFFFH=4F04FH (3)段起始地址0FFEH×16=0FFE0H,结束地址0FFEH×16+FFFFH=1FFD0H 9、3456H×16+0210H=34770H 11、堆栈地址范围:2000:0000H~2000H(0300H-1),即20000H~202FFH。执行两条PUSH指令后,SS:SP=2000:02FCH,再执行1条PUSH指令后,SS:SP=2000:02FAH。 12、(2000H)=3AH, (2001H)=28H, (2002H)=56H, (2003H)=4FH 从2000H单元取出一个字数据需要1次操作,数据是283AH; 从2001H单元取出一个字数据需要2次操作,数据是5628H; 17、CPU读写一次存储器或I/O端口的时间叫总线周期。1个总线周期需要4个系统时钟周期(T1~T4)。8086-2的时钟频率为8MHz,则一个T周期为125ns,一个总线周期为500ns,则CPU每秒最多可以执行200万条指令。 第1章微型计算机系统 〔习题〕简答题 (2)总线信号分成哪三组信号 (3)PC机主存采用DRAM组成还是SRAM组成 (5)ROM-BIOS是什么 (6)中断是什么 (9)处理器的“取指-译码-执行周期”是指什么 〔解答〕 ②总线信号分成三组,分别是数据总线、地址总线和控制总线。 ③ PC机主存采用DRAM组成。 ⑤ ROM-BIOS是“基本输入输出系统”,操作系统通过对BIOS 的调用驱动各硬件设备,用户也可以在应用程序中调用BIOS中的许多功能。 ⑥中断是CPU正常执行程序的流程被某种原因打断、并暂时停止,转向执行事先安排好的一段处理程序,待该处理程序结束后仍 返回被中断的指令继续执行的过程。 ⑨指令的处理过程。处理器的“取指—译码—执行周期”是指处理器从主存储器读取指令(简称取指),翻译指令代码的功能(简称译码),然后执行指令所规定的操作(简称执行)的过程。 〔习题〕填空题 (2)Intel 8086支持___________容量主存空间,80486支持___________容量主存空间。 (3)二进制16位共有___________个编码组合,如果一位对应处理器一个地址信号,16位地址信号共能寻址___________容量主存空间。 (9)最初由公司采用Intel 8088处理器和()操作系统推出PC机。 ② 1MB,4GB ③ 216,64KB (9)IBM,DOS 〔习题〕说明微型计算机系统的硬件组成及各部分作用。 〔解答〕 CPU:CPU也称处理器,是微机的核心。它采用大规模集成电路芯片,芯片内集成了控制器、运算器和若干高速存储单元(即寄存器)。处理器及其支持电路构成了微机系统的控制中心,对系统的各个部件进行统一的协调和控制。 存储器:存储器是存放程序和数据的部件。 外部设备:外部设备是指可与微机进行交互的输入(Input)设备和输出(Output)设备,也称I/O设备。I/O设备通过I/O接口与主机连接。 总线:互连各个部件的共用通道,主要含数据总线、地址总线和控制总线信号。 〔习题〕区别如下概念:助记符、汇编语言、汇编语言程序和汇编程序。 〔解答〕 助记符:人们采用便于记忆、并能描述指令功能的符号来表示机器指令操作码,该符号称为指令助记符。 汇编语言:用助记符表示的指令以及使用它们编写程序的规则就形成汇编语言。 汇编语言程序:用汇编语言书写的程序就是汇编语言程序,或称汇编语言源程序。 1.2 课后练习题 一、填空题 1.将二进制数1011011.1转换为十六进制数为__5B.8H_____。 2.将十进制数199转换为二进制数为____ 11000111____B。 3.BCD码表示的数,加减时逢__10____进一,ASCII码用来表示数值时,是一种非压缩的BCD 码。 4.十进制数36.875转换成二进制是___100100.111____________。 5.以_微型计算机____为主体,配上系统软件和外设之后,就构成了__微型计算机系统____。6.十进制数98.45转换成二进制为__1100010.0111_B、八进制__142.3463________Q、十六进制__62.7333________H。(精确到小数点后4位) 二、选择题 1.堆栈的工作方式是__B_________。 A)先进先出B)后进先出C)随机读写D)只能读出不能写入 2.八位定点补码整数的范围是____D_________。 A)-128-+128 B)-127-+127 C)-127-+128 D)-128-+127 3.字长为16位的数可表示有符号数的范围是___B___。 A)-32767-+32768 B)-32768-+32767 C)0-65535 D)-32768-+32768 三、简答题 1.微型计算机系统的基本组成? 微型计算机,系统软件,应用软件,输入输出设备 2.简述冯.诺依曼型计算机基本思想? ●将计算过程描述为由许多条指令按一定顺序组成的程序,并放入存储器保存 ●指令按其在存储器中存放的顺序执行; ●由控制器控制整个程序和数据的存取以及程序的执行; ●以运算器为核心,所有的执行都经过运算器。 3.什么是微型计算机? 微型计算机由CPU、存储器、输入/输出接口电路和系统总线构成。 4.什么是溢出? 运算结果超出了计算机所能表示的范围。 2.2 一、填空题 1. 8086/8088的基本总线周期由___4____个时钟周期组成,若CPU主频为10MHz,则一个时钟周期的时间为___0.1μs_____。 2. 在8086CPU的时序中,为满足慢速外围芯片的需要,CPU采样___READY_________信号,若未准备好,插入___TW__________时钟周期。 3. 8086系统总线形成时,须要用_____ALE__________信号锁定地址信号。 4. 对于8086微处理器,可屏蔽中断请求输入信号加在_____INTR__________引脚。 部分习题答案 第二章计算机中的数值和编码 1、将十进制数转换为二进制和十六进制 (1) =1000 =(2) =1101 = (3) ==(4) =10 1B=H 2、将下列二进制数转换为十进制和十六进制 (1) 111010 B=58 =3A H(2) 1011 = =H (3) 1B= = (4) B= = 3、完成下列二进制数的加减法运算 (1) +=(2) -= (3) 00111101+=(4) -= 4、完成下列十六进制数的加减法运算 (1) 745CH+56DFH=D14B H(2) -=H (3) +=1678 .FC H(4) 6F01H-EFD8H=7F29 H 5、计算下列表达式的值 (1) +.1011B+= (2) -.11H+= (3) ++-= 6、选取字长n为8位和16位两种情况,求下列十进制数的补码。 (1) X=-33的补码:1101 1111, 111 (2) Y=+33的补码:0010 0001, 0000 0000 0010 0001 (3) Z=-128的补码:1000 0000,1111 1111 1000 0000 (4) N=+127的补码:0111 1111, 0000 0000 0111 1111 (5) A=-65的补码:1011 1111, 1111 1111 1011 1111 (6) B=+65的补码:0100 0001,0000 0000 0100 0001 (7) C=-96的补码:1010 0000,1111 1111 1010 0000 (8) D=+96的补码:0110 0000, 0000 0000 0110 0000 7、写出下列用补码表示的二进制数的真值 (1) [X]补=1000 0000 0000 0000 H X=-1000 0000 0000 0000 H=-32768 (2) [Y]补=0000 0001 0000 0001 H Y=+0000 0001 0000 0001 H=+257 (3) [Z]补=1111 1110 1010 0101 H Z=-0000 0001 0101 1011 H=-347 (4) [A]补=0000 0010 0101 0111 H A=+0000 0010 0101 0111 H=+599 8、设机器字长为8位,最高位为符号位,试对下列格式进行二进制补码运算,并判断结果是否溢出。 (1) 43+8 ∵[43]补=00101011B,[8]补=00001000B ∴[43]补+[8]补=00101011B+00001000B=00110011B=33H 00101011B +00001000B 微机原理习题 第一章绪论 习题与答案 1、把下列二进制数转换成十进制数、十六进制数及BCD码形式。 (1) 10110010B= (2) 01011101、101B = 解: (1) 10110010B = 178D =B2H=(00010111 1000)BCD (2) 01011101、101B =93、625D=5D.AH =(1001 0011、0110 0010 0101)BCD 2. 把下列十进制数转换成二进制数。 (1) 100D= (2) 1000D= (3) 67、21D= 解: (1) 100D = 01100100B (2) 1000D=1111101000B (3) 67、21D=1000011、0011B 3. 把下列十六进制数转换成十进制数、二进制数。 (1) 2B5H = (2) 4CD、A5H= 解: (1) 2B5H = 693D = 00101011 0101B (2) 4CD、A5H=1229.6445D=0100 11001101.10100101B 4、计算下列各式。 (1) A7H+B8H = (2) E4H-A6H = 解: (1) A7H+B8H = 15FH (2) E4H-A6H =3EH 5、写出下列十进制数的原码、反码与补码。 (1)+89 (2)-37 解: (1) [+89 ] 原码、反码与补码为: 01011001B (2) [-37] 原码= 10100101 B [-37] 反码= 11011010 B [-37] 补码=11011011 B 6.求下列用二进制补码表示的十进制数 (1)(01001101)补= (2)(10110101)补= 解: (1)(01001101)补= 77D (2)(10110101)补=-75D 7.请用8位二进制数写出下列字符带奇校验的ASCII码。 (1)C: 1000011(2)O: 1001111 (3)M: 1001101 (4)P: 1010000 解: (1)C:0 1000011 (2)O: 01001111 (3)M:11001101 (4)P: 1 1010000 8、请用8位二进制数写出下列字符带偶校验的ASCII码。 (1)+:0101011 (2)=: 0111101 (3)#:0100011(4)>: 0111110 解: (1)+:00101011 (2)=: 10111101 (3)#:10100011 (4)>: 1 0111110 9、叙述CPU 中PC的作用。 解:PC就是CPU中的程序计数器,其作用就是提供要执行指令的地址。 《微机原理与接口技术》 复习题 第1章 1.简述名词的概念:微处理器、微型计算机、微型计算机系统。 答: (1)微处理器:微处理器(Microprocessor)简称μP或MP,或CPU。CPU是采用大规模和超大规模集成电路技术将算术逻辑部件ALU(Arithmetic Logic Unit)、控制部件CU (Control Unit)和寄存器组R(Registers)等三个基本部分以及内部总线集成在一块半导体芯片上构成的电子器件。 (2)微型计算机:微型计算机(Microcomputer)是指以微处理器为核心,配上由大规模集成电路制作的存储器、输入/输出接口电路及系统总线等所组成的计算机,简称微机。 (3)微型计算机系统:微型计算机系统由硬件与软件两大部分组成,分别称为硬件(Hardware)系统与软件(Software)系统。其中,硬件(Hardware)系统由CPU、内存储器、各类I/O接口、相应的I/O设备以及连接各部件的地址总线、数据总线、控制总线等组成。 软件(Software)系统:计算机软件(Software)是指为运行、维护、管理、应用计算机所编制的程序及程序运行所需要的数据文档资料的总和。一般把软件划分为系统软件和应用软件。其中系统软件为计算机使用提供最基本的功能,但是并不针对某一特定应用领域。而应用软件则恰好相反,不同的应用软件根据用户和所服务的领域提供不同的功能。 2.简述名词的概念:指令寄存器、地址寄存器、标志寄存器。 答: (1)指令寄存器:指令寄存器(Instruction Register,IR)用来保存计算机当前正在执行或即将执行的指令。当一条指令被执行时,首先,CPU从内存取出指令的操作码,并存入IR中,以便指令译码器进行译码分析。 (2)地址寄存器:地址寄存器(Address Register,AR)被动地接受IP传送给它的地址值(二进制地址),AR的作用是保持IP送来的地址,并且以并行方式连接输出到CPU的地址引脚上,以便CPU访问指定的内存单元。 (3)标志寄存器:标志寄存器(Flags,F)是CPU中不可缺少的程序状态寄存器,因此,也称程序状态字寄存器(PSW),所谓状态是指算术或逻辑运算后,结果的状态以二进制的0或1在标志寄存器中标识出来,例如,运算结果有进位,则进位标志位CF=1,否则为0。 3.何谓IA-32处理器? 第一章微型计算机的基础知识 1-1 将下列十进制数转换为二进制数、十六进制数。 (1)110 (2)1 039 (3)0.75 (4)0.156 25 1-2 将下列十进制数转换为BCD 码。 (1)129 (2)5 678 (3)0.984 (4)93.745 1-3 将下列二进制数转换为十进制数、十六进制数。 (1)10101010 (2)10000000 (3)11000011.01 (4)01111110 1-4 将下列十六进制数转换为二进制数、十进制数。 (1)8E6H (2)0A42H (3)7E.C5H (4) 0F19.1DH 1-5 将下列二进制数转换为BCD 码。 (1)1011011.101 (2)1010110.001 1-6 将下列BCD 码转换为二进制数。 (1)(0010 0111 0011) BCD (2)(1001 0111.0010 0101) BCD 1-7 完成下列二进制数的运算。 (1)1001.11+11.11 (2)1101.01-0110.11 (3)1000.011-1001.101 (4)1111+1101 1-8 完成下列十六进制数的运算。 (1)6AH+0A6H (2)0AB1FH+0EFCH (3)12ADH-1DEH (4)117H-0ABH 1-9 已知X=01H,Y=0FFH ,在下面的情况下比较两数的大小。 (1)无符号数 (2)符号数 (均为补码) 1-10 计算下列各表达式。 (1)101+‘A’+01101001B+0D5H+57Q (2)127.8125+10111101.101+375.63Q+1FC.8AH 1-11 写出下列字符串的ASCII 码。 (1)HELLO (2)A8= 习题1 1.什么是汇编语言,汇编程序,和机器语言? 答:机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。 汇编语言是面向及其的程序设计语言。在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址码。这种用符号代替机器语言的二进制码,就把机器语言编程了汇编语言。 使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序。 2.微型计算机系统有哪些特点?具有这些特点的根本原因是什么? 答:微型计算机的特点:功能强,可靠性高,价格低廉,适应性强、系统设计灵活,周期短、见效快,体积小、重量轻、耗电省,维护方便。 这些特点是由于微型计算机广泛采用了集成度相当高的器件和部件,建立在微细加工工艺基础之上。 3.微型计算机系统由哪些功能部件组成?试说明“存储程序控制”的概念。 答:微型计算机系统的硬件主要由运算器、控制器、存储器、输入设备和输出设备组成。 “存储程序控制”的概念可简要地概括为以下几点: ①计算机(指硬件)应由运算器、存储器、控制器和输入/输出设备五大基本部件组成。 ②在计算机内部采用二进制来表示程序和数据。 ③将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作,使计算机在不需要人工干预的情况下,自动、高速的从存储器中取出指令加以执行,这就是存储程序的基本含义。 ④五大部件以运算器为中心进行组织。 4.请说明微型计算机系统的工作过程。 答:微型计算机的基本工作过程是执行程序的过程,也就是CPU自动从程序存 放的第1个存储单元起,逐步取出指令、分析指令,并根据指令规定的操作类型和操作对象,执行指令规定的相关操作。如此重复,周而复始,直至执行完程序的所有指令,从而实现程序的基本功能。 5.试说明微处理器字长的意义。 答:微型机的字长是指由微处理器内部一次可以并行处理二进制代码的位数。它决定着计算机内部寄存器、ALU和数据总线的位数,反映了一台计算机的计算精度,直接影响着机器的硬件规模和造价。计算机的字长越大,其性能越优越。在完成同样精度的运算时,字长较长的微处理器比字长较短的微处理器运算速度快。 6.微机系统中采用的总线结构有几种类型?各有什么特点? 答:微机主板常用总线有系统总线、I/O总线、ISA总线、IPCI总线、AGP总线、IEEE1394总线、USB总线等类型。 7.将下列十进制数转换成二进制数、八进制数、十六进制数。 ①(4.75)10=(0100.11)2=(4.6)8=(4.C)16 ②(2.25)10=(10.01)2=(2.2)8=(2.8)16 ③(1.875)10=(1.111)2=(1.7)8=(1.E)16 8.将下列二进制数转换成十进制数。 ①(1011.011)2=(11.6)10 ②(1101.01011)2=(13.58)10 ③(111.001)2=(7.2)10 9.将下列十进制数转换成8421BCD码。 ① 2006=(0010 0000 0000 0110)BCD ② 123.456=(0001 0010 0011.0100 0101 0110)BCD 10.求下列带符号十进制数的8位基2码补码。 ① [+127]补= 01111111 1 思考与练习题 一、选择题 1.计算机硬件中最核心的部件是( )。C A.运算器 B.主存储器 C.CPU D.输入/输出设备 2.微机的性能主要取决于( )。 A (B——计算机数据处理能力的一个重要指标) A.CPU B.主存储器 C.硬盘 D.显示器 3.计算机中带符号数的表示通常采用( )。C A.原码 B.反码 C.补码 D.BCD码 4.采用补码表示的8位二进制数真值范围是( )。C A.-127~+127 B.-1 27~+128 C.-128~+127 D.-128~+128 5.大写字母“B”的ASCII码是( )。B A.41H B.42H C.61H D.62H 6.某数在计算机中用压缩BCD码表示为10010011,其真值为( )。C A.10010011B B.93H C.93 D.147 二、填空题 1.微处理器是指_CPU_;微型计算机以_CPU_为核心,配置_内存和I/O接口_构成;其特点是_(1)功能强 (2)可靠性高 (3)价格低 (4)适应性强 (5)体积小 (6)维护方便_。P8 P5 2.主存容量是指_RAM和ROM总和_;它是衡量微型计算机_计算机数据处理_能力的一个重要指标;构成主存的器件通常采用_DRAM和PROM半导体器件_。P5 P9 3.系统总线是_CPU与其他部件之间传送数据、地址和控制信息_的公共通道;根据传送内容的不同可分成_数据、地址、控制_3种总线。P9 4.计算机中的数据可分为_数值型和非数值型_两类,前者的作用是_表示数值大小,进行算术运算等处理操作_;后者的作用是_表示字符编码,在计算机中描述某种特定的信息_。P12 5.机器数是指_数及其符号在机器中加以表示的数值化_;机器数的表示应考虑_机器数的范围、机器数的符号、机器数中小数点位置_3个因素。P15 P16 6.ASCII码可以表示_128_种字符,其中起控制作用的称为_功能码_;供书写程序和描述命令使用的称为_信息码_。P18 P19 三、判断题 1.计算机中带符号数采用补码表示的目的是为了简化机器数的运算。( )√ 2.计算机中数据的表示范围不受计算机字长的限制。( )× 3.计算机地址总线的宽度决定了内存容量的大小。( )√ 4.计算机键盘输入的各类符号在计算机内部均表示为ASCII码。( )× (键盘与计算机通信采用ASCII码) 2 思考与练习题 一、选择题 1.在EU中起数据加工与处理作用的功能部件是( )。A A.ALU B.数据暂存器 C.数据寄存器 D.EU控制电路 2.以下不属于BIU中的功能部件是( )。 B A.地址加法器 B.地址寄存器 C.段寄存器 D.指令队列缓冲器 第一章 学习指导: 1.掌握十六进制、二进制、BCD(十进制数)、ASCII码 2.掌握有符号数(补码、原码)、无符号数计算机的表示方法以及表示范围 3.掌握补码运算 4.了解计算机基本组成及工作原理 5.了解新技术 6.了解计算机主要性能指标 2、完成下列数制之间的转换。 (1)01011100B=92D (3)135D=10000111B (5)10110010B=262Q=B2H 3、组合型BCD码和非组合型BCD码有什么区别?写出十进制数254的组合型BCD数和非组合型数。 答:组合型BCD码用高四位和低四位分别对应十进制数的个位和十位,其表示范围是0~99;非组合型BCD码用一个字节的低四位表示十进制数,高四位则任意取值,表示范围为0~9。 组合型:254=(001001010100)BCD 非组合型:254=(00000010 00000101 00000100)BCD 7、计算机为什么采用补码形式存储数据?当计算机的字长n=16,补码的数据表示范围是多少? 答:在补码运算过程中,符号位参加运算,简化了加减法规则,且能使减法运算转化为加法运算,可以简化机器的运算器电路。+32767~ -32768。 9、设计算机字长n=8,求下列各式的[X+Y]补和[X-Y]补,并验证计算结果是否正确。 (1)X=18,Y=89 [X+Y]补=00010010+01011001=01101011B=107D 正确 [X-Y]补=10111001B=00010010+10100111=(-71D)补正确 (2)X=-23,Y=-11 [X+Y]补=11101001+11110101=11011110B=(-34D)补正确[X-Y]补=11101001+00001011=11110100B=(-12D)补正确 (3)X=18,Y=-15 [X+Y]补=00010010+11110001=00000011B=(3D)补正确 [X-Y]补=00010010+00001111=00100001B=(33D)补正确 (4)X=-18,Y=120 [X+Y]补=11101110+01111000=01100110B=(102D)补正确[X-Y]补=11101110+10001000=01110110B=(123D)补由于X-Y=-138 超出了机器数范围,因此出错了。 13、微型计算机的主要性能指标有哪些? 答:CPU字长、存储器容量、运算速度、CPU内核和IO工作电压、制造工艺、扩展能力、软件配置。 第二章 学习指导: 1.了解8086微处理器的基本组成及工作原理 2.掌握通用寄存器(AX、BX、DX、CX、SI、DI、SP、BP)段寄存器(CS、SS、DS、ES)标志寄存器(状态标志位和控制标志位含义)作用 3.掌握逻辑地址、物理地址以及它们之间的关系物理地址=段基址x16+偏移地址 4.掌握逻辑地址和物理地址表示形式2000:0100,20100 5.存储器地址的表示图2-5 6.主要引脚RD、WR、M/IO、INTR、INTA、NMI、HOLD、HLDA 微机原理(第三版)课后练习答案 1 思考与练习题 一、选择题 1.计算机硬件中最核心的部件是( )。C A.运算器 B.主存储器 C.CPU D.输 入/输出设备 2.微机的性能主要取决于( )。 A (B——计算机数据处理能力的一个重要指标) A.CPU B.主存储器 C.硬盘 D.显示 器 3.计算机中带符号数的表示通常采用( )。 C A.原码 B.反码 C.补码 D.BCD码 4.采用补码表示的8位二进制数真值范围是( )。C A.-127~+127 B.-1 27~+128 C.-128~+127 D.-128~+128 5.大写字母“B”的ASCII码是( )。B A.41H B.42H C.61H D.62H 6.某数在计算机中用压缩BCD码表示为10010011,其真值为( )。C A.10010011B B.93H C.93 D.147 二、填空题 1.微处理器是指_CPU_;微型计算机以_ CPU _为核心,配置_内存和I/O接口_构成;其特点是_(1)功能强 (2)可靠性高 (3)价格低 (4)适应性强 (5)体积小 (6)维护方便_。P8 P5 2.主存容量是指_RAM和ROM总和_;它是衡量微型计算机_计算机数据处理_能力的一个重要指标;构成主存的器件通常采用_DRAM和PROM半导体器件_。P5 P9 3.系统总线是_CPU与其他部件之间传送数据、地址和控制信息_的公共通道;根据传送内容的不同可分成_数据、地址、控制_3种总线。P9 4.计算机中的数据可分为_数值型和非数值型_两类,前者的作用是_表示数值大小,进行算术运算等处理操作_;后者的作用是_表示字符编码,在计算机中描述某种特定的信息_。P12 5.机器数是指_数及其符号在机器中加以表示的数值化_;机器数的表示应考虑_机器数的范围、机器数的符号、机器数中小数点位置_3个因素。P15 P16 6.ASCII码可以表示_128_种字符,其中起控制作用的称为_功能码_;供书写程序和描述命令使用的称为_信息码_。P18 P19微机原理与接口技术课后习题与参考答案
(完整版)微机原理课后习题参考答案
微机原理课后作业答案第五版
微机原理课后练习题-答案
微机原理课后习题答案
微机原理课后作业答案(第五版)
微机原理与接口技术课后习题答案
微机原理课后答案
微机原理(王忠民版课后答案)
微机原理课后习题解答
微机原理与接口技术课后习题参考答案
微机原理习题解答
微机原理与接口技术(第二版)课后习题答案完整版
微机原理(第三版)课后练习答案
微机原理课后习题答案
微机原理(第三版)课后练习答案