微机原理复习题(答案)(17页).doc

上传人:1595****071 文档编号:68205486 上传时间:2022-12-27 格式:DOC 页数:17 大小:1.11MB
返回 下载 相关 举报
微机原理复习题(答案)(17页).doc_第1页
第1页 / 共17页
微机原理复习题(答案)(17页).doc_第2页
第2页 / 共17页
点击查看更多>>
资源描述

《微机原理复习题(答案)(17页).doc》由会员分享,可在线阅读,更多相关《微机原理复习题(答案)(17页).doc(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、-第 1 页-微机原理复习大纲复习范围:1.作业2.书上例题3.课堂上反复强调的内容4.复习题微机原理复习题一、单项选择题一、单项选择题1PC 机是(C)A、单片机 B、单板机 C、微型计算机 D、微型计算机系统2CPU 中运算器的主要功能是(D)A、算术运算 B、逻辑运算C、函数运算 D、算术运算和逻辑运算38086CPU 中的段寄存器用来存放(C)A、存储段的物理地址 B、存储器的逻辑地址C、存储器的段基值 D、存储器的起始地址48086 系统中内存储器的地址空间为 1M,而在进行 I/O读写时,有效的地址线是(B)A、高 16 位 B、低 16 位 C、高 8 位 D、低 8 位5808

2、6CPU 在进行写内存操作时,控制信号 M/IO和 DTR是(D)A、00 B、0 1 C、1 0 D、1 16芯片 8288 在 8086CPU 系统中用作(C)A、总线锁存器 B、总线驱动器 C、总线控制器 D、总线仲裁器7有一静态 RAM 芯片的地址线为 A0A9,数据线为 D0D3,则该存储器芯片的存储容量为(D)A、2K4 位B、1KB(B:字节)C、2KBD、1K4 位8在 16 位存储系统中,为了(C),存储字最好存放在偶地址。A、便于快速寻址B、节省所占的内存空间C、减少执行指令的总线周期D、减少读写错误9有一 8086 系统的中断向量表,在 003CH:003FH 单元开始依

3、次存放 34H、FEH、00H和 F0H 四个字节,该向量对应的中断类型码和中断服务程序的入口地址分别为(C)A、0EH,34FE:00F0HB、0EH,0F000:0FE34HC、0FH,0F000:0FE34HD、0FH,00F0H:34FEH108259A 可编程中断控制器中的中断服务寄存器 ISR 用于(A)A、记忆正在处理中的中断B、存放从外设来的中断请求信号C、允许向 CPU 发中断请求D、禁止向 CPU 发中断请求11当 8255A 工作在方式 1 的输入状态时,8255A 与外设之间的联络信号为(C)A、IBF、ACKB、OBF、ACKC、IBF、STBD、OBF、STB128

4、253 可编程定时/计数器的计数范围是(D)A、0-255B、1-256C、0-32768D、1-6553613可编程定时器计数器 8253 的 6 种工作方式中,既可软件启动,又可硬件启动的是(B)A、方式 1,2;B、方式 2,3;C、方式 3,5;D、方式 2,514根据串行通信规程规定,收发双方的(B)必须保持相同。A、外部时钟周期;B、波特率因子;C、波特率;D、以上都正确158251A 用作异步串行通信接口,如果设定波特率因子为 16,而发送器与接收器时钟频率为-第 2 页-19200Hz,则波特率为(A)。A、1200 波特;B、2400 波特;C、9600 波特;D、19200

5、 波特16、10 进制数127 的补码为(A)A、10000001B、10000000C、00000001D、1111111117、指令 MOVBX,DATABX采用的寻址方式是(D)。A、立即寻址B、寄存器间接寻址C、直接寻址D、寄存器相对间接寻址18、已知 AL=7EH,DL=8AH,执行 CMPAL,DL 指令后,标志寄存器中 C、O、S、Z 四标志的状态分别为(C)。A、0、0、1、0B、0、1、1、0C、1、0、1、0D、1、0、0、019、已知 BL=08H,DL=0E2H,执行 XOR DL,BL 指令后,DL 寄存器中的数为(D)A、132B、20HC、00HD、0EAH20、

6、CPU 响应中断后得到中断类型码是 9,则从(C)单元取出中断服务子程序的入口地址A、0009HB、00009HC、00024HD、0024H21 十进制数 66 转换成二进制数为(D)A.11000010B.01100110C.11100110D.0100001022下列数中最小的是 AA.(101001)2B.(52)8C.(2B)16D.(50)1023 设(101)x(41)16,求 x(C)A.6B.10C.8D.1224 用 16 位二进制补码表示一个带符号数,其最小数为(C),如表示一个无符号数,其最小数为(A)A.0B.-32767C.-32768D.-6553625 一个 8

7、 位二进制整数,若用补码表示,由 3 个“0”和 5 个“1”组成,则最小值为(C)。A.-120B.-8C.-113D.-1126 8086/8088 加电复位后,执行的第一条指令的物理地址是(B)。A.0FFFFHB.FFFF0HC.0000HD.0240H27 8086 在执行 MOVAL,BX指令的总线周期内,若 BX 存放的内容为 2034H,则 BHE=,和 A0 的状态为D。A.0,1B.0,0C.1,1D.1,028 在 8086/8088CPU 中,一个最基本的总线周期数由(D)个时钟周期(T 状态)组成,在 T1 状态,CPU 往总线上发送的是(B)信息。A.1B.2C.3

8、D.4 A.数据B.地址C.控制D.其他29 8086 用于中断请求输入的引脚信号是(A)。A.INTR 和 NMIB.INT 和 NMIC.INTR 和 INTAD.INTE 和 INET30 8086CPU 响应单个可屏蔽中断的条件是(D)。A.CPU 开中断B.外设有中断请求信号C.外设中断请求信号不屏蔽D.同时满足上述 A,B,C 条件,且正在执行的指令执行完毕。31 不需要访问内存的寻址方式是(B)。A.直接寻址B.立即数寻址C.间接寻址D.变址寻址32 条件转移指令 JE NEXT,能转移到语句标号为 NEXT 执行的条件是(D)。A.ZF=0B.CF=1C.CF=0D.ZF=13

9、3 实现 Al 寄存器中 D7 和 D0 都取反的指令是 DA.ANDAL,7EHB.OR AL,81HC.TESTAL,81HD.XOR AL,81H-第 3 页-二、多项选择题二、多项选择题1 8086CPU 的下列寄存器中,不能用作寄存器间接寻址方式时的地址寄存器的有(ACD)。A、AXB、BXC、CXD、DXE、SI28086 有两种工作模式,即最大模式和最小模式,其中最小模式的特点是(ADE)。A、8086 提供全部控制信号 B、必须使用总线控制器 8288C、必须使用总线收发器 D、必须使用总线锁存器E、构成单处理器系统3大部分 DMAC 都拥有(BCD)等传送方式。A、直接传送方

10、式 B、单字节传送方式C、查询传送方式 D、成组传送方式E、中断传送方式4要对可编程接口芯片进行读操作时,必须满足(AB)A、CS=LB、RD=L,WR=H C、WR=L,RD=HD、RD=LWR=LE、RD=H,WR=H5 将累加器清零的正确指令是 ABCA.ANDAX,00HB.XOR AX,AXC.SBB AX,AXD.CMPAX,AX三、判断题三、判断题1 在 8086 最小方式的总线读时序图中,在 T2时钟周期时,AD0-ADl5,总线上有一个高阻态。()2对于可屏蔽中断的嵌套处理原则是允许优先级高的中断打断优先级低的中断,允许同级中断相互打断,而不允许优先级低的中断打断优先级高的中

11、断。()38086CPU 在收到外部中断请求信号以后,进人中断响应周期,通过 IN 指令读取中断类型号,从而就可获得中断服务程序入口地址。()4可编程定时器计数器,其定时与计数功能可由程序灵活地设定,但由于是由软件控制,在计数过程中必然会占用 CPU 的时间。()5.指令一般包括两部分:操作码和操作数。()6.一个总线周期有一个或若干个指令周期组成。()7.8086 有一个 16 位标志寄存器,它包含了 6 个状态标志位和 3 个控制标志位。()8.一片 8259A 中断控制器最多能接收 8 个中断源。()9 8086CPU 的逻辑段允许段的重叠和交叉。()10 8086CPU 的标志寄存器

12、FR 是 16 位的,每一位都有定义。()11 在 8086 的主存中,一个字节占用一个存储单元,一个字占用两个相邻的单元,字的高 8 位放在高地址单元,低 8 位放在低地址单元。()12 8086CPU 的 AD0AD15 在执行指令时,先传数据,后传地址。()四、填空题四、填空题1(640)10=(10 1000 0000)2=(280)162.每片 8253 包含有3个独立的 16 位计数通道,每个通道具有6种工作方式。3.取指令时,8086 会自动选择 CS值作为段基值,再加上由IP 提供的偏移量形成物理地址。-第 4 页-4.808 6/8088 微处理器被设计为两个独立的功能部件:

13、EU_和BIU_。5.TEL 8086 的当前 CS=2000H,IP=5678H,则将执行 20 位物理地址 25678H处的程序。6.8086 存储器组织中,逻辑地址由十六进制 4 位构成的,物理地址又由十六进制5位构成。7.一片 8259A 可管理_8 _级中断,若级联三片从片则可以管理29级中断。8、若 DS=1200H,则当前数据段的起始地址是 12000H,末地址是 21FFFH。9.系统中数据传送的控制方式中程序控制的数据传送又分为条件查询 和 无条件查询。10.“串行通信”是指数据一位一位依次传送。在串行通信中有两种基本的通信方式:即 同步和异步。11.主机和 I/O 设备间的

14、数据传送有 程控、中断和DMA,IOP三四种方式,其中 DMA 和 IOP传送过程中 CPU 无需参与,而是由 DMAC 和 IOP控制完成。12 38.8086 系统中,要求各个逻辑段必须从节的整数倍边界开始,即段首地址的低 4 位总是 0。将段首地址的高 16 位地址码称作段基址,存放在相应的段寄存器中。13.由逻辑地址获得物理地址的计算公式为段基址*16+偏移地址。14.80X86 系统中,堆栈是遵循后进先出原则。15.在 8086 最小模式的典型配置中,需2片双向总线收发器 8286,因为 8286 数据线为 8 位,而 8086 数据总线为 16 位。16.8086/8088 系统中

15、 I/O 端口地址是二进制数16位的,可寻址64K个端口。每个端口中含8位的数据。17.8086/8088 的 I/O 指令中若采用直接寻址,要求端口地址必须在0-255范围之内;若采用间接寻址,则端口地址在0-65535范围之内。18 位二进制补码所能表示的十进制数的范围为127128,前者的补码为(01111111),后者的补码为(10000000)。19 已知段基址和偏移地址分别为 2015H 和 0028H,此存储单元的物理地址是(20178H)。20 若 8086 的引脚 MN/MX 接+5V,则当执行 OUT 指令时,其引脚信号 M/IO=0,RD=1,WR=0(填写高、低电平)。

16、21 8086 工作于最小模式下,CPU 完成存储器读操作时,信号 M/IO=1,RD=0,WR=1和 DT/R=0。若进行字节操作,单元地址为奇地址,则 BHE=0,和 A0=1。若进行字操作且该字地址为偶地址,则 BHE=0,和A0=0。22 写出一条指令完成下述功能:1)将 AH 的最高 3 位清零,其他位不变:AND AH,1FH;2)将 AH 的低 4 位置 1,其他位不变:OR AH,0FH;3)将 AH 的最低位取反,其他为不变:XOR AH,01H23 宏汇编语言程序被汇编时,指令指令语句产生代码指令,伪指令伪指令语句不产生代码指令,宏指令语句可能产生也可能不产生代码指令。24

