第一章习题
1、将下列十进制数转换为二进制数:
(1)23 (2)97 (3)189 (4)246 (5)255
2、将下列二进制数转换为十进制数:
(1)10011101 (2)00001111 (3)11010110
3、将下列二进制数转换为十六进制数:
(1)01011101 (2)10101111 (3)11110110
4、将下列十六进制数转换为二进制数:
(1)7FH (2)FFH (3)0FH (4)09H
5、写出下列各数的原码和补码
(1)-45 (2)-1 (3)36H (4)-80
6、将下列十六进制数用压缩的BCD码表示出来:
(1)99H (2)53H (3)9H (4)40H
7、将下列十进制数用非压缩的BCD码表示出来:
(1)8 (2)75 (3)30 (4)99
8、写出下列各字符的ASCII码:
(1)5 (2)9 (3)B (4)F
9、一个字节为多少位二进制数?
10、CPU的位数(字长)是按什么划分的?
12、8086/8088内部有哪些寄存器?它们各有什么用处?
13、简述8086/8088上电复位的过程。
14、8086/ 8088复位后内部寄存器的初值是什么?CPU从何单元开始执行程序?
15、8088工作于最小模式和最大模式时引脚信号有何区别?
16、8086/8088 有哪些地址线?它最多可以直接寻址多少字节内存单元?
17、8088 是怎样解决地址线和数据线的复用问题的?
18、8086/8088 内存中最多可有多少个不同的段地址?
19、举例说明在8086/8088系统中如何计算内存单元的物理地址?
20、若CS 为28B4H,IP 为1620H,此时,该指令在内存中的物理地址是多少?举例说明指向
这一物理地址的CS值和IP值是唯一的吗?
21、在最小模式下8088CPU是如何区分对存储器空间和I/O空间的访问的?它的I/O空间中最
多可以有多少个8位的I/O端口?
第二章习题
1、8086/8088汇编语言指令的寻址方式有哪几类?用哪一种寻址方式的指令执行速度最快?
2、直接寻址方式中,一般只指出操作数的偏移地址,那么,段地址如何确定?如果想要用某个
段寄存器给出段地址,指令中如何表示?举例说明。
3、在寄存器间接寻址方式中,段地址如何确定?举例说明。
4、若(CS)=2000H,(DS)=3000H,(SS)=4000H,(ES)=3800H,(BX)=1230H,(DI)=0250H
(SI)=1580H,(BP)=2030H,写出下列指令中源操作数的物理地址:
(1)MOV AX,[BX] (2)MOV BX,[BP]
(3)MOV CX,[BX+SI+0050H] (4)ES:MOV BX,[SI+BP]
5、下面这些指令中哪些是正确的?哪些是错误的?
ADD AL,25H; MOV [1250H],[BX];
MOV ES,DS; MOV 35H,CL;
IN AL,DX; ADC AX, [SI];
OUT 205H,AL; POP ES;
PUSH AL; RCL BL,CL;
SUB [2164H],CL; MOV SS,1000H;
MOV BL, AX; MOV CH, AL;
MOV AX, 55AAH; IN AX, 20H;
PUSH CS; POP CS;
IN AL,25H; OUT DX,AL;
6、在当前数据段中有从DATA单元开始存放的100个字节数据,请编写程序出数据中为零的
数并把它们变为FFH ,记下为零数据的个数。
7、若(SP)=3500H,(AX)=2100H,(BX)=1850H,(CX)=0100H,(SI)=1200H数据段中有效地址
为1850H单元内容为65H,1851H单元内容为43H,1200H单元为35H,1201H单元为10H,执行下列执
令后,寄存器SP,AX,BX,CX 中内容以及内存单元1850H,1851H,1200H,1201H 单元内容各是什么?
PUSH AX
PUSH BX
MOV AX,[BX]
SUB [SI],AX
MOV [BX],CX
MOV CX,AX
POP CX
8、请编写一个求两个两字节非压缩BCD码之和的子程序。
9、若(AL)=E8H,(BL)=24H ,(CF)=(ZF)=0, 请指出下列各条指令执行后,标志CF, PF,ZF,
和SF的值。
(1)ADD AL,BL (2)SUB BL,AL
(3)INC BL (4)CMP AL,BL
(5)OR AL,BL (6)SHL BL,1
(7)RCL AL ,1 (8)MUL BL
10、若(AX)=11E8H,(BX)=519BH,(CF)=1,(ZF)=0,请写出以下程序的实际执行路线: PUSH AX
MOV AL,BL
NN1: JC NN2
AND AL,01H
NN2: SUB AL, BL
JS NN3
XOR BX,BX
POP AX
NN3: ADC AL,BL
JNC NN4
MOV BH,AH
NN4: RET
11、请叙述8088CPU执行段内调用指令 CALL的过程。
12、带参数的返回指令RET n 用在什么场合?设当前栈顶地址为3000H,当执行段内返回指令
RET 6 后,SP的内容是什么?
13、什么是中断矢量和中断矢量表?举例说明8086/8088 如何根据中断类型号去得到中断矢
量?
14、请叙述8088CPU执行中断指令INT n 的过程。
15、中断返回指令IRET的操作与子程序返回指令RET的操作有何不同?
第三章习题
1、伪指令的作用是什么? 它与指令的区别是什么?
2、程序中下列语句在编译后装入内存时,操作系统为每个变量分配多少字节存储单元? 前15个
字节中的内容是什么?
ABC1 DW 0AH
XYZ1 DB 4 DUP(?)
STR1 DB “ error a!”,“$”
STR2 DB “OK!”
ABC2 DD 1,2,8150H
3、读下面的程序并要求:(1)在每条语句后给出作用注释。(2)画出程序流程图。(3)回答该
程序完成什么功能?
DSEG SEGMENT
NUM1 DW 500 DUP(?)
NUM2 DB 150 DUP(?)
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG
MAIN PROC RAR
START: PUSH DS
XOR AX,AX
PUSH AX
MOV CX,64H
MOV BX,300
MOV SI,0
MOV DI,0
NEXT:MOV AL,BYTE PTR NUM1 [BX] [SI]
ADD AL,AL
MOV NUM2[DI],AL
INC DI
INC SI
LOOP NEXT
RET
二进制与十六进制的转换表
MAIN ENDP
CSEG ENDS
END START
4、编写一个PC机程序,将内存中从TABLE单元开始存放的20个字节无符号数中最大数存放到
XIAN单元, 并在CRT上显示出来。
5、编程从键盘输入并显示最多50个字符(以回车符结尾),将它们存放到内存中从TABLE单元
开始的区域,检索第一个为零的字符,并显示出它是输入的第几个字符。
6、什么是DOS系统功能调用? 什么是BIOS调用?入口参数在DOS和BIOS调用中有何作用?
7、DOS系统功能调用中键盘子功能与BIOS调用中INT 16H功能有何不同?
8、从键盘输入字符串应该用DOS系统功能调用还是BIOS调用?
9、INT 16H的显示功能与DOS系统功能调用中的显示功能有何不同?
10、编写一个PC机程序,将内存BUFF中一个两字节十六进制数变为ASCII码表示的数并在CRT
上显示出来。
第四章习题
1、半导体存储器通常可分为哪几种类型?
2、静态RAM和动态RAM各有何特点?和静态RAM相比,动态RAM有何优缺点?动态RAM一般
用在什么场合?
3、动态RAM为什么要进行刷新?刷新过程和读操作相比有何不同?
4、在8086/8088微机系统中,为什么总是将ROM的地址安排在存储器空间的最高地址范围,而
将RAM的地址安排在存储器空间的最低地址范围?
5、PC机的内存有何特点?内存由哪两部分组成?外存一般指哪些设备?外存有何特点?
6、在IBM PC/XT中,是如何实现动态RAM刷新的?
7、在一个8088的最小模式系统中,试用2K×8位的EPROM 2716和2K×8位的静态RAM 6116以
及74LS138译码器,构成一个4KB的ROM、2KB的RAM存储器系统。ROM地址范围为:FF000H~FFFFFH,RAM地址范围为:00000H~007FFH。
第五章习题
1、什么叫I/O端口?通常I/O端口可分为哪几类?
2、在什么情况下可以使两个端口占有同一个地址?为什么?
3、和中断方式相比,查询式数据传送方式有何优缺点?
4、和DMA方式比较,中断方式有何不足?
5、叙述8088对可屏蔽中断的响应过程,它与CPU执行INT n指令有何区别?
6、软件中断用什么指令实现?和硬件中断相比,软件中断有何特点?
7、8259A的初始化命令字有哪些?它们各自有什么含义?哪几个应写入高地址?哪几个写入
低地址?
8、ICW1、OCW2和 OCW3都写入8259A的低地址端口,如何区别它们?
9、8259A的中断屏蔽寄存器IMR和8086/8088的中断标志IF有什么差别?在中断响应过程中,
它们怎样配合起来工作?
10、8259A有几种结束中断处理的方式?各自应用在什么场合?除了中断自动结束方式以外,
其他情况下如果没有在中断处理程序中发中断结束命令,会出现什么问题?
11、8259A的ICW2 设置了中断类型码的哪几位? 请说明在一个8088系统中对8259A分别设置
ICW2 为60H,66H,68H 时有什么差别?
12、试按照如下要求对8259A设置初始化命令字:一个8088 系统中仅有一片8259A,中断请求
信号用电平触发方式,中断类型码为60H ~ 67H,用特殊全嵌套方式,不用缓冲方式,不采用中断自动结束方式。8259A的端口地址为95H,94H。
13、怎样用8259A的屏蔽命令字来禁止IR2和IR6引脚上的请求?怎样撤消这一禁止令?设
8259A的端口地址为90H,91H。
14、如何读出8259A中断申请状态字节?
15、若8259A初始化为:上升沿触发 ,一片8259A,一般的嵌套,非缓冲,一般的结束,8088。
如何写中断结束命令?中断结束命令应写在何处?
16、画出两片8259A连成级联方式的接线,叙述8088响应从片上中断申请的过程。
17、中断查询方式中如何获得查询字?
18、CPU如何用查询方式响应8259A上中断源的中断申请?
19、8253有哪几种工作方式?若要产生一个某种频率,占空比为1/2的连续方波,8253应工作
在哪种方式?若要作为外部脉冲计数器,8253应工作在哪种方式?
20、编程将8253计数器0设置为模式1,计数初值为2580H;计数器1设置为模式2,计数初值
为3450H;计数器2设置为模式3,计数初值为25;8253的端口地址为60H, 61H,62H, 63H。
21、8253的端口地址为40H,41H,42H,43H。三个通道输入时钟都为1.19MH,编程将8253 计
数器0 设置为定时器,模式2,定时周期5ms;计数器1 为方波发生器,工作模式3,输出信号频率5.95KH。
22、下面是一个8253的初化程序段,8253的端口地址为40H,41H,42H,43H。在对8253初始化
前,先将中断允许关闭。请对下面的程序段做详细注解,并以十进制数给出各计数器初值。 KK1: CLI
MOV AL, 36H
OUT 43H, AL
MOV AL, 10H
OUT 40H, AL
MOV AL, 34H
OUT 40H, AL
MOV AL, 54H
OUT 43H, AL
MOV AL, 81H
OUT 41H, AL
MOV AL, 0B6H
OUT 43H, AL
MOV AL, E8H
OUT 42H, AL
MOV AL, 27H
OUT 42H, AL
23、编程读8253计数器2的当前计数值并放入CX中,8253的端口地址为40H,41H,42H,43H。
24、若一片8253的0#定时器作为10ms定时器,它的输出OUT0接到8259A的IR2。应该如何设
置8253的0#定时器的工作模式?如何设置8259A的触发方式?为什么?
25、若已有一频率发生器,其频率为1MHz,若要求通过8253,产生每秒一次的信号,8253应
如何连接?编出初始化程序。
26、并行通信和串行通信各有什么优缺点?
27、8255A的方式选择控制字和置0/置1控制字都是写入控制端口的,那么,它们是由什么来
区分的?
28、对8255A设置工作方式,8255A的控制口地址为OOC6H。要求端口A工作在方式1,输入;
端口B工作在方式0,输出;端口C的高4位剩余位为输出,低4位剩余位为输入。
29、设8255A 的4个端口地址为00C0H,00C2H,00C4H,00C6H,要求用置0/ 置1方式对PC5
置1,PC2置0。
30、设8255的控制寄存器口地址为0063H,请编写下列情况的初始化程序:
(1)、将端口A设置为方式0,输入,B口为方式0输出,PC7~PC4输入,PC3~PC0输出。
(2)、将端口A设置为方式2;端口B为方式0,输出,C口剩余位为输入。
31、什么是串行通讯的全双工方式和半双工方式?
32、什么叫波特率因子?什么叫波特率?设波特率因子为16,波特率为9600bps,那么发送(或
接收)时钟频率为多少?
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论