1 / 32

微机与接口作业

微机与接口作业. 第一章. 什么是机器码(数)?什么是真值? 微处理器由哪几部分组成?各部分的功能是多少? 什么是单片机和单板机? 什么是微机的系统总线?有几种?功能是什么? 何为引脚的分时复用?如何从 8088 的地址、数据复用引脚准确地得到地址和数据信息? 标志寄存器的功能及各种标志的意义是什么?进位标志和溢出标志的区别是什么?. 查表得出下列字符 ASCII 码:回车、换行、空格、 $ 、 / 、*、 9 、 A 、 B 、 a 、 b 。 写出下列数表示的无符号数和带符号数的范围。 ( 1 ) 8 位二进制数 ( 2 ) 16 位二进制数

shiloh
Télécharger la présentation

微机与接口作业

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 微机与接口作业

  2. 第一章 • 什么是机器码(数)?什么是真值? • 微处理器由哪几部分组成?各部分的功能是多少? • 什么是单片机和单板机? • 什么是微机的系统总线?有几种?功能是什么? • 何为引脚的分时复用?如何从8088的地址、数据复用引脚准确地得到地址和数据信息? • 标志寄存器的功能及各种标志的意义是什么?进位标志和溢出标志的区别是什么?

  3. 查表得出下列字符ASCII码:回车、换行、空格、$、/、*、9、A、B、a、b。查表得出下列字符ASCII码:回车、换行、空格、$、/、*、9、A、B、a、b。 • 写出下列数表示的无符号数和带符号数的范围。 • (1)8位二进制数 (2)16位二进制数 • 用8位和16位二进制数,写出下列数的补码。 • (1)+1 (2)-1 (3)+45 • (4)-45 (5)+127 (6)-128 • 微机某内存单元的内容为C5H,若它表示的是一个无符号数,该数对应的十进制数是多少?若它表示的是一个带符号数,该数对应的十进制数是多少?

  4. 将下列十进制数分别转化为二进制数(保留4位小数)、十六进制数(保留4位小数)和压缩BCD数将下列十进制数分别转化为二进制数(保留4位小数)、十六进制数(保留4位小数)和压缩BCD数 • (1)125.74 (2)513.85 (3)742.24 • 将下列二进制数分别转化为十进制数和十六进制数 • 1)101011.101 2)110110.1101 • 3)1001.11001 4)100111.0101 • 将下列十六进制数分别转化为二进制数和十进制数 • 1)5A.26 2)143.B5 • 3)6AB.24 4)E2F3.2C • 求A95BH与8CA2H之和;并写出运算后标志寄存器中SF、ZF、CF、OF、PF、AF的值。

  5. 8088执行一条指令所需的时间被称为( )周期,而总线周期是指( )。8088典型的总线周期由( )个T组成。若8088的CLK引脚接5MHz的时钟信号,则每个T状态的持续时间为( )。8088执行一条指令所需的时间被称为( )周期,而总线周期是指( )。8088典型的总线周期由( )个T组成。若8088的CLK引脚接5MHz的时钟信号,则每个T状态的持续时间为( )。 • 请简述8088CPU的内部结构各分为哪些模块及其功能。 • 在进行存储器寻址时,什么是8088的逻辑地址和物理地址?其16位的有效地址和20位的物理地址是在何处和如何形成的? • 在8088的工作过程中,什么情况下会产生Tw?它发生在什么具体时刻? • 8088CPU数据总线和地址总线各是多少?其最大存储空间是多少字节?

  6. 8088CPU中指令队列起什么作用?其长度是多少字节?8088CPU中指令队列起什么作用?其长度是多少字节? • 简述CPU执行程序的工作原理 • 8086/8088CPU中,存储器为什么要分段?一个段最大为多少字节?最小为多少字节? • 已知某存储单元的逻辑地址为1F00:38A0H,其对应的物理地址是多少? • 已知存储器物理地址为78A00H,计算它对应的逻辑地址。此结果唯一吗?

  7. 26、设当前数据段位于存储器的A8000H到B7FFFH,DS段寄存器的内容是什么?26、设当前数据段位于存储器的A8000H到B7FFFH,DS段寄存器的内容是什么? • 27、若CS=8000H,则当前代码段可寻址的存储空间的范围是多少?

  8. 第二章 • 2-1、说明以下各指令的源操作数属于何种寻址方式 • MOV AX, [BP] • MOV DS, AX • MOV DI, 0FF00H • MOV BX, [2100H] • MOV CX, [SI+5] • MOV AX, TABLE[BP][DI] • MOV DX, COUNT[BX] • 2-2、已知有关寄存器中的内容为: (DS)=0F100H, (SS)=0A100H, (SI)=1000H, (DI)=2000H, (BX)=3000H, (BP)=4000H. 偏移量TABLE=0AH,COUNT=0BH,说明题2-1中第1小题和第4~7小题指令源操作数的物理地址。

  9. 2-4、将偏移地址为5000H的存储单元的一个字传送到6000H单元,要求源操作数和目标操作数分别采用以下寻址方式。2-4、将偏移地址为5000H的存储单元的一个字传送到6000H单元,要求源操作数和目标操作数分别采用以下寻址方式。 • 直接寻址 • 寄存器间接寻址

  10. 2-5、说明以下8086/8088指令是否正确,如果不正确,简述理由。2-5、说明以下8086/8088指令是否正确,如果不正确,简述理由。 • MOV AL, SI • MOV [1001H], [1000H] • MOV DS, 2000H • MOV CS, AX • PUSH 5000H • POP DL • IN AX, 1234H • XCHG BX, 0F000H

  11. 2-6、 阅读以下程序段,说明其运行结果。 • MOV BX, 0F100H • MOV BH, [BX] • MOV AH, [BX] • 初值: (F100H)=‘A’, (4100H)=‘B’ • 结果: (AH)=H • MOV SI, 2100H • MOV [2800H], SI • MOV SP, 2800H • POP DI • 结果: (DI)=H, (SP)=H

  12. MOV SI, 2000H • MOV DI, 3000H • MOV SP, 0FF00H • PUSH SI • PUSH DI • XCHG SI, DI • MOV AL, [SI] • MOV BL, [DI] • POP SI • POP DI • 初值: (2000H)=‘1’, (3000H)=‘a’ • 结果: (SI)=H, (DI)=H, (AL)=H, (BL)=H • (SP)=H

  13. 2-7、用8086/8088指令编写程序段,分别实现以下要求:2-7、用8086/8088指令编写程序段,分别实现以下要求: • 将1000H和1001H内存单元中的字节互换 • 将2000H和2100H内存单元中的字互换 • 将BL、CL和DL三个寄存器的内容互换,→BL→CL→DL→

  14. 2-8、说明以下8086/8088指令是否正确,如果不正确,简述理由。2-8、说明以下8086/8088指令是否正确,如果不正确,简述理由。 • ADD BL, 0F100H • SUB ES, 20H • AND 0FH, AL • CMP [SI], [DI] • INC 2000H • MUL BL, CL • DIV 08H • SAL AX, 5

  15. 2-9、已知寄存器AL和BL的内容分别如下,试分析执行ADD AL, BL指令后,寄存器AL以及标志位CF、ZF、SF、AF、OF和PF的内容。 • (AL)=F2H, (BL)=8DH

  16. 2-10、已知寄存器AL和BL的内容分别如下,试分析执行SUB AL, BL指令后,寄存器AL以及标志位CF、ZF、SF、AF、OF和PF的内容。 • (AL)=B4H, (BL)=E7H

  17. 2-11、阅读以下程序段: MOV SI, 4000H MOV DI, 4100H MOV AL, [SI] ADD AL, [DI] DAA MOV [DI], AL MOV AL, [SI+1] ADC AL, [DI+1] DAA MOV [DI+1], AL • 根据给定的初值,说明运行结果 • 初值: (4000H)=63H, (4001H)=54H, (4100H)=88H, (4101H)=29H • 结果: (4100H)=H, (4101H)=H • 如果在以上程序段中去掉两条DAA指令,但初值不变,则运行结果为: • (4100H)=H, (4101H)=H

  18. 2-12、阅读以下程序段: • START: LEA BX, TABLE • MOV CL, [BX] • LOOPER: INC BX • MOV AL, [BX] • CMP AL, 0AH • JNC X1 • ADD AL, 30H • JMP NEXT • X1: ADD AL, 37H • NEXT: MOV [BX], AL • DEC CL • JNZ LOOPER • 假设从地址TABLE开始,10个存储单元的内容依次为:05H,01H,09H,0CH,00H,0FH,03H,0BH,08H,0AH。依次写出运行以上程序段后,从地址TABLE开始的10个存储单元的内容。 • 简单扼要说明以上程序段的功能。

  19. 2-13、用一条或几条8086/8088指令实现以下要求:2-13、用一条或几条8086/8088指令实现以下要求: • 将AL寄存器清零,但进位标志CF不变。 • 将AL寄存器和进位标志CF同时清零。 • 将进位标志CF 清零,但AL寄存器内容不变。 • 将AL寄存器中内容的第0、2、4、6位取反,其余位不变 • 将AL寄存器中内容的高4位清零,低4位保留。 • 将AL寄存器中的带符号数(以补码形式存放)取绝对值后存入BL寄存器。 • 统计AX寄存器的内容中“1”的个数,将统计结果存入CL寄存器。

  20. 两个不压缩BCD码分别存放在3000H和3001H单元的低4位,高4位均为0。将两个不压缩的BCD码组合成为一个压缩的BCD码,前者放在低4位,后者放在高4位,存放在3002H单元。例如初值为: (3000H)=07H, (3001H)=05H, 要求结果为(3002H)=57H • 将4000H和4001H单元的两个ASCII码分别转换为相应的十六进制数,然后共同存放在4002H单元,前者放在低4位,后者放在高4位。例如初值为: (4000H)=42H=‘B’, (4001H)=36H=‘6’, 要求结果为(4002H)=6BH

  21. 将BL寄存器中的无符号数乘以128,高位放在BH寄存器,低位放在BL寄存器,要求执行速度尽量快(移位和循环指令实现)。将BL寄存器中的无符号数乘以128,高位放在BH寄存器,低位放在BL寄存器,要求执行速度尽量快(移位和循环指令实现)。 • 11、一个4位十进制数以压缩BCD码形式存放在偏移地址为DATA和DATA+1的内存单元中,DATA单元存放个位和十位,DATA+1单元存放百位和千位。要求将其转换为相应的ASCII码,存放到以BUFF为首地址的4个内存单元。例如初值: (DATA)=47H, (DATA+1)=92H, 要求结果为: (BUFF)=‘7’, (BUFF+1)=‘4’, (BUFF+2)=‘2’, (BUFF+3)=‘9’ • 12、将立即数100推入堆栈

  22. 2-14、假设AL寄存器的内容为FEH, BL寄存器的内容为04H,问: • 执行MUL BL指令后,AX寄存器的内容是什么?标志位OF和CF的值是什么? • 执行IMUL BL指令后,AX寄存器的内容是什么?标志位OF和CF的值是什么?

  23. 第三章作业 • 3-1、请分别用DB、DW、DD伪指令写出在DATA开始的连续8个单元中依次存放数据11H、 22H、 33H、 44H、 55H、 66H、 77H、 88H的数据定义语句。

  24. 3-2、若程序的数据段定义如下,写出各指令语句独立执行后的结果:3-2、若程序的数据段定义如下,写出各指令语句独立执行后的结果: • DSEG SEGMENT • DATA1 DB 10H, 20H, 30H • DATA2 DW 10 DUP(?) • STRING DB ‘123’ • DSEG ENDS • (1) MOV AL, DATA1 • (2) MOV BX, OFFSET DATA2 • (3) LEA SI, STRING

  25. 3-3、试编写求两个无符号双字长数之和的程序。两数分别放在MEM1和MEM2单元中,和放在SUM单元中3-3、试编写求两个无符号双字长数之和的程序。两数分别放在MEM1和MEM2单元中,和放在SUM单元中 • 3-4、假设数据项定义如下: • DATA1 DB ‘HELLO! GOOD MORNING!’ • DATA2 DB 20 DUP(?) • 用串操作指令编写程序段,使其分别完成以下功能: • (1)从左到右将DATA1的字符串传送到DATA2中 • (2)传送完后,比较DATA1和DATA2中的内容是否相同 • (3)把DATA1中的第3和第4个字节装入AX • (4)把AX的内容存入DATA2+5开始的字节单元中。

  26. 3-5、执行下列指令后,AX寄存器中的内容是多少?3-5、执行下列指令后,AX寄存器中的内容是多少? • TABLE DW 10,20,30,40, 50 • ENTRY DW 3 • … • MOV BX, OFFSET TABLE • ADD BX, ENTRY • MOV AX, [BX] • 3-6、假设一个48位数存放在DX:AX:BX中,试编写程序段,将该48位数乘以2。

  27. 3-7、编写程序段,把从BUFFER控制的100个字节的内存区域初始化成55H、0AAH、55H、0AAH、 ……. 55H、0AAH。 • 3-8、请用子程序结构编写如下程序:从键盘输入一个二位十进制数的月份数(01~12),然后显示出相应的英文缩写名。(交软件) • 3-9、请在屏幕上显示斐波那契数列的前20个值。斐波那契数列的定义如下: (交软件) • F(0)=0 • F(1)=1 • F(n)=F(n-1) +F(n-2), n2

  28. 第四章作业 • 4-1、半导体存储器通常可分为哪些类型?分类的依据是什么? • 4-2、若某一存储器存储容量为8K×8位,则它有条数据线和条地址线,用它组成64KB的存储区共需要片 • 4-3、利用6264芯片(SRAM,8K×8位)采用全译码方式,自8088系统的内存取得40000H~43FFFH扩充RAM区,请画出这些芯片与系统总线的连接示意图

  29. 4-4、利用2716芯片(EPROM,2K×8位)在首地址20000H处扩充一片容量为8KB的内存,请画出这些芯片与系统总线的连接示意图(译码方式不限)4-4、利用2716芯片(EPROM,2K×8位)在首地址20000H处扩充一片容量为8KB的内存,请画出这些芯片与系统总线的连接示意图(译码方式不限) • 4-5、利用2764芯片(EPROM,8K×8位)并采用74LS138全译码,在8088系统的最高地址区组成32KB的ROM区,请画出这些芯片与系统总线的连接示意图(译码方式不限)

  30. 第五章作业 • 5-1、在8088/8086系统中, I/O端口的地址采用怎样的编址方式?访问端口时有几种寻址方式? • 5-2、一般的I/O接口电路安排那三种寄存器?它们各自的作用是什么? • 5-3、有一输入设备,其数据端口的地址为FFE0H,状态口为FFE2H,当其D0位为1时表明输入数据备好。请编写采用查询方式进行数据传送的程序段,要求从该设备读取100个字节并输入到从2000H:2000H开始的内存中(在程序中加上必要的注释)。

  31. 5-4、如图1,编写程序段实现操作:当K0单独按下时,发光二极管LED0~LED7将依次点亮,每个维持200ms;当K1单独按下时,发光二极管LED0~LED7将反向依次点亮,每个也维持200ms;其它情况下LED不点亮(设延时200ms子程序DELAY已知,可直接调用)5-4、如图1,编写程序段实现操作:当K0单独按下时,发光二极管LED0~LED7将依次点亮,每个维持200ms;当K1单独按下时,发光二极管LED0~LED7将反向依次点亮,每个也维持200ms;其它情况下LED不点亮(设延时200ms子程序DELAY已知,可直接调用)

  32. 10K×8 +5V A15 G 74LS244 三态 缓冲器 8000H IOW IOR K0 K1 ... K7 74LS06 反向 驱动器 CLK 74LS273 8D 锁存器 +5V LED0 D7~D0 LED1 ... LED7 300×8 图1

More Related