17、 调用程序、子程序传送参数的方法通常有堆栈堆栈、寄存器寄存器和内存空间内存空间三种方法。25 伪 指 令 EQU、DB、DW、MACRO 的 标 号 名 字 域 必 须 有 名 字 或 标 号 的 伪 指 令 为EQU,MACRO。26 乘法指令 MUL 的指令格式只有一个源操作数,若源操作数的类型属性为字节,则目的操作数在AX中,若源操作数的类型属性为字,则目的操作数在DX,AX中。27 请给出标志寄存器中标志位 OF、IF、SF、ZF、PF、CF 的说明:OF溢出溢出、IF中断中断、SF符号符号、ZF零零、PF奇偶奇偶、CF进位进位。28、指令 XLAT 通常用于查表操作,在使用该指令前,

18、应把表首的偏移首地址送入BX,待转换的代码在表中的序号送AL。29 若要求不产生汇编错误,则字符串ABC只能出现在伪指令DB中。30 为下述情况各举一例。-第 5 页-寄存器与存储单元内容相加送寄存器ADDAX,1000H。寄存器互送MOVAX,BX。将标志寄存器进栈PUSHF。立即数与寄存器内容相加送寄存器ADDAH,01H。将 48H、5AH 存入字节数据区 ARRAYBARRAYB DB 48H,5AH。五、简答题五、简答题1在 IO 接口电路中,按主机与外设间传送的信息类型,端口可分为哪几类?CPU 对这些端口实行读操作还是写操作?答:I/O 端口分为:数据口,状态口,控制口。CPU

