资源描述
第1章 微机运算基本
习题和思考题
1. 请完毕如下计算:
174.66D=(10101110.10101)B=(AE. A8)H
.01011B=( 1397.344)D=(575.58)H
4BCH=()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
由于Cs=0 ,Cp=1,因而有溢出,成果错误
-33-37
其补码形式为:(-33)补=11011111 (-37)补=11011011
11011111
+11011011
10111010
由于Cs=1, Cp=1,因此没有溢出,成果对的
-90-70
其补码形式为:(-90)补=10011100 (-70)补=10111010
10011100
+10111010
01010110
由于Cs=1, Cp=0,因此有溢出,成果错误
50+84
其补码形式为:(50)补=00110010 (84)补=01010100
00110010
+01010100
10000110
由于Cs=0, Cp=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,H
⑶ 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…D7。
参照答案
…
MOV CX,8
L: SHL AL,1
RCR BL,1
LOOP L
MOV AL,BL
…
7.若起始地址偏移量为H内存单元存储有100个ASCII码字符,现给这些字符添加奇偶校验位(bit7),使每个字符中“1”个数为偶数,在顺序输出到地址为100H端口。
解答
MOV SI,H
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=H,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
栈中各单元内容如下所示:
地址
RAM
11FFAH
2115
11FFCH
5678
11FFEH
1234
1H
第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<Y),若NUMBER>Y,则置FLAG=1,若NUMBER<X,则置FLAG=-1,否则置FLAG=0。
解答:.486
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口按位置/复位命令字格式:
D7
D6
D5
D4
D3
D2
D1
D0
特性位值为0
未用
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
第9章 人机交互设备接口技术
习题与思考题
1. 试述非编码键盘工作原理。
2. 用8255A设计一8×8非编码键盘,试画出设计原理图并编程。
3. 试述PC/XT和PC/AT键盘接口工作原理。
4. 试述鼠标器工作原理。
5. 简述LED显示屏工作原理。
6. 简述LED显示屏静态驱动原理。
7. 简述LED显示屏动态扫描原理。
8. 简述CRT光栅扫描原理。
9. 简述LCD显示原理。
第10章 A/D与D/A转换器接口
习题与思考题
1. D/A转换器性能指标有哪些?各性能指标含义是什么?
2. 简述D/A转换器工作原理。
3. D/A转换器和微解决器接口中核心问题是什么?如何解决?
4. 使用DAC0832设计一种产生三角波接口电路并编写产生三角波程序,其变化范畴在0~10v之间变化。若要在-5~+5v之间变化要采用什么办法实现。
5. 设输入模仿信号最高有效频率为5kHz,应选用转换时间为多少A/D转换器对它进行转换?
6. 试设计一种采用查询法并用数据线选取通道CPU和ADC0809接口电路,并编制程序使之把所采集8个通道数据送入给定内存区。
7. 试设计一种采用固定延时等待法并每采集一种数据只需一条I/O指令CPU和ADC0809接口电路,并编制程序使之把所采集8个通道数据送入给定内存区。
8. 试运用AD1674设计一种数据采集系统(不涉及A/D转换器输入通道中放大器和采样/保持电路)。规定每隔200μs采集一种数据,每次启动采集数据时采集时间为20ms。假定期钟频率为5MHz,由一只开关手动启动数据采集,数据I/O传送控制采用中断控制,8255AINTR信号接到8259AIR2祈求信号引脚。容许附加必要门电路或单稳态电路。试完毕:
⑴ 硬件设计,画出连接图;(不涉及8259A)
⑵ 软件设计,涉及主程序和中断服务子程序。
9. 设计AD1674与16位微机总线接口电路。
展开阅读全文