![微机原理复习题(081109答案)_第1页](http://file2.renrendoc.com/fileroot_temp3/2021-11/11/f5c47cf6-25b0-44b4-a5cb-a589d0894f8b/f5c47cf6-25b0-44b4-a5cb-a589d0894f8b1.gif)
![微机原理复习题(081109答案)_第2页](http://file2.renrendoc.com/fileroot_temp3/2021-11/11/f5c47cf6-25b0-44b4-a5cb-a589d0894f8b/f5c47cf6-25b0-44b4-a5cb-a589d0894f8b2.gif)
![微机原理复习题(081109答案)_第3页](http://file2.renrendoc.com/fileroot_temp3/2021-11/11/f5c47cf6-25b0-44b4-a5cb-a589d0894f8b/f5c47cf6-25b0-44b4-a5cb-a589d0894f8b3.gif)
![微机原理复习题(081109答案)_第4页](http://file2.renrendoc.com/fileroot_temp3/2021-11/11/f5c47cf6-25b0-44b4-a5cb-a589d0894f8b/f5c47cf6-25b0-44b4-a5cb-a589d0894f8b4.gif)
![微机原理复习题(081109答案)_第5页](http://file2.renrendoc.com/fileroot_temp3/2021-11/11/f5c47cf6-25b0-44b4-a5cb-a589d0894f8b/f5c47cf6-25b0-44b4-a5cb-a589d0894f8b5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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/读写时,有效的地址线是( b )a、高16位 b、低16位 c、高8位 d、低8位58086cpu在进行写内存操作时,控制信号m/和
2、dt是( 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、2k×4位 b、1kb(b:字节) c、2kb d、1k×4位8在16位存储系统中,为了( c ),存储字最好存放在偶地址。a、便于快速寻址 b、节省所占的内存空间 c、减少执行指令的总线周期 d、减少读写错误9有一8086系统的中断向量表,在003ch:003fh单元开始依次存放34h、feh、00h和
3、f0h四个字节,该向量对应的中断类型码和中断服务程序的入口地址分别为( 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
4、; d、obf、stb128253可编程定时/计数器的计数范围是( 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、
5、9600波特; d、19200波特16、10进制数127的补码为( 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寄存器中的数为(
6、 d )a、132 b、20h c、00h d、0eah20、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),如
7、表示一个无符号数,其最小数为(a)a.0 b.-32767 c.-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中,一个最基本的
8、总线周期数由( d)个时钟周期(t状态)组成,在t1状态,cpu往总线上发送的是(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. 间接寻址
9、d. 变址寻址32 条件转移指令je next,能转移到语句标号为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、必须使用总线控
10、制器8288c、必须使用总线收发器 d、必须使用总线锁存器e、构成单处理器系统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,总线
11、上有一个高阻态。( )2对于可屏蔽中断的嵌套处理原则是允许优先级高的中断打断优先级低的中断,允许同级中断相互打断,而不允许优先级低的中断打断优先级高的中断。( × )38086cpu在收到外部中断请求信号以后,进人中断响应周期,通过in指令读取中断类型号,从而就可获得中断服务程序入口地址。( × )4可编程定时器计数器,其定时与计数功能可由程序灵活地设定,但由于是由软件控制,在计数过程中必然会占用cpu的时间。( × )5.指令一般包括两部分:操作码和操作数。( )6.一个总线周期有一个或若干个指令周期组成。( × )7. 8086有一个16位标志寄存器
12、,它包含了6个状态标志位和3个控制标志位。( )8 .一片8259a中断控制器最多能接收8个中断源。( )9 8086cpu的逻辑段允许段的重叠和交叉。( )10 8086cpu的标志寄存器fr是16位的,每一位都有定义。(× )11 在8086的主存中,一个字节占用一个存储单元,一个字占用两个相邻的单元,字的高8位放在高地址单元,低8位放在低地址单元。( )12 8086cpu的ad0ad15在执行指令时,先传数据,后传地址。(× )四、填空题1 (640)10=( 10 1000 0000 )2=( 280 )162 .每片8253包含有 3 个独立的16位计数通道,每
13、个通道具有 6 种工作方式。3 .取指令时,8086会自动选择 cs 值作为段基值,再加上由 ip 提供的偏移量形成物理地址。4 .808 6/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.
14、系统中数据传送的控制方式中程序控制的数据传送又分为 条件查询 和 无条件查询 。10.“串行通信”是指数据 一位一位依次传送 。在串行通信中有两种基本的通信方式:即 同步 和 异步 。11.主机和i/o设备间的数据传送有 程控 、 中断 和 dma, iop 三四种方式,其中 dma 和iop 传送过程中cpu无需参与,而是由 dmac 和 iop 控制完成。12 38.8086系统中,要求各个逻辑段必须从节的整数倍边界开始,即段首地址的低4位总是 0 。将段首地址的高16位地址码称作 段基址 ,存放在相应的 段寄存器 中。13 .由逻辑地址获得物理地址的计算公式为 段基址*16+偏移地址 。
15、14 .80x86系统中,堆栈是遵循 后进先出 原则。15.在8086最小模式的典型配置中,需 2 片双向总线收发器8286,因为 8286数据线为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
16、已知段基址和偏移地址分别为2015h和0028h,此存储单元的物理地址是(20178h)。20 若8086的引脚mn/mx接+5v,则当执行out指令时,其引脚信号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)
17、 将ah的低4位置1,其他位不变: or ah,0fh ;3) 将ah的最低位取反,其他为不变: xor ah,01h 23 宏汇编语言程序被汇编时, 指令 语句产生代码指令, 伪指令 语句不产生代码指令,宏指令 语句可能产生也可能不产生代码指令。24 调用程序、子程序传送参数的方法通常有 堆栈 、 寄存器 和 内存空间 三种方法。25 伪指令equ、db、dw、macro的标号名字域必须有名字或标号的伪指令为 equ,macro 。26 乘法指令mul的指令格式只有一个源操作数,若源操作数的类型属性为字节,则目的操作数在 ax 中,若源操作数的类型属性为字,则目的操作数在 dx,ax 中。2
18、7 请给出标志寄存器中标志位of、if、sf、zf、pf、cf的说明: of 溢出 、if 中断 、sf 符号 、zf 零 、pf 奇偶 、cf 进位 。28、指令xlat通常用于查表操作,在使用该指令前,应把表首的偏移首地址送入 bx ,待转换的代码在表中的序号送 al 。29 若要求不产生汇编错误,则字符串'abc'只能出现在伪指令 db 中。30 为下述情况各举一例。寄存器与存储单元内容相加送寄存器 add ax,1000h 。寄存器互送 mov ax,bx 。将标志寄存器进栈 pushf 。立即数与寄存器内容相加送寄存器 add ah,01h 。将48h、5ah存入字节
19、数据区arrayb arrayb db 48h,5ah 。五、简答题1在io接口电路中,按主机与外设间传送的信息类型,端口可分为哪几类?cpu对这些端口实行读操作还是写操作?答:i/o端口分为:数据口,状态口,控制口。cpu可对数据口进行读或写操作,对状态口进行读操作、对控制口进行写操作2与并行通信相比较,串行通信有什么特点?(1)串行通信适宜于远程数据传送;(2)串行通信通常传送速度较慢;(3)串行通信的费用较低,传输线少,可借用电话网络来实现远程通信3.8086/8088cpu响应任何一种中断时,都会自动的将if 和tf 标志清零,其目的是什么?答:将if 标志清零的目的是在本次执行中断服
20、务程序的过程期间,不要再响应其他的可屏蔽中断;将tf 标志清零的目的是不要单步执行中断服务程序。4.cpu 响应多种中断时,都要自动地保护断点,为什么?答:“保护断点”是指主程序中当前被中断的指令的下一条指令所存放的存储单元的逻辑地址,(称为断口地址,或断点地址,简称断点)包括段值和段内偏移量两部分(既cs 和ip 中的内容)作为返回地址被自动地压人堆栈中保护起来。这样做的目的是使中断服务程序运行结束时,使程序能返回到主程序的断点处去继续执行。5 .当某一中断发生时,cpu 如何能找到相应的中断向量?答:当某一中断发生时,cpu 只有在中断向量表中找准找到相应的中断向量,即相应的中断服务程序的
21、人口地址,才能去执行相应的中断服务程序。若能找准存放该中断向量的4 个存储单元的地址,就意味着找到了该中断向量。若把存放每个中断向量的4 个单元的第一个单元的地址叫做向量地址,由于中断向量是按中断类型码n从0 255的顺序存放的,故向量地址与中断类型码有如下关系:向量地址=0000:n×4 。 如:0 号中断的向量地址为0000:0000,表示0 号中断的中断向量存于地址为0000:0000开始的4 个单元中,1 号中断的向量地址为0000:0004h ,表示1 号中断的中断向量存于地址为以0000:0004h 开始的4 个单元之中,等等。因此,任何一个中断的到来,cpu 只要能得到
22、它的中断类型号,就能找到它的中断向量。把它的偏移量传送入ip ,段值送入cs ,即能执行相应的中断服务程序。6.分别指出下列指令中源操作数的寻址方式:(5分) a.mov si,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 基址指针
24、寄存器、si源变址寄存器、di目的变址寄存器;一个标志寄存器fr;4个16位的段地址寄存器:cs代码段寄存器、ds数据段寄存器、ss堆栈段寄存器、es扩展段寄存器;一个16位的指令指针寄存器 ip9.简述8086/8088系统中为什么要使用地址锁存器?答:为获取并保持地址信息,系统中要使用地址锁存器。因为8086/8088系统中低16位地址线与数据线分时复用,高4位地址线与状态线分时复用,在每个总线周期的t1状态期间,cpu通过20位地址线向外发送地址,然后在t2、t3、t4状态时传送数据或状态信息,而在一个完整的总线周期(t1t4)内,被访问的存储器或i/o端口始终需要完整的地址信息,这就要
25、求在t1状态时地址有效期间由地址锁存器将地址信号锁存并保持,以供被访问的存储器或i/o端口在整个总线周期内使用。10.已知sdram6264的片容量是8k×8位,问它的外部引脚中含多少根地址线和数据线?答:从该芯片的容量可知,其内部含有8192个(8*1024)存储单元,每个单元能存放一个字节数据,因为13根地址线才能对8192个存储单元寻址(213=8192),所以它有13根地址线,8位数据线。因为在读写每一个存储单元的8位二进制数时需要8位数据线。六、简单分析、设计题1、阅读如下程序段,回答提出的问题。mov ax,3456xchg ax,bxmov ax,3456sub ax,
26、bxje done kk:add ax,bx. done:该程序段执行完je done语句后,ax= 0 ,zf= 1 ,ip= done 。2 请在程序段的每一空框内填入一语句(不得修改其它语句),以实现下述功能:将字变量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
27、为16为微处理器?答:8088cpu的内部寄存器均为16位,可一次完成16位二进制的算术及逻辑运算,但外部数据总线为8位。而8086则内部寄存器及外部数据总线均为16位,可一次完成16位二进制的算术及逻辑运算。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 b
28、x, 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+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 m
29、ov bx, 02h mov cx, 03hmov dx,04hnext: inc axadd bx,axshr dx,1loop nextax= 4 bx= 08h cx= 0 dx= 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=0f
30、00h8 下列程序段完成什么工作? dat1 db 30 dup(?) dat2 db 10 dup(?) mov cx,10 mov bx,20 mov si,0 mov di,0 next: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、i
31、cw4口地址为81)编写初始化程序。mov al,13hout 80h,al icw1mov al,52hout 81h,al icw2mov al,09hout 81h,al icw410 .已知(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 ,
32、 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 :bx es : bx 为段超越情况,源操作数物理地址为: 20000h +2000h = 22000h 执行结果: ( ax ) = 22000h = 4433h ( 3 ) mov bx , cx 目的操作
33、数的物理地址为:10000h +2000h = 12000h 故12001h0fh , 12000h 0f2h 原来的内容不再是97h 及45h 了。( 4 ) lea cx , bx 源操作数的有效地址为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=2510
34、h ( 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寄存器清零。答: mov ax,0 and ax,0 sub ax,ax xor ax,ax12 下列指令是否有错?有则指出错误所在:(1)mov
35、 ds,117ch 错,立即数不能直接送段寄存器(2)mov bx,28a0h 错,双操作数指令的两个操作数不能同时在内存中(3)mov cs,ax 错,不能用指令直接往cs寄存器中传送数据(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开始的
36、80个单元中,存放某班80个学生的某课程成绩,要求: 统计>=90分、8089分、7079分、6069分、60分以下的人数,结果存放在btrx开始的5个单元中求平均成绩,结果存放在level中。解:寄存器使用分配: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 ;统
37、计结果清零leasi,dataleadi,levelmovcl,cont; 总人数送循环计数器 cxgoon:moval,si ;读原始数据adcdi, al;累加总分 adc di+1,0;计算进位 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分者转pp5in
38、c bl;60-69分的人数加一jmpstorpp5:inc ah;低于60分的人数加一stor: inc si;读下一个分数loopgoon;cx=cx-1,cx不为零转goon,继续统计leasi,buffer;回存统计结果movsi,dhinc simovsi,dlinc simovsi,bhinc simovsi,blinc simovsi,ahmovax,word ptr di;计算平均成绩movcl,contdiv clmovlevel,al;回存平均成绩hlt2 在bvff单元中有一个bcd数a,试根据下列关系编写程序,计算结果存在des中。a<20, y=a+20;a&l
39、t;60, y=a-20;a>=60, y=a.dat segmentbvffdb 8des db ?dat endsmoval,bvffcmpal,20jlex1cmpal,60jlex2moval,80 (cmp al, 80)jmpstopex1:movbl,3mulbl (add al, 20)jmpstopex2:sub al,20stop:movdes, alhlt3 在data之下存放100个无符号的8位数,找出其最大者并将其存放在kvff单元。dat segmentbuffer db ;自行定义100个数据kvff db ?dat endsxordl,dlleadi,kv
40、ff;next0:leasi,buffer;movcl,99;比较次数为n-1次next1:moval,si;incsi;cmpdl,al; jnc next2;movdl,al;dl中始终存目前最大值next2:deccl;jnz next1; 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,
41、2;移动源区地址指针adddi,2;移动目的区地址指针movbx,ax;回存计算结果addbx,2;移动“和”存储区地址指针loopmadd1;循环控制hlt;暂停5在某一系统中,有8 个开关k7k0,要求不断检测它们的通断状态,并通过发光二极管led7led0 显示出来。开关断开,相应的led 点亮;开关合上,led 熄灭。选用8086 cpu , 8255a 和74ls138 译码器等芯片,构成应用电路。如下图所示,8255a 的pa 口作输人口,8个开关k7k0分别接pa7pa0。pb口为输出口,pb7pb0分别连接显示器led7led0。试进行编程设置。答:程序段如下: mov al
42、,90h ;方式选择控制字 out 0f3h ,al ;写人控制字set : in al , 0f0h ;从pa 口读开关状态 out 0f1h, al ; pb 口控制比led,指示开关状态 jmp set ;循环检测6. (1)某系统中,8253 的端口地址为0b4h0b7h ,令计数器通道1 工作在方式0,仅用8 位二进制数计数,计数初值为100 ,试进行初始化编程。答:初始化程序段如下: mov al , 50h out 0b7h , al ;置控制字 mov al ,64h out 0b5h ,al ;置计数初值。 (2)某片8253 的计数器通道2 工作在方式1 ,按bcd 码计数
43、,计数值为5000h,该端口地址为0b4h0b7h,请初始化编程。答:初始化程序段如下:mov al , 0b3h out ob7h , al ;置控制字mov al , 00h out ob6h , al ;置计数初值低8位。mov al , 50h out ob6h , al ;置计数初值高8位。7 .对8255a进行初始化,要求a口为输出工作方式0;b口输入工作方式1;c口高四位输入,低四位输出。(地址04a0h0a406h)mov al,8eh ;工作方式控制字out 04 a3 h,al ;控制字送控制口8 .求两个多字节数之和。这两个数在21000h地址开始的内存单元中,连续存放,
44、低位在小地址一端,结果放在这两个数之后。设这两个多字节数均为八个字节长。试画出程序流程图并编写相应程序。name dzj-jafadata segmentd1 db 16 dup (?)s1 db 8dup(?)data endsstac segmentsta db 50 dup(?)stac endscode segment assume cs:code,ds:date,stac:staorg 1000hstart: mov ax,2000h mov ds,ax ;数据段段基地址送ds mov si,1000h ;第一个数指针送si mov di,1008h ;第二个数指针送di mov b
45、x,1010h ;结果指针送bx mov cx,4 ;循环次数送cx clc ;cf=0 清零 aa: mov ax,si ;取一个字到ax adc ax,di ;ax+di 送 ax mov bx,ax ;结果存入bx pushf ;保护进位位 add si,2 add di,2 add bx,2 popf loop aacode ends end start9 .用可编程并行接口芯片8255a作为打印机接口。其中端口a工作于方式一,用于向打印机输出打印数据,端口c用作状态口和控制口。编写程序,打印存储区为1200h1400h内所有字符的程序。设8255a的口地址分别为端口a:0fff0h,
46、端口b:0ffflh 端口c:offf2h,控制口:0fff3h。org 5000h ;把程序定位在5000h mov dx,offf3h ;8255a控制端口地址 mov al,0a8h ;端口a方式1,输出,pc4输入 out dx,al ;控制字送控制端口 mov cx,200h ;要打印字符的个数 mov di,1200h ;存储区起始地址cc: mov al,di ;数据段偏移地址送al mov dx,0fff0h out dx,al ;字符输出 mov dx,0fff2h ;读打印机当前状态aa:in al,dx ;读打印机状态 and al,10h ;测试busy信号(pc4) jnz aa ;忙等待 inc di ;指向下一个字符 loop cc hlt10 .某8086系统中使用8237a完成从存储器到存储器的数据传送,已知源数据块首地址的偏移地址值为1000h,目标数据块首地址的偏移地址为1050h,数据块长度为100字节,请编写初始化程序。可分为5步来作:a) 写工作方式控制字mov dx,工作方式寄存器端口mov al,41h ;工作方式控制字out dx,alb) 写操作方式控制字mov dx,命令寄存器端口
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年在线经济管理课程电子书企业制定与实施新质生产力战略研究报告
- 2024年度湖南省国家保安员资格考试全真模拟考试试卷B卷含答案
- 2025年三叶菜项目可行性研究报告
- 2025年LED胸章项目可行性研究报告
- 不同砷污染水平下蜈蚣草根际微生物的变化特征及其对砷吸收的影响
- 液冷式热管型BIPVT系统及其对建筑冷热负荷影响的研究
- 具有导电微结构的柔性多孔材料的制备及其触觉传感性能研究
- 2025年锦纶6-DTY项目项目风险识别与评估综合报告
- 基于Unet的结直肠肿瘤区域分割方法研究与实现
- 创业板上市公司连续“高送转”动因及经济后果研究
- 《一句顶一万句》读书分享
- 2024义务教育数学新课标课程标准2022版考试真题附答案
- 110kV变电站专项电气试验及调试方案
- 2024年广西桂盛金融信息科技服务有限公司招聘笔试冲刺题(带答案解析)
- 外卖星级(商家评分)计算表
- 2023三年级语文下册 第八单元 语文园地配套教案 新人教版
- 全国川教版信息技术八年级下册第一单元第1节 《设计创意挂件》教学设计
- DZ∕T 0215-2020 矿产地质勘查规范 煤(正式版)
- 外出检查病人突发呼吸心跳骤停应急预案演练
- 《火力发电厂汽水管道设计规范+DLT+5054-2016》详细解读
- 幕墙施工成品及半成品保护措施
评论
0/150
提交评论