19、可对数据口进行读或写操作,对状态口进行读操作、对控制口进行写操作2与并行通信相比较,串行通信有什么特点?(1)串行通信适宜于远程数据传送;(2)串行通信通常传送速度较慢;(3)串行通信的费用较低,传输线少,可借用电话网络来实现远程通信3.8086/8088CPU 响应任何一种中断时,都会自动的将 IF 和 TF 标志清零,其目的是什么?答:将 IF 标志清零的目的是在本次执行中断服务程序的过程期间,不要再响应其他的可屏蔽中断;将 TF 标志清零的目的是不要单步执行中断服务程序。4.CPU 响应多种中断时,都要自动地保护断点,为什么?答:“保护断点”是指主程序中当前被中断的指令的下一条指令所存放

20、的存储单元的逻辑地址,(称为断口地址,或断点地址,简称断点)包括段值和段内偏移量两部分(既 CS 和 IP 中的内容)作为返回地址被自动地压人堆栈中保护起来。这样做的目的是使中断服务程序运行结束时,使程序能返回到主程序的断点处去继续执行。5.当某一中断发生时,CPU 如何能找到相应的中断向量?答:当某一中断发生时,CPU 只有在中断向量表中找准找到相应的中断向量,即相应的中断服务程序的人口地址,才能去执行相应的中断服务程序。若能找准存放该中断向量的 4 个存储单元的地址,就意味着找到了该中断向量。若把存放每个中断向量的 4 个单元的第一个单元的地址叫做向量地址,由于中断向量是按中断类型码 n

