CMP BX,10 JB AGAIN HLT
(3) TABLE DB 10,20,30,40,50 INDEX DW 2 ……
LEA BX,TABLE ADD BX,INDEX MOV AX,[BX] HLT
(4) MOV AX,0 MOV BX,0ABCDH MOV CX,16
AGAIN:SHL BX,1 JNC NEXT INC AX
NEXT:LOOP AGAIN HLT
(5) MOV AL,0FFH CBW INC AX INC AX
XCHG AH,AL SHR AH,1 RCR AL,1 HLT
4、若在自1000H单元开始有一个1000个字节的数据块,要把它传送到自1200H开始的存储区中去,用以下三中方法,分别编制程序: (1) 不用串操作指令。
(2) 用单个传送的串操作数据传送指令。 (3) 用带重复前缀的串操作数据传送指令。
5、自1000H单元开始,有100个无符号数(字节),编写程序计算这100个数的和,并把和存放在1971H和1972H单元,且高位存放在1972H单元。 6、编写程序,计算下列函数值。
X+5 当X< 0 4X 当0≤X≤300 4X 当X>300 Y =
7、已知有A、B、C三个变量,编程完成如下处理: (1)若三个数均为0,则设置变量D为1。
(2)若三个数均不为0,则求这三个数的算术和,并存放在变量E中。 8、若在存储器中有数a、b、c、d(它们连续存放),编写一个程序实现: ((a * 10 + b)*10+c)*10+d (假设和小于65535)
9、在0200H单元和020AH单元开始,分别存放两个各为10个字节的未组合BCD数(地址最低处存放最低字节)。编写程序计算两个未组合BCD数的和,且把和存放在0214H单元开始的存储单元中。
10、若自STRING单元开始有1000个数(字节),试针对下面情况编程将它们中的最小值、最大值找出来,并分别存放在5000H和5001H字节单元中。 (1) 这1000个数为无符号数。 (2) 这1000个数为带符号数。
11、已知数组A包含10个互不相等的整数,数组B包含15个互不相等的整数。试编写一程序,
将既在A中出现又在B中出现的偶数存放在数组C中。
12、把在内存变量NUMBER中的16位二进制数的每一位都转换为相应的ASCII码,存入串变量STRING中。
13、统计STRING字符串中数字字符(?0?~?9?)的个数,并将数字字符放入BUFFER区内(开始单元存放字符个数)。
14、有X,Y,Z三个带符号数,请将它们按从小到大的顺序重新排列为X,Y,Z。
15、有一个4位BCD码abcd,将其转换为二进制数。要求:必须用子程序结构编写,并调用该子程序。
16、编程把从键盘输入的带符号十进制数转换为用补码表示的二进制数。
17、设有10个学生的成绩分别为59,64,74,92,73,85,93,61,33,24。试用子程序结构编写一个完整的程序。
子程序INPUT:从键盘接收一个学生的序号(01~10),并将之转换为二进制数。
子程序LOCATE:把接收数与该学生的成绩对应起来,这可在一个事先建好的成绩表中查找。 子程序DISPLAY:将找到的学生成绩在屏幕上显示出来。
主程序MAIN:依次调用上述三个子程序,完成键盘输入学生学号即可查询该生成绩的功能。 18、请设计一程序,在目的字符串中搜索源字符串。假设每个字符串都以说明串长度的16位整数开始。返回时,AL返回一个标志(0=没有找到,0FFH=找到)。如果搜索成功,DX的内容就是在目的字符串中找到的源字符串第一个字符的地址。
19、若自STRING开始有一个字符串(以?$?号作为字符串的结束标志),请编程查找此字符串中有多少个?#?,并将个数存放在NUMBER字单元中,且把每一个?#?字符所存放的偏移地址放到自POINTER开始的连续存储字单元中。
20、若从STRING开始有100个数,编程检查这些数,正数保持不变,负数都取补后送回。
第五章思考题与习题
1. SRAM、DRAM,ROM,PROM,EPRM,EEPROM各有何特点?各用于何种场合?微型机的外部存储器有哪几种?各自的特点是什么? 2. 若用4K×4位的RAM芯片组成32K×8位的存储器,需要16芯片?A19~A0地址线中哪些参与片内寻址(A0-A14)?哪些参与作芯片组的片选择信号(A15 A16)?
3. 由存储器芯片的引脚可以计算出该存储器芯片的容量吗?请举例说明。 4. 列RAM各需要多少条地址线进行寻址?多少条数据I/O线? (1) 512×4;9 (4) 4K×1; 12 (2) 1K×8; 10 (5) 64K×1; 16 (3) 2K×8; 11 (6) 256K×4; 18
5. 使用下列RAM芯片,组成所需的存储容量,各需多少RAM芯片?各需多少RAM芯片组?共需多少寻址线?每块片子需多少寻址线? (1)512×4的芯片, 组成8K×8的存储容量; (2)1K×2的芯片, 组成32K×8的存储容量; (3)4K×1的芯片, 组成64K×8的存储容量;
6. 在有16根地址总线的微机系统中画出下列情况下存储器的地址译码和连接图。 (1) 采用8K×1位存储芯片,要形成64K字节存储器。
(2) 采用4K×1位芯片,要形成32K字节存储器。 (3) 采用4K×1位芯片,要形成16K字节存储器。
(4) 若要设计一个256K字节的存储器系统,应怎么办?
7. 若用2114芯片组成2KB RAM,地址范围为3000H~37FFH,问地址线应如何连接?(假设CPU只有16条地址线,8根数据线,可选用线选法和全译码法)
8. 试为某8位微机系统设计一个具有8KB ROM和40KB RAM的存储器。ROM用EPROM芯片2732(4K×8)组成,从0000H地址开始,RAM用SRAM芯片6264(8K×8)组成,从4000H地址开始。
9. 图5-30为一存储器同8086的连接图,试计算该存储器的地址范围,并说明该电路的特点。 G1G2AG2BB A C Y0Y2Y3Y7CS≥1M/IO RD WR ≥1A18A17A16A15A14≥1A0 ~A13A0 ~A13 图5-30 某存储器同8086的连接
第六章思考题与习题
1. 为什么要在CPU与外设之间设置接口? 2. 微型计算机的接口一般具有哪些功能?
3. 什么叫端口?I/O端口的寻址方式有几种?各有何特点?
4. 微机输入输出传送方式有几种?各有何特点?各自用在什么场合?请对比说明。 5. 什么情况下两个端口可以用同一个地址?
6. 在输入输出接口电路中为什么要求输入接口加三态缓冲器,输出接口加锁存器? 7. 试设计一个查询式输出接口, 画出电路图并写出相应的输出程序。 8. 设计一个外设端口地址译码器,使CPU能寻址4个地址范围:
(1) 240~247H, (2)248~24FH, (3)250~257H, (4)258~25FH
9. 试用 双2-4线译码器74LS139 组成 256 个外设端口的译码电路,给出相应的256个片选信号。
10. 译码电路设计: (1)试用组合逻辑电路设计一译码电路, 使片选信号CS在 300~3FFH 的I/O地址范围内使能。 (2)某微机系统,其I/O地址 2F0H~2F7H 未用,试设计一完全译码电路产生8个片选信号,使2F0H~2F3H 为输出端口, 02F4H~02F7H 为输入端口。
(设总线接口信号有: AB9~AB0,MEMW,MEMR,IOR,IOW,AEN)
11. 某微机系统存储器及I/O地址空间共64K,地址分配如下表所示, 试画出相应译码电路,给出相应的各个片选信号。 若要对RAM寻址到 128 字节, 译码电路又该如何设计? RAM
FFFF~FC00 (1K) I/O口
FBFF~F800 (1K) ROM
F7FF~E800 (4K) EPROM
E7FF~E000 (2K) FlashROM
DFFF~0000 (56K) (设总线接口信号有: AB15~AB0,MIO/,RD,)
12. 为什么在设计PC机I/O接口电路时应保证当A9=1,AEN=0时才使相应译码有效?
13. 试给出将CPU的MIO/,RD,WR信号转换为总线读写信号MEMW,MEMR,IOR及IOW的逻辑电路。
14. 如图6-17所示,用一片74LS373作为输入接口,读取三个开关状态,用另一片74LS373作为输出接口,点亮红、绿、黄三个发光二极管。请画出该电路与PC机ISA总线的完整接口电路,要求按图中给出的端口地址设计出相应的译码电路,并编写能同时实现以下三种功能的程序: 1〉 K0、K1、K2全部合上时,红灯亮; 2〉 K0、K1、K2全部断开时,绿灯亮; 3〉 其它情况黄灯亮。 图6-13 接口示意图
第七章思考题与习题
1. 8253有哪几种工作方式?各有何特点?其用途如何?
2. 某应用系统中8253口地址为340H~343H, 定时器0用作分频器(N为分频系数), 定时器2用作外部事件计数器, 请写出初始化程序。
3. 某应用系统中8253口地址为304H~307H, 输入时钟CLK为1MHZ周期脉冲信号,输出端OUT的波形为1HZ占空比为1:1的方波周期信号。请用全译码方式画出与ISA总线的硬件连接图(用LS138作地址译码器),并写出相应的程序。
提示:ISA总线中相应的地址线、控制线为: A0~A9、IOR、IOW、AEN 4.某8253的输出波形如下:
请设计一输入波形并画出该8253的硬件原理图(8253的端口地址为308H~30BH,全译码方式)和写出相应的驱动程序。
第八章思考题与习题
1. 并行接口有何特点?其应用场合如何?
2. 可编程并行接口芯片8255A有哪几种工作方式?有何差别?在微机系统中连接方法有何不同?
3. 8255A的编程命令有哪两个?其命令格式及每位的含义是什么?请举例说明。
4. 将8255A编程:口A为输入, 口B为输出, 口C的低4位为输入, 高4位为输出, 请写出方式选择控制字。
5. 请编一段输出程序, 使8255A 口C的PC1输出占空比为1/3的周期脉冲。
6. 请用8255A(端口地址为300~303H)设计一个十字路口机动车交通指挥灯自动管理系统,每个路口有红、黄、绿三种颜色交通指挥灯各一盏。要求: 南北方向:绿灯亮90S → 黄灯亮5S → 红灯亮60S …;东西方向:红灯亮95S→绿灯亮55S →黄灯亮5S …。 采用8253作定时器,端口地址为308~30BH,输入时钟CLK频率为1KHZ;用8259作中断管理,端口地址为
相关推荐: