《微机原理复习题(081109答案)(17页).doc》由会员分享,可在线阅读,更多相关《微机原理复习题(081109答案)(17页).doc(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
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位58086CPU在进行写内存操作时,控制信
2、号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、2KB D、1K4位8在16位存储系统中,为了( C ),存储字最好存放在偶地址。A、便于快速寻址 B、节省所占的内存空间 C、减少执行指令的总线周期 D、减少读写错误9有一8086系统的中断向量表,在003CH:003FH单元开始依次存放34H、FEH、00H和F
3、0H四个字节,该向量对应的中断类型码和中断服务程序的入口地址分别为( C )A、0EH,34FE:00F0H B、0EH,0F000:0FE34HC、0FH,0F000:0FE34H D、0FH,00F0H:34FEH108259A可编程中断控制器中的中断服务寄存器ISR用于( A )A、记忆正在处理中的中断 B、存放从外设来的中断请求信号C、允许向CPU发中断请求 D、禁止向CPU发中断请求11当8255A 工作在方式1的输入状态时,8255A与外设之间的联络信号为( C )A、IBF、ACK B、OBF、ACK C、IBF、STB D、OBF、STB128253可编程定时/计数器的计数范围
4、是( D )A、0-255 B、1-256 C、0-32768 D、1-6553613可编程定时器计数器8253的6种工作方式中,既可软件启动,又可硬件启动的是( B )A、方式1,2; B、方式2,3 ; C、方式3,5; D、方式2,514根据串行通信规程规定,收发双方的( B )必须保持相同。A、外部时钟周期; B、波特率因子; C、波特率; D、以上都正确158251A用作异步串行通信接口,如果设定波特率因子为16,而发送器与接收器时钟频率为19200Hz,则波特率为( A ) 。A、1200波特; B、2400波特; C、9600波特; D、19200波特16、10进制数127的补码
5、为( A )A、10000001 B、10000000 C、00000001 D、1111111117、指令MOV BX, DATABX采用的寻址方式是( D )。A、立即寻址 B、寄存器间接寻址 C、直接寻址 D、寄存器相对间接寻址18、已知AL=7EH, DL=8AH, 执行CMP AL, DL指令后,标志寄存器中C、O、S、Z四标志的状态分别为( C )。A、0、0、1、0 B、0、1、1、0 C、1、0、1、0 D、1、0、0、019、已知BL=08H, DL=0E2H, 执行XOR DL, BL指令后,DL寄存器中的数为( D )A、132 B、20H C、00H D、0EAH20、
6、CPU响应中断后得到中断类型码是9,则从( C )单元取出中断服务子程序的入口地址A、0009H B、00009H C、00024H D、0024H21 十进制数66转换成二进制数为( D )A. 11000010 B. 01100110 C. 11100110 D. 01000010 22 下列数中最小的是AA. (101001)2 B. (52)8 C. (2B)16 D. (50)1023 设(101)x(41)16,求x(C)A.6 B. 10 C.8 D. 1224 用16位二进制补码表示一个带符号数,其最小数为(C),如表示一个无符号数,其最小数为(A)A.0 B.-32767 C
7、.-32768 D. -6553625 一个8位二进制整数,若用补码表示,由3个“0”和5个“1”组成,则最小值为(C)。A.-120 B. -8 C.-113 D. -1126 8086/8088加电复位后,执行的第一条指令的物理地址是(B)。A.0FFFFH B. FFFF0H C.0000H D. 0240H27 8086在执行 MOV AL, BX指令的总线周期内,若BX存放的内容为2034H,则BHE= ,和A0的状态为 D。A.0,1 B. 0,0 C.1,1 D. 1,028 在8086/8088CPU中,一个最基本的总线周期数由( D)个时钟周期(T状态)组成,在T1状态,CP
8、U往总线上发送的是(B)信息。 A. 1 B. 2 C. 3 D. 4 A.数据 B. 地址 C.控制 D. 其他29 8086用于中断请求输入的引脚信号是(A)。 A. INTR和NMI B. INT和NMI C. INTR和INTA D. INTE和INET30 8086CPU响应单个可屏蔽中断的条件是(D)。A. CPU开中断B. 外设有中断请求信号C. 外设中断请求信号不屏蔽D. 同时满足上述A,B,C条件,且正在执行的指令执行完毕。31 不需要访问内存的寻址方式是 (B)。A. 直接寻址 B. 立即数寻址 C. 间接寻址 D. 变址寻址32 条件转移指令JE NEXT,能转移到语句标
9、号为NEXT执行的条件是(D)。A.ZF=0 B. CF=1 C.CF=0 D. ZF=133 实现Al寄存器中D7和D0都取反的指令是DA. AND AL, 7EH B.OR AL, 81H C. TEST AL,81H D. XOR AL,81H二、多项选择题18086CPU的下列寄存器中,不能用作寄存器间接寻址方式时的地址寄存器的有 ( ACD )。A、AX B、BX C、CX D、DX E、SI28086有两种工作模式,即最大模式和最小模式,其中最小模式的特点是( ADE )。A、8086提供全部控制信号 B、必须使用总线控制器8288C、必须使用总线收发器 D、必须使用总线锁存器E、
10、构成单处理器系统3大部分DMAC都拥有( BCD )等传送方式。A、直接传送方式 B、单字节传送方式C、查询传送方式 D、成组传送方式E、中断传送方式4要对可编程接口芯片进行读操作时,必须满足( AB )A、CS=L B、RD=L,WR=H C、WR=L,RD=HD、RD=L WR=L E、RD=H,WR=H5 将累加器清零的正确指令是ABCA.AND AX, 00H B. XOR AX, AX C. SBB AX,AX D. CMP AX,AX三、判断题1在8086最小方式的总线读时序图中,在T2时钟周期时,AD0-ADl5,总线上有一个高阻态。( )2对于可屏蔽中断的嵌套处理原则是允许优先
11、级高的中断打断优先级低的中断,允许同级中断相互打断,而不允许优先级低的中断打断优先级高的中断。( )38086CPU在收到外部中断请求信号以后,进人中断响应周期,通过IN指令读取中断类型号,从而就可获得中断服务程序入口地址。( )4可编程定时器计数器,其定时与计数功能可由程序灵活地设定,但由于是由软件控制,在计数过程中必然会占用CPU的时间。( )5.指令一般包括两部分:操作码和操作数。( )6.一个总线周期有一个或若干个指令周期组成。( )7. 8086有一个16位标志寄存器,它包含了6个状态标志位和3个控制标志位。( )8 .一片8259A中断控制器最多能接收8个中断源。( )9 8086
12、CPU的逻辑段允许段的重叠和交叉。( )10 8086CPU的标志寄存器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 .808 6
13、/8088微处理器被设计为两个独立的功能部件: 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.“串行通信”是指数据 一位一位依次传送 。在串行通信中有
14、两种基本的通信方式:即 同步 和 异步 。11.主机和I/O设备间的数据传送有 程控 、 中断 和 DMA, IOP 三四种方式,其中 DMA 和IOP 传送过程中CPU无需参与,而是由 DMAC 和 IOP 控制完成。12 38.8086系统中,要求各个逻辑段必须从节的整数倍边界开始,即段首地址的低4位总是 0 。将段首地址的高16位地址码称作 段基址 ,存放在相应的 段寄存器 中。13 .由逻辑地址获得物理地址的计算公式为 段基址*16+偏移地址 。14 .80X86系统中,堆栈是遵循 后进先出 原则。15.在8086最小模式的典型配置中,需 2 片双向总线收发器8286,因为 8286数
15、据线为8位,而 8086数据总线为16位 。16.8086/8088系统中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,则当执行O
16、UT指令时,其引脚信号M/IO= 0 , RD= 1 , WR= 0 (填写高、低电平)。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,01H 23 宏汇编语言程序被
17、汇编时, 指令 语句产生代码指令, 伪指令 语句不产生代码指令,宏指令 语句可能产生也可能不产生代码指令。24 调用程序、子程序传送参数的方法通常有 堆栈 、 寄存器 和 内存空间 三种方法。25 伪指令EQU、DB、DW、MACRO的标号名字域必须有名字或标号的伪指令为 EQU,MACRO 。26 乘法指令MUL的指令格式只有一个源操作数,若源操作数的类型属性为字节,则目的操作数在 AX 中,若源操作数的类型属性为字,则目的操作数在 DX,AX 中。27 请给出标志寄存器中标志位OF、IF、SF、ZF、PF、CF的说明: OF 溢出 、IF 中断 、SF 符号 、ZF 零 、PF 奇偶 、C
18、F 进位 。28、指令XLAT通常用于查表操作,在使用该指令前,应把表首的偏移首地址送入 BX ,待转换的代码在表中的序号送 AL 。29 若要求不产生汇编错误,则字符串ABC只能出现在伪指令 DB 中。30 为下述情况各举一例。寄存器与存储单元内容相加送寄存器 ADD AX,1000H 。寄存器互送 MOV AX,BX 。将标志寄存器进栈 PUSHF 。立即数与寄存器内容相加送寄存器 ADD AH,01H 。将48H、5AH存入字节数据区ARRAYB ARRAYB DB 48H,5AH 。五、简答题1在IO接口电路中,按主机与外设间传送的信息类型,端口可分为哪几类?CPU对这些端口实行读操作
19、还是写操作?答:I/O端口分为:数据口,状态口,控制口。CPU可对数据口进行读或写操作,对状态口进行读操作、对控制口进行写操作2与并行通信相比较,串行通信有什么特点?(1)串行通信适宜于远程数据传送;(2)串行通信通常传送速度较慢;(3)串行通信的费用较低,传输线少,可借用电话网络来实现远程通信3.8086/8088CPU响应任何一种中断时,都会自动的将IF 和TF 标志清零,其目的是什么?答:将IF 标志清零的目的是在本次执行中断服务程序的过程期间,不要再响应其他的可屏蔽中断;将TF 标志清零的目的是不要单步执行中断服务程序。4.CPU 响应多种中断时,都要自动地保护断点,为什么?答:“保护
20、断点”是指主程序中当前被中断的指令的下一条指令所存放的存储单元的逻辑地址,(称为断口地址,或断点地址,简称断点)包括段值和段内偏移量两部分(既CS 和IP 中的内容)作为返回地址被自动地压人堆栈中保护起来。这样做的目的是使中断服务程序运行结束时,使程序能返回到主程序的断点处去继续执行。5 .当某一中断发生时,CPU 如何能找到相应的中断向量?答:当某一中断发生时,CPU 只有在中断向量表中找准找到相应的中断向量,即相应的中断服务程序的人口地址,才能去执行相应的中断服务程序。若能找准存放该中断向量的4 个存储单元的地址,就意味着找到了该中断向量。若把存放每个中断向量的4 个单元的第一个单元的地址
21、叫做向量地址,由于中断向量是按中断类型码n从0 255的顺序存放的,故向量地址与中断类型码有如下关系:向量地址=0000:N4 。 如:0 号中断的向量地址为0000:0000,表示0 号中断的中断向量存于地址为0000:0000开始的4 个单元中,1 号中断的向量地址为0000:0004H ,表示1 号中断的中断向量存于地址为以0000:0004H 开始的4 个单元之中,等等。因此,任何一个中断的到来,CPU 只要能得到它的中断类型号,就能找到它的中断向量。把它的偏移量传送入IP ,段值送入CS ,即能执行相应的中断服务程序。6.分别指出下列指令中源操作数的寻址方式:(5分) A.MOV S
22、I,100 立即寻址 B.MOV CX,DATASI 寄存器相对寻址 C.MOV SI,AX 寄存器寻址 D.ADD AX,BXDI 基址加变址寻址 E.POPHF 寄存器寻址7.什么是中断?什么是中断向量?什么是中断向量表?INT24在中断向量表的什么位置?一个完整的中断过程有哪几个步骤?答:中断是指CPU在正常运行时,由于内部、外部事件或由程序的预先安排引起的CPU中断正在运行的程序,转而到内部、外部事件预先安排的 服务程序(中断子程序)中去执行。 中断向量是中断处理子程序的入口地址,每个中断类型对应一个中断向量。中断向量表是中断类型码和与此类型码相应的中断服务程序之间的一个连接链。每一个
23、中断服务程序入口地址的IP和CS成为一个中断指示字或中断向量。 24*4=96=60H INT24在中断向量表的0000:0060H0000:0063H处。一个完整的中断过程包括中断请求、中断排队、中断响应、中断处理和中断返回五个步骤。8.简述8086CPU由哪些寄存器组成。答: 4个16位的通用寄存器: AX累加器、BX基址寄存器、CX计数器、DX数据寄存器; 4个16位的专用寄存器: SP堆栈指针寄存器、BP 基址指针寄存器、SI源变址寄存器、DI目的变址寄存器;一个标志寄存器FR;4个16位的段地址寄存器:CS代码段寄存器、DS数据段寄存器、SS堆栈段寄存器、ES扩展段寄存器;一个16位
24、的指令指针寄存器 IP9.简述8086/8088系统中为什么要使用地址锁存器?答:为获取并保持地址信息,系统中要使用地址锁存器。因为8086/8088系统中低16位地址线与数据线分时复用,高4位地址线与状态线分时复用,在每个总线周期的T1状态期间,CPU通过20位地址线向外发送地址,然后在T2、T3、T4状态时传送数据或状态信息,而在一个完整的总线周期(T1T4)内,被访问的存储器或I/O端口始终需要完整的地址信息,这就要求在T1状态时地址有效期间由地址锁存器将地址信号锁存并保持,以供被访问的存储器或I/O端口在整个总线周期内使用。10.已知SDRAM6264的片容量是8K8位,问它的外部引脚
25、中含多少根地址线和数据线?答:从该芯片的容量可知,其内部含有8192个(8*1024)存储单元,每个单元能存放一个字节数据,因为13根地址线才能对8192个存储单元寻址(213=8192),所以它有13根地址线,8位数据线。因为在读写每一个存储单元的8位二进制数时需要8位数据线。六、简单分析、设计题1、阅读如下程序段,回答提出的问题。MOV AX,3456XCHG AX,BXMOV AX,3456SUB AX,BXJE DONE KK:ADD AX,BX. DONE:该程序段执行完JE DONE语句后,AX= 0 ,ZF= 1 ,IP= DONE 。2 请在程序段的每一空框内填入一语句(不得修
26、改其它语句),以实现下述功能:将字变量VARM1中的非零数据左移到最高位为“1”止,左移次数存入字节变量VARB中,左移后的结果存入字变量VARW中。 MOV BL,0 MOV AX,VARW1 ADD AX,0 JS DONE GOON:INC BL ADD AX,AX JNS GOON DONE: MOV VARW,AX MOV VARR,BL 3 为什么说8088CPU为准16为微处理器,而8086CPU为16为微处理器?答:8088CPU的内部寄存器均为16位,可一次完成16位二进制的算术及逻辑运算,但外部数据总线为8位。而8086则内部寄存器及外部数据总线均为16位,可一次完成16位
27、二进制的算术及逻辑运算。4 已知,(DS) = 0120H , ( SS ) = 2000H , ( ES) = 0FF2H , ( BX ) = 1000H , ( BP ) = 2000H ,( SI = 3110H , ( SP ) = 1004H ,试写出下面每条指令中存储器操作数的物理地址。(1) MOV AL,BX+SI+9000H DS*16+BX+SI+9000H 1E310H(2) MOV BX, BP-18SS*16+BP-18 21FEEH(3) ADD SS:BX+SI-3,ALSS*16+BX+SI-3 2410DH(4) SUB SI+BP, CXSS*16+SI+
28、BP 25110H(5) PUSHFSS*16+SP-2 21002H堆栈指针寄存器SP的初值位1000H,AX2000H,BX3000H,试问:(1) 执行指令PUSH AX 后,SP0FFEH (2) 再执行指令 PUSH BX和POP AX后,SP 0FFEH ,AX3000H ,BX 3000H 。5 程序段执行完后,AX,BX,CX,DX寄存器的内容分别是什么?START: MOV AX, 01H MOV BX, 02H MOV CX, 03HMOV DX,04HNEXT: INC AXADD BX,AXSHR DX,1LOOP NEXTAX= 4 BX= 08H CX= 0 DX=
29、 0 .6 判断下面8086汇编程序执行结果:MOV AX,0FFFDHMOV BX,8000HADD AX,BXHLT执行结果AX= 7FF0H BX= 8000H 对应标志位ZF= 0 SF= 0 OF= 1 CF= 1 PF= 0 AF= 0 7.下面程序段执行完以后,BX的内容是什么? MOV BX,00FFH AND BX,0FFFH OR BX,0F0FH XOR BX,00FFH 答: BX=0F00H8 下列程序段完成什么工作? DAT1 DB 30 DUP(?) DAT2 DB 10 DUP(?) MOV CX,10 MOV BX,20 MOV SI,0 MOV DI,0 N
30、EXT:MOV AL,DAT1BXSI MOV DAT2DI,AL INC SI INC DI LOOP NEXT 答:把DAT1+20存储单元开始的10个字节搬到DAT2开始的连续10个存储单元中。9 . 设8086系统中,中断请求信号采用边沿触发方式,单片8259A,中断类型码高5位为01010,中断源接在IR2上,普通全嵌套方式,非自动结束方式,缓冲方式。(设:ICW1口地址为80,ICW2、ICW3、ICW4口地址为81)编写初始化程序。MOV AL,13HOUT 80H,AL ICW1MOV AL,52HOUT 81H,AL ICW2MOV AL,09HOUT 81H,AL ICW4
31、10 .已知(AX ) = 0120H , ( BX ) = 2000H , ( CX ) = 0FF2H , ( 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 条指令分别执行时
32、的结果。( l ) MOV AX , BX 源操作数的物理地址为: 10000H 十2000H = 12000H 执行结果 ( AX ) = 12000H 9745H ( 2 ) MOV AX , ES :BX ES : BX 为段超越情况,源操作数物理地址为: 20000H +2000H = 22000H 执行结果: ( AX ) = 22000H = 4433H ( 3 ) MOV BX , CX 目的操作数的物理地址为:10000H +2000H = 12000H 故12001H0FH , 12000H 0F2H 原来的内容不再是97H 及45H 了。( 4 ) LEA CX , BX
33、源操作数的有效地址为BX 故 ( CX ) = ( BX ) = 2000H ( 5 ) LDS DI , 1000H源操作数的物理地址是l0000H + l000H = 11000H ,故( DS )= 1 l002Hl000H ( DI)=11000H25l0H ( 6 ) LES SI ,0FFEH 源操作数的物理地址为l0000H + 0FFEH = l0FFEH ,故( ES )11000H=2510H ( SI )l0FFEH=0F45H( 7 ) XCHG AX , BX . 执行前(AX ) = 0l20H , ( BX ) = 2000H 执行后(AX ) = 2000H ,
34、 ( BX ) = 0120H ( 8 ) XLAT ; ( AL ) =BX + AL 2000H + 0020H=2020H 有效地址EA=2020H 时,物理地址为12020H ,故执行XLAT 指令后,( AL )=56H 。11. 写出四条指令,分别能将AX寄存器清零。答: MOV AX,0 AND AX,0 SUB AX,AX XOR AX,AX12 下列指令是否有错?有则指出错误所在:(1)MOV DS,117CH 错,立即数不能直接送段寄存器(2)MOV BX,28A0H 错,双操作数指令的两个操作数不能同时在内存中(3)MOV CS,AX 错,不能用指令直接往CS寄存器中传送
35、数据(4)MOV DS,ES 错,两个段寄存器之间不能传送数据(5)MOV AL,DX 错,类型不匹配,寄存器长度不同(6)MOV AX,1000BX 对(7)MOV BX,AX 错,AX寄存器不能用于间接寻址(8)MOV AL,C8H 错,以字母开头的十六进制数前面要加前导0(9)MOV AX,00F1 错,十六进制数应加上后缀0(10)MOV AX,SI-10 对七、综合分析、设计题1 址为DATAB开始的80个单元中,存放某班80个学生的某课程成绩,要求: 统计=90分、8089分、7079分、6069分、60分以下的人数,结果存放在BTRX开始的5个单元中求平均成绩,结果存放在LEVE
36、L中。解:寄存器使用分配:90分以上在DH,80分以上在DL,70分以上在BH,60分以上在BL,60分以下在AH,总分、均分都在DI。DAT SEGMENTCONTDB 10 DATA DB 30,65,99,80,75, 89,100,45,60,70 BUFFER DB ?,?,?,?,? LEVELDB ? ,?DAT ENDSXORAH,AHXORDX,DX;统计结果清零XORBX,BX ;统计结果清零LEASI,DATALEADI,LEVELMOVCL,CONT; 总人数送循环计数器 CXgoon:MOVAL,SI ;读原始数据ADCDI, AL;累加总分 ADC DI+1,0;计
37、算进位 CMPAL,90 JL PP8 ; 不高于90分者转PP8 INC DH ; 90-100分的人数加一 JMPSTORPP8:CMPAL,80JL PP7;不高于80分转PP7INC DL;80-89分的人数加一JMPSTORPP7:CMP AL,70JLPP6;不高于70分者转PP6INC BH;70-79分的人数加一JMPSTORPP6:CMPAL,60JLPP5;不高于60分者转PP5INC BL;60-69分的人数加一JMPSTORPP5:INC AH;低于60分的人数加一STOR: INC SI;读下一个分数LOOPGOON;CX=CX-1,CX不为零转GOON,继续统计LE
38、ASI,BUFFER;回存统计结果MOVSI,DHINC SIMOVSI,DLINC SIMOVSI,BHINC SIMOVSI,BLINC SIMOVSI,AHMOVAX,WORD PTR DI;计算平均成绩MOVCL,CONTDIV CLMOVLEVEL,AL;回存平均成绩HLT2 在BVFF单元中有一个BCD数A,试根据下列关系编写程序,计算结果存在DES中。A20, Y=A+20;A=60, Y=A.DAT SEGMENTBVFFDB 8DES DB ?DAT ENDSMOVAL,BVFFCMPAL,20JLEX1CMPAL,60JLEX2MOVAL,80 (cmp al, 80)JM
39、PSTOPEX1:MOVBL,3MULBL (add al, 20)JMPSTOPEX2:SUB AL,20STOP:MOVDES, ALHLT3 在DATA之下存放100个无符号的8位数,找出其最大者并将其存放在KVFF单元。DAT SEGMENTBUFFER DB ;自行定义100个数据KVFF DB ?DAT ENDSXORDL,DLLEADI,KVFF;NEXT0:LEASI,BUFFER;MOVCL,99;比较次数为N-1次NEXT1:MOVAL,SI;INCSI;CMPDL,AL; JNC NEXT2;MOVDL,AL;DL中始终存目前最大值NEXT2:DECCL;JNZ NEXT
40、1; MOVDI,DL; 最大值存储HLT4 编写10个字(16位二进制数)之和的程序解:ADD1为被加数,ADD2为加数,SUM为和,CONT为循环次数LEASI, ADD1;LEADI, ADD2;LEABX, SUM;MOVCL, CONT;MOVCH,0; 循环初始化CLC;进位清零MADD1:MOVAX,SI;读加数1ADCAX,DIADDSI,2;移动源区地址指针ADDDI,2;移动目的区地址指针MOVBX,AX;回存计算结果ADDBX,2;移动“和”存储区地址指针LOOPMADD1;循环控制HLT;暂停5在某一系统中,有8 个开关K7K0,要求不断检测它们的通断状态,并通过发光二极管LED7LED0