21、从 0 255 的顺序存放的,故向量地址与中断类型码有如下关系:向量地址=0000:N4。如:0 号中断的向量地址为 0000:0000,表示 0 号中断的中断向量存于地址为 0000:0000开始的 4 个单元中,1 号中断的向量地址为 0000:0004H,表示 1 号中断的中断向量存于地址为以 0000:0004H 开始的 4 个单元之中,等等。因此,任何一个中断的到来,CPU 只要能得到它的中断类型号,就能找到它的中断向量。把它的偏移量传送入 IP,段值送入 CS,即能执行相应的中断服务程序。6.分别指出下列指令中源操作数的寻址方式:(5 分)A.MOVSI,100立即寻址B.MOVC

22、X,DATASI寄存器相对寻址C.MOVSI,AX寄存器寻址D.ADDAX,BXDI基址加变址寻址E.POPHF寄存器寻址7.什么是中断?什么是中断向量?什么是中断向量表?INT24 在中断向量表的什么位置?一个完整的中断过程有哪几个步骤?答:中断是指 CPU 在正常运行时,由于内部、外部事件或由程序的预先安排引起的 CPU 中断正在运行的程序,转而到内部、外部事件预先安排的 服务程序(中断子程序)中去执行。-第 6 页-中断向量是中断处理子程序的入口地址,每个中断类型对应一个中断向量。中断向量表是中断类型码和与此类型码相应的中断服务程序之间的一个连接链。每一个中断服务程序入口地址的IP 和

23、CS 成为一个中断指示字或中断向量。24*4=96=60HINT24 在中断向量表的 0000:0060H0000:0063H 处。一个完整的中断过程包括中断请求、中断排队、中断响应、中断处理和中断返回五个步骤。8.简述 8086CPU 由哪些寄存器组成。答:4 个 16 位的通用寄存器:AX 累加器、BX 基址寄存器、CX 计数器、DX 数据寄存器;4 个 16 位的专用寄存器:SP 堆栈指针寄存器、BP 基址指针寄存器、SI 源变址寄存器、DI目的变址寄存器;一个标志寄存器 FR;4 个 16 位的段地址寄存器:CS 代码段寄存器、DS 数据段寄存器、SS 堆栈段寄存器、ES 扩展段寄存器

24、;一个 16 位的指令指针寄存器 IP9.简述 8086/8088 系统中为什么要使用地址锁存器?答:为获取并保持地址信息,系统中要使用地址锁存器。因为 8086/8088 系统中低 16 位地址线与数据线分时复用,高 4 位地址线与状态线分时复用,在每个总线周期的 T1 状态期间,CPU 通过20 位地址线向外发送地址,然后在 T2、T3、T4 状态时传送数据或状态信息,而在一个完整的总线周期(T1T4)内,被访问的存储器或 I/O 端口始终需要完整的地址信息,这就要求在 T1 状态时地址有效期间由地址锁存器将地址信号锁存并保持,以供被访问的存储器或 I/O 端口在整个总线周期内使用。10.

