目录
第2章 微机运算基础....................................................................................................................2 第3章 8086/8088微处理器及系统................................................................................................4 第4章 汇编语言程序设计................................................................................................................9 第5章 存储器系统...........................................................................................................................11 第6章 输入输出与中断..................................................................................................................13 第7章 可编程接口芯片..................................................................................................................15
1
微机原理 第2章 微机运算基础
第2章 微机运算基础
2.1 将下列十进制数分别转化为二进制数、十六进制数、压缩BCD码。 (1)147 (2)4095
2.2 将下列二进制数分别转换为十六进制数。 (1)1010 1011B (2)10 1111 0011B (3)1000 0000B (4)1010 0000 0001B
2.3设机器字长为8位,将下列有符号数表示成机器数,并求其反码和补码。 (1)X = + 63 (2)Y = - 63 (3)Z = + 117 (4)W = - 118
2.4. 设机器字长为16位,将下列有符号数表示成机器数,并求其反码和补码。 (1)X = + 65 (2)Y = - 65 (3)Z = + 127 (4)W = - 128
2.5. 已知有符号数的补码表示形式如下,分别求出数的原码与真值。 (1)[X]补 = 78H,机器字长8位 (2)[Y]补 = 87H,机器字长8位 (3)[Z]补 = 0FFFH,机器字长12位 (4)[W]补 = 800H,机器字长12位
2.6.设机器字长为8位,用补码计算下列运算,并采用双进位法判断运算结果是否溢出。 (1)(-89)+ 67 (2)89-(- 67) (3)(- 89)- 67 (4)(- 89)- (- 67)
2.7.设机器字长为8位,比较下列两数X和Y的大小。
(1)X = 87H,Y = 78H(X和Y为无符号数) (2)X = 87H,Y = 78H(X和Y为有符号数)
2.8. 如下图所示的译码电路,输入A0~A5通常和CPU地址线连接,分析输出O为低电平时,A0~A5的电平状态应该是什么?按照二进制数的格式(A5A4A3A2A1A0)写出。
A0A1
&
11o
A0A1A2A3A4
1&
1o
A2A3
A5
2.8题 图(1) 2.8题 图(2)
2
微机原理 第2章 微机运算基础
2.9. 如图74LS138译码器的C、B、A三个输入端状态如图所示,求X、Y、Z输出电平?此时在译码器那个输出端会为低电平“0”?
011
G1Y0G2AY1Y2G2BY3Y4C
Y5BY6Y7A
&
X1Y
1
1Z
3
微机原理 第3章 8086/8088微处理器及系统
第3章 8086/8088微处理器及系统
3.1 8086CPU有多少根数据线和地址线?它能寻址多少内存地址单元和I/O端口?8088又有多少根数据线和地址线?为什么要设计8088CPU?
3.2 8086CPU内部按功能可分为哪两大部分?它们各自的主要功能是什么?8086与8088CPU中的指令队列缓冲器有何区别?在微处理器中设置指令队列缓冲器有什么作用?
3.3 8086CPU内部的总线接口单元(BIU)由哪些功能部件组成?它们的基本操作原理是什么?
3.4 什么叫微处理器的并行操作方式?为什么说8086CPU具有并行操作的功能?
3.5 逻辑地址和物理地址有何区别?为什么8086微处理器要引入“段加偏移”的技术思想?“段加偏移”的基本含义是什么?试举例说明。
3.6 段地址和段起始地址相同吗?两者是什么关系?8086的段起始地址就是段基址吗?它是怎样获得的?
3.7 在8086微计算机中,若段寄存器中装入如下数值,试写出每个段的起始地址和结束地址。(假设段的最大长度为64K)
(1)1000H (2)1234H (3)E000H (4)AB00H
3.8 已知8088微处理器组成的系统中,对于下列CS:IP组合,计算出要执行的下条指令的存储器地址。 (1)CS=1000H和IP=2000H (2)CS=2400H和IP=1A00H (3)CS=1A00H和IP=B000H (4)CS=3456H和IP=ABCDH
3.9已知计算机中两个16位数算术运算的结果为0E91BH,求PF = ?,SF = ?,ZF = ?
3.10一个基本的总线周期由几个状态组成?微处理器在什么情况下才执行总线周期?在什么情况下需要插入等待状态?
3.11 什么叫做非规则字,微处理器对非规则字是怎样操作的?字节、字在存储单元的存放顺序与存储单元的地址有什么关系?字符在存储单元中以什么形式存放,举例说明?
3.12 8086对1MB的存储空间是如何按高位库和低位库来进行选择和访问的?用什么控制信号来实现对两个库的选择?
3.13 堆栈的深度由哪个寄存器确定?为什么说一个堆栈的深度最大为64KB?在执行一条入栈或出栈指令时,栈顶地址将如何变化?
3.14 8086/8088CPU对(RESET)复位信号的复位脉冲宽度有何要求?复位后内部寄存器的状态如何?
4
微机原理 第3章 8086/8088微处理器及系统
3.15 ALE信号起什么作用?它在使用时能否被浮空?DT/R信号起什么作用?它在什么情况下被浮置为高阻状态?
3.16 8086/8088CPU的哪些引脚采用了分时复用技术?哪些引脚具有两种功能?
3.17 8086/8088 CPU的微机系统有哪两种工作方式?它们由什么引脚来实现控制?最小工作方式的主要特点是什么?
3.18 什么是寻址方式?8086/8088微处理器有哪几种主要的寻址方式?试写出寻址存储器操作时计算有效地址(EA)的通式?
3.19 指出8086/8088下列指令源操作数的寻址方式。
(1) MOV AX,1200H (2)MOV BX,[1200H] (3) MOV BX,[SI] (4) MOV BX,[SI+1200H] (5) MOV [BX+SI],AL (6)IN AL,DX
3.20 指出8086/8088下列指令中存储器操作数物理地址的计算表达式。
(1)MOV AL,[DI] (2)MOV AX,[BX+SI] (3)MOV 8[BX+DI],AL (4)ADD AL,ES :[BX]
(5)SUB AX,[2400H] (6)ADC AX,[BX+DI+1200H] (7)MOV CX,[BP+SI] (8)INC BYTE PTR [DI] (9)MOV CL,LIST[BX+SI]
3.21 指出8086/8088系列指令的错误。
(1)MOV [SI],IP (2)MOV CS,AX (3)MOV BL,SI+2 (4)MOV 60H,AL (5)PUSH 2400H (6)INC [BX] (7)ADD [2400H],24H (8)MOV [BX],[DI] (9)MOV SI,AL (10)POP CS
3.22 阅读下列程序段,指出每条指令执行以后有关寄存器的内容,并在DEBUG环境下验证结果。
MOV AX, 0ABCH DEC AX
AND AX,00FFH MOV CL, 4 SAL AL, 1 MOV CL,AL ADD CL, 78H PUSH AX POP BX
3.23 指出RET和IRET两条指令的区别,并说明二者各用在什么场合?
3.24 说明MOV BX, DATA和MOV BX, OFFSET DATA指令之间的区别。
3.25 假定PC存储器低地址区有关单元的内容如下:
5
微机原理 第3章 8086/8088微处理器及系统
(0020H) = 3CH,(0021H) = 00H,(0022H) = 86H ,(0023H) = 0EH且CS = 2000H,IP = 0010H,SS = 1000H,SP = 0100H,FLAGS = 0240H,这时若执行INT 8 指令,试完成下列问题。
(1) 程序转向何处执行(用物理地址回答)?
(2) 栈顶6个存储单元的地址及内容分别是什么(用16进制数表示)?
3.26什么叫堆栈?说明堆栈中数据进出的顺序以及压入堆栈和弹出堆栈的操作过程。堆栈指令一次传送8位还是16位?设SP = 2000H,AX = 3000H,BX = 5000H,执行下列程序段后,问SP = ?AX = ? BX = ? PUSH AX PUSH BX POP AX
3.27某程序段如下所示,左列为汇编的机器码,右列为对应的汇编程序(XXX代表一条指令):
2000H: 40D0H JZ CTN ... ...
2000H:40E1H ABC:XXX ... ...
2000H: 40EFH CTN: XXX ... ...
2000H:40FEH JNE ABC
试问代码中跳转指令ABC = ?CTN = ?
3.28 若AX = 5555H,BX = FF00H,试问在下列程序段执行后,AX = ? BX = ? CF = ? AND AX,BX XOR AX,AX NOT BX
3.29 试比较SUB AL,09H与CMP AL,09H这两条指令的异同,若AL = 08H,分别执行上述两条指令后,SF = ? CF = ? OF = ? ZF = ?
3.30 使用最少的指令,实现下述要求的功能。 (1) AH的高4位清0。 (2) AL的高4位取反。
(3)AL的高4位移到低4位,高4位清0。 (4)AH的低4位移到高4位,低4位清0。
3.31 设BX = 6D16H,AX = 1100H,写出下列两条指令执行后BX寄存器中的内容。 MOV CL, 06H ROL AX, CL SHR BX, CL
3.32 设初值AX = 0119H,执行下列程序段后AX = ? MOV CH, AH ADD AL, AH DAA
6
微机原理 第3章 8086/8088微处理器及系统
XCHG AL, CH ADC AL, 34H DAA
MOV AH, AL MOV AL, CH HLT
3.33 设初值AX = 6264H,CX = 0004H,在执行下列程序段后AX = ? AND AX, AX JZ DONE SHL CX,1 ROR AX, CL
DONE: OR AX, 1234H
3.34 写出可使AX清0的几条指令。
3.35 带有OFFSET的MOV指令与LEA指令比较,哪条指令的效率更高?
3.36 若AC = 1001H,DX = 20FFH,当执行ADD AX,DX指令以后,请列出和数及标志寄存器中每个位的内容(CF、AF、SF、ZF和OF)。
3.37 若DL = 0F3H,BH = 72H,求DL – BH运算结果及标志寄存器各位的内容。
3.38 用AND指令实现下列操作。 (1)BX“与”DX,结果存入BX。 (2)0AEH“与”DH。
(3)DI“与”BP,结果存入DI中。 (4)1234H“与”AX
(5)由BP寻址的存储单元的数据“与”CX,结果存入存储单元中。 (6)AL和WAIT存储单元中的内容相“与”,结果存入WAIT。
3.39 设计一个程序段,将DH中的最左3位清0,而不改变DH中的其他位,结果存入BH中。
3.40 通“OR”指令实现下列操作。 (1)BL“或”DH,结果存入DH。 (2)0AEH“或”CX。
(3)DX“或”SI,结果存入SI中。 (4)1234H“或”AX。
(5)由BP寻址的存储单元的数据“或”CX,结果存入存储单元中。 (6)AL和WHEN存储单元中的内容相“或”,结果存入WHEN。
3.41 设计一个程序段,将DI中的最右5位置1,而不改变DI中的其他位,结果存入SI中。
3.42 设计一段程序代码,将AX中的最右4位置1,将AX中的最左3位清0,并且把AX中的7、8、9位取反。
7
微机原理 第3章 8086/8088微处理器及系统
3.43 选择正确的指令实现下列操作。
(1)把DI右移3位,再把0移入最高位。
(2)把AL中的所有位左移1位,使0移入最低位。 (3)AL循环左移3位。
(4)DX带进位位循环右移1位。
3.44 试比较JMP[DI]与JMP FAR PTR[DI]指令的操作有什么区别?
3.45 用串操作指令设计实现如下功能的程序段:先将100个数从6180H处移到2000H处;再从中检索出等于AL中字符的单元,并将此单元值换成空格符。
3.46 在使用条件转移命令时,特别要注意它们均为相对转移指令,请说明“相对转移”的含义是什么?如果要向较远的地方进行条件转移,那么在程序中应如何设置? 见参考书112页 (1)
3.47 在执行中断返回指令IRET和过程(子程序)返回指令RET时,具体操作内容有什么区别?
3.48 INT 40H 指令的中断向量存储在哪些地址单元?试用图解说明中断向量的含义和具体内容,并指
出它和中断入口地址之间是什么关系?
8
微机原理 第4章 汇编语言程序设计
第4章 汇编语言程序设计
4.1 已知某数据段中有: COUNT1 EQU 16H COUNT2 DW 16H
下面两条指令有何异同点,即: MOV AX,COUNT1 MOV BX,COUNT2
4.2下列程序段执行后,寄存器AX、BX和CX的内容是多少? ORG 0202
DA_WORD DW 20H MOV AX, DA_WORD
MOV BX, OFFSET DA_WORD MOV CL, BYTE PTR DA_WORD MOV CH ,TYPE DA_WORD
4.3 试编制一程序,把CHAR1中各小写字母分别转换为对应的大写字母,并存放在CHAR2开始的内存单元中。
CHAR1 DB ‘abcdef’
CHAR2 DB $ - CHAR1 DUP(0)
4.4 写出下列逻辑地址的段地址,偏移地址和物理地址。 (1) 4321H:0B74H (2) 10ADH:0DE98H (3) 8314H:0FF64H (4) 78BCH:0FD42H
4.5 某程序设置的数据区如下:
DATA SEGMENT
DB1 DB 12H,34H,0,56H
DW1 DW 78H,90H,0AB46H,1234H ADR1 DW DD1 ADR2 DW DW1 AAA DW $ - DB1 BUF DB 5 DUP(0) DATA ENDS
4.6 假设BX = 54A3H,变量VALUE中存放的内容为68H,确定下列各条指令单独执行后BX=? (1) XOR BX, VALUE (2) OR BX, VALUE (3) AND BX, 00H (4) SUB BX, VALUE (5) XOR BX,0FFH (6) TEST BX,01H
9
微机原理 第4章 汇编语言程序设计
4.7 以BUF1和BUF2开头的2个字符串,其长度均为LEN,试编程实现,即: (1)将BUF1开头的字符串传送到BUF2开始的内存空间。 (2)将BUF1开始的内存空间全部清零。
4.8 假设数据段的定义如下:
P1 DW ?
P2 DB 32 DUP(?) PLENTH EQU $ -P1
4.9 内存中BUFF定义了一段无符号数,编写一程序,统计数值等于10的数的个数。
4.10 试编写一程序,找出BUF数据区中带符号数的最大数和最小数。
4.11 编写一程序,统计出某数组中相邻两数间符号的变化次数。
4.12.若AL中的内容为2位压缩的BCD数68H,试编程:(1)将其拆开成非压缩的BCD数,高低位分别存入BH和BL中。(2)将上述要求的2位BCD码变换成对应的ASCII码,并且存入CH和CL中。
10
微机原理 第5章 存储器系统
第5章 存储器系统
5.1 设有一个具有13位地址和8位字长的存储器,试问:
(1) 存储器能存储多少字节的信息? (2) 如果存储器由1Kx4位RAM芯片组成,共计需要多少片? (3) 需要用哪几位高位地址作片选译码来产生芯片选择信号?
5.2下列RAM各需要多少条地址线进行寻址?多少条数据I/O线?
(1) 512×4 (2)1K×4 (3)1K×8 (4)2K×1 (5) 4K×1 (6)16K×4 (7)64K×1 (8)256 K×4
5.3 分别用1024X4位和4KX2位芯片构成64KX8位的随机存取存储器,各需要多少片?
5.4 在有16根地址总线的微机系统中,根据下面两种情况设计出存储器片选的译码电路及其与存储器芯片的连接电路。
(1)采用1KX4位存储器芯片,形成32K字节存储器 (2)采用2KX8位存储器芯片,形成32K字节存储器
5.5 使用下列RAM芯片,组成所需要的存储容量,问各需要多少RAM芯片?各需要多少RAM芯片组?共需要多少寻址线?每块片子需要多少寻址线? (1)512X2的芯片,组成8KB容量 (2)1KX4的芯片,组成64KB容量
5.6 用1KX2位的RAM芯片,组成8KB的容量,需要多少RAM芯片?多少地址线?多少芯片组?
5.7 256X4的RAM芯片,组成4KB存储容量,每片需要多少地址线?共需要多少地址线?多少块芯片?多少芯片组?
5.8 试为某8位微机系统设计一个具有16KB的ROM和48KB的RAM存储器。 (1)选用EPROM芯片2716组成只读存储器ROM,地址从0000H开始, (2)选用SRAM芯片6264组成随机存取存储器RAM, (3)分析出每个存储器芯片的地址范围。
5.9 已知某芯片RAM的引脚有12条地址线,8位数据线,该存储器容量为多少字节?若该芯片所占存储器空间起始地址为1000H,其结束地址为多少?
5. 10.在8088系统中,地址线20根,数据线8根,设计192K×8位的存储系统,其中数据区为128K×8位,选用芯片628 128(128K×8位),置于CPU寻址空间的最低端,程序区为64K×8位,选用芯片27 256(32K×8位),置于CPU寻址空间的最高端,写出地址分配关系,画出所设计的原理电路图。
5.11 假设要用2KX4的RAM芯片,组成8KB的存储容量,需多少芯片,多少芯片组,每块芯片需要多少寻址线,总共需要多少寻址线?若与8088CPU连接,画出连接原理图,(假定工作于最小模式下),连接好后,写出地址分配情况。
11
微机原理 第5章 存储器系统 5.12 CPU有16根地址线,即A15~A0,计算图5.32中片选信号CS1和CS2所指定的基地址范围。 A15CPUA12CS1&>=1CS2
5.13 已知某16位微机系统的CPU与RAM连接的部分示意图,若RAM采用每片容量为2Kx2位的芯片,试回答:
(1) 根据题意,本系统需该种芯片多少片?
(2) 设由74LS138的/y5端和/y6端分别引出引线连到RAM1和RAM2两组芯片的/CS端,则RAM1
和RAM2的地址范围分别是多少?
12
微机原理 第6章 输入输出与中断
第6章 输入输出与中断
6.1 什么是I/O接口,它的基本功能是什么?
6.2 I/O端口的编址方式有几种,各是什么?有什么特点?
6.3 计算机与外设间数据传送方式有哪几种,各有什么特点?
6.4 什么是中断和中断源?中断处理的一般过程是怎样的?
6.5 8086/8088有几种不同类型的中断?如何通过中断类型号得到中断服务程序入口地址?举例说明。
6.6 8086/8088中断系统中,个中断的优先级是怎样的?
6.7 如图所示的简单接口,判断该数据端口地址,开关K的状态与数据信息D0的关系?
+5V10KD0A0A1A2A3A4A5A6A7IORK11&1
6.8 如图所示的16位端口地址译码电路,判断连接CS1、CS2、CS3的译码端口地址?(假设未出现的地址线全为低电平)
13
微机原理 第7章 可编程接口芯片
A15A2A1A0
&CS1&CS2A5A4A3
&CS3
14
微机原理 第7章 可编程接口芯片
第7章 可编程接口芯片
7.1 若已有一个频率发生器,其频率为1MHz,若要求通过8253芯片产生每秒一次的信号,试问8253芯片应如何连接?并编写初始化程序。
7.2 假定有一片8253接在系统中,其端口地址分配如下所示: 0#计数器,220H,1#计数器221H,2#计数器222H,控制口223H
(1) 利用0#计数器高8位计数,计数值为256,二进制方式,选用方式3工作,试编程初始化。 (2) 利用1#计数器高、低8位计数,计数值为1000,BCD方式,选用方式2工作,试编程初始化。
7.3 设计数器/定时器8253在微机系统中的端口地址分配如下所示: 0#计数器:340H,1#计数器:341H,2#计数器:342H,控制口:343H
已有信号源频率为1MHz,现要求用一片8253定时1秒钟,设计出硬件连接图 并编程初始化。
7.4 8255A在微机系统中,A/B/C口以及控制口地址分别为200H/201H/202H/203H,实现 (1)A组与B组均设为方式0,A/B口均为输入,C口为输出,编程初始化;
(2)在上述情况下,设查询信息从B口输入,如何实现查询式输入输出(输入信号由A口输入,输出信号由C口输出)
7.5 如果需要8255A的PC3连续输出方波,如何用C口置位与复位控制命令编程实现?
15
因篇幅问题不能全部显示,请点此查看更多更全内容