25、已知 SDRAM6264 的片容量是 8K8 位,问它的外部引脚中含多少根地址线和数据线?答:从该芯片的容量可知,其内部含有 8192 个(8*1024)存储单元,每个单元能存放一个字节数据,因为 13 根地址线才能对 8192 个存储单元寻址(213=8192),所以它有 13 根地址线,8 位数据线。因为在读写每一个存储单元的 8 位二进制数时需要 8 位数据线。六、简单分析、设计题六、简单分析、设计题1、阅读如下程序段,回答提出的问题。MOVAX,3456XCHGAX,BXMOVAX,3456SUB AX,BXJE DONEKK:ADDAX,BX.DONE:该程序段执行完 JE DONE

26、 语句后,AX=0,ZF=1,IP=DONE。2 请在程序段的每一空框内填入一语句(不得修改其它语句),以实现下述功能:将字变量 VARM1中的非零数据左移到最高位为“1”止,左移次数存入字节变量 VARB 中,左移后的结果存入字变量 VARW 中。MOV BL,0MOVAX,VARW1ADDAX,0JS DONEGOON:INC BLADDAX,AX-第 7 页-JNS GOONDONE:MOV VARW,AXMOV VARR,BL3 为什么说 8088CPU 为准 16 为微处理器,而 8086CPU 为 16 为微处理器?答:8088CPU 的内部寄存器均为 16 位,可一次完成 16

27、位二进制的算术及逻辑运算,但外部数据总线为 8 位。而 8086 则内部寄存器及外部数据总线均为 16 位,可一次完成 16 位二进制的算术及逻辑运算。4 已知,(DS)=0120H,(SS)=2000H,(ES)=0FF2H,(BX)=1000H,(BP)=2000H,(SI=3110H,(SP)=1004H,试写出下面每条指令中存储器操作数的物理地址。(1)MOVAL,BX+SI+9000H DS*16+BX+SI+9000H1E310H(2)MOV BX,BP-18SS*16+BP-1821FEEH(3)ADD SS:BX+SI-3,ALSS*16+BX+SI-32410DH(4)SUB

28、 SI+BP,CXSS*16+SI+BP25110H(5)PUSHFSS*16+SP-221002H堆栈指针寄存器 SP 的初值位 1000H,AX2000H,BX3000H,试问:(1)执行指令 PUSH AX 后,SP0FFEH(2)再执行指令 PUSH BX 和 POPAX 后,SP 0FFEH,AX3000H,BX 3000H。5 程序段执行完后,AX,BX,CX,DX 寄存器的内容分别是什么?START:MOVAX,01HMOV BX,02HMOV CX,03HMOV DX,04HNEXT:INC AXADD BX,AXSHR DX,1LOOP NEXTAX=4BX=08HCX=0D

29、X=0.6 判断下面 8086 汇编程序执行结果:MOVAX,0FFFDHMOV BX,8000HADDAX,BXHLT执行结果AX=7FF0HBX=8000H对应标志位ZF=0SF=0OF=1CF=1PF=0AF=07.下面程序段执行完以后,BX 的内容是什么?MOVBX,00FFHANDBX,0FFFHORBX,0F0FHXORBX,00FFH-第 8 页-答:BX=0F00H8下列程序段完成什么工作?DAT1DB30DUP(?)DAT2DB10DUP(?)MOVCX,10MOVBX,20MOVSI,0MOVDI,0NEXT:MOVAL,DAT1BXSIMOVDAT2DI,ALINCSII

30、NCDILOOPNEXT答:把 DAT1+20 存储单元开始的 10 个字节搬到 DAT2 开始的连续 10 个存储单元中。9.设 8086 系统中,中断请求信号采用边沿触发方式,单片 8259A,中断类型码高 5 位为 01010,中断源接在 IR2 上,普通全嵌套方式,非自动结束方式,缓冲方式。(设:ICW1 口地址为 80,ICW2、ICW3、ICW4 口地址为 81)编写初始化程序。MOVAL,13HOUT80H,ALICW1MOVAL,52HOUT81H,ALICW2MOVAL,09HOUT81H,ALICW410.已知(AX)=0120H,(BX)=2000H,(CX)=0FF2H

31、,(DS)=1000H,(ES)=2000H,存储器中的数据如图所示。请写出下列指令单独执行时,对寄存器和存储器内容将产生什么影响?(1)MOV AX,BX(5)LDS DI,l000H(2)MOV AX,ES:BX(6)LES SI,0FFEH(3)MOV BX,CX(7)XCHG AX,BX(4)LEA CX,BX(8)XLAT答:该题实际上要求回答 8 条指令分别执行时的结果。(l)MOV AX,BX 源操作数的物理地址为:10000H 十 2000H=12000H执行结果(AX)=12000H 9745H(2)MOV AX,ES:BXES:BX 为段超越情况,源操作数物理地址为:200

32、00H+2000H=22000H执行结果:(AX)=22000H =4433H(3)MOV BX ,CX目的操作数的物理地址为:10000H+2000H=12000H故12001H0FH,12000H 0F2H原来的内容不再是 97H 及 45H 了。(4)LEACX,BX 源操作数的有效地址为 BX 故(CX)=(BX)=2000H(5)LDSDI,1000H源操作数的物理地址是 l0000H+l000H=11000H,故(DS)=1 l002Hl000H(DI)=11000H25l0H-第 9 页-(6)LESSI,0FFEH 源操作数的物理地址为 l0000H+0FFEH=l0FFEH,

33、故(ES)11000H=2510H(SI)l0FFEH=0F45H(7)XCHG AX,BX.执行前(AX)=0l20H,(BX)=2000H执行后(AX)=2000H,(BX)=0120H(8)XLAT;(AL)=BX+AL 2000H+0020H=2020H 有效地址 EA=2020H 时,物理地址为 12020H,故执行 XLAT 指令后,(AL)=56H。11.写出四条指令,分别能将 AX 寄存器清零。答:MOVAX,0 ANDAX,0 SUBAX,AX XORAX,AX12 下列指令是否有错?有则指出错误所在:(1)MOVDS,117CH错,立即数不能直接送段寄存器(2)MOVBX,

34、28A0H错,双操作数指令的两个操作数不能同时在内存中(3)MOVCS,AX错,不能用指令直接往 CS 寄存器中传送数据(4)MOVDS,ES错,两个段寄存器之间不能传送数据(5)MOVAL,DX错,类型不匹配,寄存器长度不同(6)MOVAX,1000BX对(7)MOVBX,AX错,AX 寄存器不能用于间接寻址(8)MOVAL,C8H错,以字母开头的十六进制数前面要加前导 0(9)MOVAX,00F1错,十六进制数应加上后缀 0(10)MOVAX,SI-10对七、综合分析、设计题七、综合分析、设计题1 址为 DATAB 开始的 80 个单元中,存放某班 80 个学生的某课程成绩,要求:统计=9

35、0 分、8089分、7079 分、6069 分、60 分以下的人数,结果存放在 BTRX 开始的 5 个单元中求平均成绩,结果存放在 LEVEL 中。解:寄存器使用分配:解:寄存器使用分配:90 分以上在分以上在 DH,80 分以上在分以上在 DL,70 分以上在分以上在 BH,60 分以上在分以上在 BL,60 分以下在分以下在 AH,总分、均分都在,总分、均分都在DI。DAT SEGMENTCONTDB10DATA DB 30,65,99,80,75,89,100,45,60,70BUFFER DB?,?,?,?,?LEVELDB?,?DAT ENDSXORAH,AH-第 10 页-XOR

36、DX,DX;统计结果清零统计结果清零XORBX,BX;统计结果清零统计结果清零LEASI,DATALEADI,LEVELMOVCL,CONT;总人数送循环计数器总人数送循环计数器 CXgoon:MOVAL,SI;读原始数据读原始数据ADC DI,AL;累加总分ADCDI+1,0;计算进位计算进位CMPAL,90JLPP8;不高于不高于 90 分者转分者转 PP8INCDH;90-100 分的人数加一分的人数加一JMPSTORPP8:CMPAL,80JLPP7;不高于不高于 80 分转分转 PP7INCDL;80-89 分的人数加一分的人数加一JMPSTORPP7:CMPAL,70JLPP6;不

37、高于不高于 70 分者转分者转 PP6INCBH;70-79 分的人数加一分的人数加一JMPSTORPP6:CMPAL,60JLPP5;不高于不高于 60 分者转分者转 PP5INCBL;60-69 分的人数加一分的人数加一JMPSTORPP5:INCAH;低于低于 60 分的人数加一分的人数加一STOR:INCSI;读下一个分数读下一个分数LOOPGOON;CX=CX-1,CX 不为零转不为零转 GOON,继续统计继续统计LEASI,BUFFER;回存统计结果回存统计结果MOVSI,DHINCSIMOVSI,DLINCSIMOVSI,BHINCSIMOVSI,BLINCSIMOVSI,AHM

38、OVAX,WORD PTR DI;计算平均成绩计算平均成绩MOVCL,CONTDIVCLMOVLEVEL,AL;回存平均成绩回存平均成绩HLT2 在 BVFF 单元中有一个 BCD 数 A,试根据下列关系编写程序,计算结果存在 DES 中。-第 11 页-A20,Y=A+20;A=60,Y=A.DAT SEGMENTBVFFDB8DESDB?DAT ENDSMOVAL,BVFFCMPAL,20JLEX1CMPAL,60JLEX2MOVAL,80(cmp al,80)JMPSTOPEX1:MOVBL,3MULBL(add al,20)JMPSTOPEX2:SUBAL,20STOP:MOV DES

39、,ALHLT3 在 DATA 之下存放 100 个无符号的 8 位数,找出其最大者并将其存放在 KVFF 单元。DAT SEGMENTBUFFER DB;自行定义;自行定义 100 个数据个数据KVFFDB?DAT ENDSXORDL,DLLEADI,KVFF;NEXT0:LEASI,BUFFER;MOVCL,99;比较次数为比较次数为 N-1 次次NEXT1:MOVAL,SI;INCSI;CMPDL,AL;JNCNEXT2;MOVDL,AL;DL 中始终存目前最大值中始终存目前最大值NEXT2:DECCL;JNZNEXT1;MOV DI,DL;最大值存储最大值存储HLT4 编写 10 个字(

40、16 位二进制数)之和的程序解:解:ADD1 为被加数,为被加数,ADD2 为加数,为加数,SUM 为和为和,CONT 为循环次数为循环次数LEASI,ADD1;LEADI,ADD2;LEABX,SUM;MOVCL,CONT;-第 12 页-MOVCH,0;循环初始化循环初始化CLC;进位清零进位清零MADD1:MOVAX,SI;读加数读加数 1ADCAX,DIADDSI,2;移动源区地址指针移动源区地址指针ADDDI,2;移动目的区地址指针移动目的区地址指针MOVBX,AX;回存计算结果回存计算结果ADDBX,2;移动移动“和和”存储区地址指针存储区地址指针LOOPMADD1;循环控制循环控

41、制HLT;暂停暂停5 在某一系统中,有 8 个开关 K7K0,要求不断检测它们的通断状态,并通过发光二极管 LED7LED0 显示出来。开关断开,相应的 LED 点亮;开关合上,LED 熄灭。选用 8086 CPU,8255A 和74LS138 译码器等芯片,构成应用电路。如下图所示,8255A 的 PA 口作输人口,8 个开关 K7K0 分别接 PA7PA0。PB 口为输出口,PB7PB0 分别连接显示器 LED7LED0。试进行编程设置。地地址址译译码码地址地址CPU(8088)RDWRA0A1_D7D08255ARDWRA0A1_PA0PA7PB0PB1PB2PB3PB4PB5PB6PB

42、7+5V2K4K0K7abcdefghGND12074LS04LED地地址址译译码码地址地址CPU(8086)RDWRA0A1_D7D08255ARDWRA0A1_PA0PAPB0PB1PB2PB3PB4PB5PB6PB7+5V2K4K0答:程序段如下:MOVAL,90H;方式选择控制字OUT0F3H,AL;写人控制字SET:INAL,0F0H;从 PA 口读开关状态OUT0F1H,AL;PB 口控制比 LED,指示开关状态JMPSET;循环检测-第 13 页-6.(1)某系统中,8253 的端口地址为 0B4H0B7H,令计数器通道 1 工作在方式 0,仅用 8 位二进制数计数,计数初值为

43、100,试进行初始化编程。答:初始化程序段如下:MOVAL,50HOUT0B7H,AL;置控制字MOVAL,64HOUT0B5H,AL;置计数初值。(2)某片 8253 的计数器通道 2 工作在方式 1,按 BCD 码计数,计数值为 5000,该端口地址为 0B4H0B7H,请初始化编程。答:初始化程序段如下:MOVAL,0B3HOUTOB7H,AL;置控制字MOVAL,00HOUTOB6H,AL;置计数初值低 8 位。MOVAL,50HOUTOB6H,AL;置计数初值高 8 位。7.对 8255A 进行初始化,要求 A 口为输出工作方式 0;B 口输入工作方式 1;C 口高四位输入,低四位输

44、出。(地址 04A0H0A406H)MOVAL,8EH;工作方式控制字OUT04 A3 H,AL;控制字送控制口8.求两个多字节数之和。这两个数在 21000H 地址开始的内存单元中,连续存放,低位在小地址一端,结果放在这两个数之后。设这两个多字节数均为八个字节长。试画出程序流程图并编写相应程序。NAMEDZJ-JAFADATASEGMENTD1DB16 DUP(?)S1DB8DUP(?)DATAENDSSTACSEGMENTSTADB50 DUP(?)STACENDSCODESEGMENTASSUMECS:CODE,DS:DATE,STAC:STAORG 1000HSTART:MOVAX,2

45、000HMOVDS,AX;数据段段基地址送 DSMOVSI,1000H;第一个数指针送 SIMOVDI,1008H;第二个数指针送 DIMOVBX,1010H;结果指针送 BXMOVCX,4;循环次数送 CXCLC;CF=0清零AA:MOVAX,SI;取一个字到 AXADCAX,DI;AX+DI 送 AXMOVBX,AX;结果存入BXPUSHF;保护进位位ADDSI,2ADDDI,2ADDBX,2POPF-第 14 页-LOOPAACODEENDSENDSTART9.用可编程并行接口芯片 8255A 作为打印机接口。其中端口 A 工作于方式一,用于向打印机输出打印数据,端口 C 用作状态口和控

46、制口。编写程序,打印存储区为 1200H1400H 内所有字符的程序。设 8255A 的口地址分别为端口A:0FFF0H,端口 B:0FFFlH端口 C:OFFF2H,控制口:0FFF3H。ORG5000H;把程序定位在 5000HMOVDX,OFFF3H;8255A 控制端口地址MOVAL,0A8H;端口 A 方式 1,输出,PC4 输入OUTDX,AL;控制字送控制端口MOVCX,200H;要打印字符的个数MOVDI,1200H;存储区起始地址CC:MOVAL,DI;数据段偏移地址送 ALMOVDX,0FFF0HOUTDX,AL;字符输出MOVDX,0FFF2H;读打印机当前状态AA:IN

47、AL,DX;读打印机状态ANDAL,10H;测试 BUSY 信号(PC4)JNZAA;忙等待INCDI;指向下一个字符LOOPCCHLT10.某 8086 系统中使用 8237A 完成从存储器到存储器的数据传送,已知源数据块首地址的偏移地址值为 1000H,目标数据块首地址的偏移地址为 1050H,数据块长度为 100 字节,请编写初始化程序。可分为 5 步来作:a)写工作方式控制字MOVDX,工作方式寄存器端口MOVAL,41H;工作方式控制字OUTDX,ALb)写操作方式控制字MOVDX,命令寄存器端口-第 15 页-MOVAL,01H;操作方式控制字OUTDX,ALc)源数据块首地址送通

48、道 0 地址寄存器MOVDX,通道 0 地址寄存器端口MOVAX,1000HOUTDX,ALMOVAL,AHOUTDX,ALd)目的数据块首地址送通道 1 地址寄存器MOVDX,通道 1 地址寄存器端口MOVAX,1050HOUTDX,ALMOVAL,AHOUTDX,ALe)数据块长度送通道 1 基字节数寄存器MOVDX,通道 1 基字节数寄存器端口MOVAX,64HOUTDX,AL11、编写 8251 异步模式下的接收和发送程序,完成 256 个字符的发送和接收,设端口地址:208H(数据端口),209H(控制端口),波特率因子 16,1 起始位,1 停止位,无奇偶校验,每字符 8位。(1)

49、发送程序:MOVDX,209HMOVAL,40H;复位命令。OUTDX,ALMOVAL,01001110B;模式字OUTDX,ALMOVAL,00110111B;控制字OUTDX,ALMOVCX,256;发送 256 字节MOVDI,0NEXT:MOVDX,209HINAL,DX;状态字ANDAL,01H;TXRDY?JZNEXTMOVAL,DIMOV DX,208HOUT DX,AL;发送INCDILOOP NEXT(2)接收程序:MOV DX,209HMOVAL,40H;复位-第 16 页-OUT DX,ALMOVAL,01001110B;模式字OUT DX,ALMOVAL,0011,01

50、11B;控制字OUT DX,ALMOV CX,256;接收 256 字节MOV SI,0NEXT:MOV DX,209HIN AL,DX;状态字ANDAL,02H;RXRDY?JZ NEXTMOV DX,208HIN AL,DX;接收 1 字符MOV bufSI,ALINC SILOOP NEXT12、已知 4500H 开始的单元中放有 100 个单字节带符号数:(1)若从头至尾每 10 个数一组,试编写一程序求每一组的和并依次放于 6500H 开始的单元中;(2)编程统计 100 个数据中负数的个数和正数的个数分别存放于 DX 和 BX 中。答:(1)LEABX,6500H(2)LEASI,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 单元课程

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