微机原理复习题+答案(重点复习)(考虑打....doc_第1页
微机原理复习题+答案(重点复习)(考虑打....doc_第2页
微机原理复习题+答案(重点复习)(考虑打....doc_第3页
微机原理复习题+答案(重点复习)(考虑打....doc_第4页
微机原理复习题+答案(重点复习)(考虑打....doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.微型计算机是指以微处理器 为核心,配上 存储器 、 输入输出接口电路 及系统总线所组成的计算机。2.微处理器是由一片或几片大规模集成电路组成的具有 运算器 和 控制器 功能的部件。3.8086CPU从功能上讲,其内部结构分为_执行单元_和_总线接口单元_两大部分。4.1KB 1024 字节,1MB 1024 KB,1GB 1024 MB。5.带符号数有 原码 、 反码 和 补码 三种表示方法,目前计算机中带符号数都采用 补码 形式表示。6.(10111011)2( 46.75 )10( 2E.C )167.已知 X补=81H,则X= -127 。(已知补码如何求真值?)8.假设二进制数A10000110,试回答下列问题:1)若将A看成无符号数则相应的十进制数是_134_。2)若将A看成有符号数则相应的十进制数是_-122_。(带符号数都采用 补码 形式表示,已知补码如何求真值?。)3)若将A看成BCD码则相应的十进制数是_86_。9.从_奇_地址开始的字称为“非规则字”,访问“非规则字”需_两_个总线周期。10.8086CPU数据总线是_16_位,对规则字的存取可在 一 个总线周期完成,11.8086CPU的地址总线有 20 位,可直接寻址 1MB 的存储空间。12.若DS=6100H,则当前数据段的起始地址为 61000H ,末地址为 70FFFH 。13.动态存储器是靠电容来存储信息的,所以对存储器中所存储的信息必须每隔几毫秒 刷新 一次。14.8086 CPU复位后,执行的第一条指令的物理地址是 FFFF0H 。15.8086CPU系统的逻辑地址由 段地址和偏移地址 组成,物理地址的求法是 段地址左移4位+偏移地址 。16.堆栈是以_先进后出_的原则存取信息的一个特定存贮区。8086的堆栈可在1MB 存贮空间内设定,由堆栈段寄存器 SS 和堆栈指针 SP 来定位。堆栈操作是以 字 为单位。17.转移指令分为条件转移指令和无条件转移指令,条件转移指令的转移目的地址只能是短标号,即转移范围不能超过_-128+127_字节。18.已知AL=10011100B,BL=01101000B,在执行指令SUB AL,BL后, AL= 00110100 ,CF= 0 ,OF= 1 ,PF= 0 。19.已知AL=01001001B,在执行指令ADD AL,AL后,再执行DAA指令, 则AL= 10011000B ,CF= 0 ,AF= 1 。20.“0”的ASCII码为48,“8”的ASCII码为 56 ; “A”的ASCII码为65,“E”的ASCII码为 69 。21.8086 CPU系统的存储器结构中,1MB的存储体分 两 个库,每个库的容量都是 512 KB,其中和数据总线高八位相连的库全部由 奇数地址 单元组成,称为高位字节库,并用 BHE 作为此库的选通信号。22.DMA的意思是 直接存储器存取 ,主要用 高速 外设和内存间的数据传送。整个传送由DMA控制器硬件 来完成。23. CPU与外设交换数据的传送方式通常有 程序传送 、 中断传送 和 直接存储器存取(DMA)24.已知某RAM芯片的引脚中有11根地址线,8位数据线,则该存储器的容量为2K 字节。若该芯片所占存储空间的起始地址为2000H,其结束地址为_27FFH_。25.动态RAM与静态RAM的主要不同点在于动态RAM需要_刷新_。26.8086系统最多能识别_256_种不同类型的中断,每种中断在中断向量表中分配有_4_个字节单元,用以指示中断服务程序的入口地址。 27.中断类型号为20H的中断所对应的中断向量存放在内存从_80H_开始的四个连续字节单元中,若这四个字节单元的内容由低地址到高地址依次为00H,50H,00H,60H,则中断服务程序的入口地址_65000H_。28.通常,一个输入接口必须具有_缓冲_功能,一个输出接口应具有_锁存_功能29.DS是_数据_段寄存器,ES是_附加_段寄存器,SS是_堆栈_段寄存器,CS是_代码_段寄存器。30.在进行DOS系统功能调用时,功能号应置入寄存器_AH_之中。31.串操作指令采用隐含寻址方式,源串的偏移地址必须由源变址寄存器_SI_提供,目标串的偏移地址必须由目标变址寄存器_DI_提供。32.8253定时器/计数器接口芯片中有 3 个16位计数器,每个计数器都可由程序设定按 6 种不同的方式工作。33.微型计算机系统采用分级存储器结构,通常将存储器分为主存储器 外存储器和 高速缓冲存储器 三级。34.可屏蔽中断INTR可用_CLI_指令禁止。(CLI是关中断指令STI是开中断指令) 35.具有电可擦除的只读存储器是 EEPROM 。36.可屏蔽中断从CPU的 INTR 引脚进入,只有当中断允许标志IF为 1 时,该中断才能得到响应。37.中断向量是中断服务程序的_ 入口地址_,每个中断向量占 4_字节。INTEL8086中将对应256类中断的中断向量组成一张_中断向量表_,占据内存从00000H到003FFH区间。38.可编程接口芯片8253有_6_种工作方式,若要求8253的OUT输出端输出方波,则应设置其工作于方式_3_。39.8086 CPU有最小和最大两种工作模式。最小模式时,系统的 控制信号 直接由CPU本身提供;最大模式时,系统的 控制信号由8288总线控制器 提供。40.在8086CPU系统中,当发送地址码后,识别该地址码是用于对存储器寻址还是对I/O端口寻址是依据 M/IO* 信号来判别的。41.已知某控制系统中的RAM 容量为16KB,首地址为8000H,其最后一个单元的地址为 BFFFH 。42.当CPU执行IN AL,DX指令时,M/ 引脚为 低 电平, 为 0 , 为 1 。43.中断返回指令是 IRET ,该指令将堆栈中保存的断点弹出后依次装入 指令指针寄存器和代码段 寄存器中,将堆栈中保存的标志装入标志寄存器F中。44.总线按其功能可分地址总线AB、数据总线DB和控制总线CB三种不同类型的总线。45.对I/O端口的编址一般有 统一编址 方式和 独立编址 方式。PC机采用的是独立编址 方式。46.逻辑地址为2000H:1234H的存储单元的物理地址是 21234H 。47.段定义伪指令语句用 SEGMENT语句表示开始,以 ENDS 语句表示结束。48.CPU在执行OUT DX,AL指令时, DX 寄存器的内容送到地址总线上, AL寄存器的内容送到数据总线上。49.串操作指令采用隐含寻址方式,源串的偏移地址必须由源变址寄存器 SI提供,目标串的偏移地址必须由目标变址寄存器 DI 提供。50.取指令时,段地址由 代码段 寄存器提供,偏移地址由 指令指针 寄存器提供。1.8086指令系统的指令是_D_。A)单字节指令 B)双字节指令 C)固定长指令 D)可变长指令2.8086CPU是_B_ CPU。A)8位 B)16位 C)32位 D)64位3.当RESET信号进入高电平状态时,将使8086CPU的_D_寄存器初始化为FFFFH。 A)SS B)DS C)ES D)CS4.8086CPU系统主存储器以_A_为单位编址。 A)字节 B)字 C)双字 D)八字节5.在立即寻址方式中,立即数放在_B_中。 A)数据段 B)代码段 C)附加段 D)堆栈段6.能够用来间接寻址的寄存器只能是_B_之一。 A)BX、BP、SP、DX B)BX、BP、SI、DI C)BX、BP、SP、IP7.现有4K8位的RAM芯片,它所具有的地址线条数应是_A_条。 A)12 B)13 C)11 D)108.8086CPU访问I/O设备,实际上是访问_A_。 A)端口 B)接口 C)总线9.8086 CPU响应外部中断NMI和INTR时,相同的必要条件是_B_。 A)允许中断 B)当前指令执行结束 C)总线空闲 D)当前访问内存操作结束10.用10241位RAM芯片设计一个128KB的存储器系统,问需要_A_片芯片组成。 A)1024 B)2048 C)128 D)25611.对可编程接口芯片8253的3个计数通道的编程顺序是_C_。A 完全随机的,但必须设置好一个计数通道后再设置另一个计数通道B 完全固定的,从计数通道0到计数通道2C 完全随机的,但必须先写入方式控制字 D) 完全随机的,但必须先预置计数初值 12.在8253的6种工作方式中,能够自动重复工作的两种方式_B_。A)方式1,方式2B)方式2,方式3C)方式2,方式4D)方式3,方式513.重复前缀“REPZ”的重复条件是_B_。A)(CX)0 同时CF1 B)(CX)0 同时ZF1 C)(CX)0 同时ZF0 D)(CX)0 同时CF014.下列寻址方式中,段超越前缀不可省略是 B 。A)DS: BX+SI B)DS: BPDI C)SS: BP D)DS: DI 15.执行PUSH AX和POP BX两条指令也相当于执行_A_指令。 A)MOV BX,AX B)MOV AX,BX C)XCHG AX,BX16.BCD码是_D_。A二进制数 B)十进制数 C)十六进制数 D)二进制编码表示的十进制数17.若AX0008H,BX0003H,执行指令CMP AX,BX后,AX中的内容为_D_。 A)0005H B)FFFBH C)0003H D)0008H18.当 8253可编程定时器/计数器方式选择控制字的RW1、RW0定为11时,写入计数初值时的顺序为 C 。 A)先写高8位,再写低8位B)16位同时写入 C)先写低8位,再写高8D)只写高8位,低8位自动写入19.8253可编程定时/计数器的计数范围是 D 。A)1255 B)0255 C)165535 D)06553520.计算机系统总线中,用于传送读、写信号的是 C 。A)地址总线 B)数据总线 C)控制总线 D)以上都不对21.在给接口编址的过程中,如果有5根地址线没有参加译码,则可能产生 C 个重叠地址。A)5 B)5的2次幂 C)2的5次幂 D)1022.半导体EPROM写入的内容,可以通过 A 擦除。 A)紫外线照射B)电信号 C)口令D)DOS命令23.在查询传送方式中,CPU要对外设进行读出或写入操作前,必须先对外设 B 。 A)发控制命令B)进行状态检测 C)发I/O端口地址D)发读/写命令24.有一8086系统的中断向量表,在0000H:003CH单元开始依次存放34H、FEH、00H和F0H四个字节,该向量对应的中断类型码和中断服务程序的入口地址分别为 C 。A)0EH,34FE:00F0H B)0EH,F000:FE34HC)0FH,F000:FE34H D)0FH,00F0H:34FEH25.8253通道0工作于方式3,接入6MHZ的时钟,要求产生2400HZ的方波,则计数器的初值应为B A) 2000 B) 2500 C) 3000 D) 400026.中断向量表存放在存储器的B 地址范围中。 A) FFC00HFFFFFHB) 00000H003FFH C) EEC00HFFFFFH D) EEBFFHFFFFFH27.数据进行算术运算产生溢出时,则_D_。A)DF=0 B)DF=1 C)OF=0 D)OF=128.8086系统中将一个数送入堆栈后,堆栈指针寄存器应进行_B_操作。 A)减1 B)减2 C)加1 D)加229.8086 CPU与慢速的存储器或I / O接口之间,为了使传送速度能匹配,有时需要在_C_状态之间插入若干个等待周期TW。 A)T1和T2 B)T2和T3 C)T3和T4 D)随机30.用于存放堆栈段段首址高16位的寄存器是_C_。A)DS B)ES C)SS D)CS31.在下列8255A I/O端口引脚的应用中,_B_是不正确的。32.8255工作在方式1的输出时,OBF信号表示_B 。 A)输入缓冲器满信号 B)输出缓冲器满信号 C)输入缓冲器空信号 D)输出缓冲器空信号33.如果计数初值N=9,8253工作在方式3,则高电平的周期为_A 个CLK。 A)5 B)6 C)3 D)434.8253的控制信号为 =0、 =0、 =1、A1=0、A0=0表示_B 。 A)读计数器1 B)读计数器0 C)装入计数器1 D)装入计数器035.8086系统中若访问奇存储体的一个字节单元,则此时与A0是_B 状态。 A)1,0 B)0,1 C)0,0 D)1,136.CPU执行算术运算指令不会影响的标志位是_D A)溢出标志 B)符号标志 C)零标志 D)方向标志37.8086CPU的标志寄存器中有_B 个状态标志位。 A)9个 B)6个 C)8个 D)16个38.若要检查BX寄存器中的D12位是否为1,应该用_B 指令。 A)OR BX,1000H B)TEST BX,1000H JNZ NO JNZ YES C) XOR BX,1000H D)CMP BX,1000H JZ YES JNZ YES39.8253有_B 个独立的计数器。 A)2 B)3 C)4 D)640. .EXE文件产生在_D 之后。 A)汇编 B)编辑 C)用软件转换 D)连接41.计算机系统软件中的汇编程序是一种_C 。A)汇编语言程序 B)编辑程序 C)翻译程序 D)将高级语言转换成汇编程序的程序42.X的8位补码是10110100,则X的16位补码是_C 。 A)0000000010110100 B)1000000010110100 C)1111111110110100 D)011111111011010043.8086CPU工作在最大方式还是最小方式取决于_C 信号。 A)M/IO B) NMI C)MN/MX D)ALE44.堆栈操作时,段地址由_C 寄存器指出,段内偏移量由_G 寄存器指出。 A)CS B)DS C)SS D)ES E)DI F)SI G)SP H)BP45.下列8086指令中,对AX的结果与其他三条指令不同的是_D 。A)MOV AX,0 B)XOR AX,AX C)SUB AX,AX D)OR AX,046.CPU响应INTR引脚上来的中断请求的条件之一是_B 。 A)IF=0 B)IF=1 C)TF=0 D)TF=147.8086CPU在执行IN AL,DX指令时,DX寄存器的内容输出到_A 上。 A)地址总线 B)数据总线 C)存储器 D)寄存器48.下列指令中语法有错误的是_D 。 A)OUT 20H ,AL B)MOV SI,BX C)ADD BL,BX D)MUL 1049.读取一个非规则字,8086CPU需_B 个总线周期。 A)1 B)2 C)4 D)850.8086CPU对主存奇数库(高位库)进行访问时给出的控制信号是_D 。 A)INTA B)MN/MX C)INTR D)BHE51.8位数11011011B可表示 A B D F 。(此题为多项选择,出错啦) A)无符号数219 B)-37的补码 C)-36的补码 D) -36的反码 E)91的原码 F)-91的原码52.8086CPU向52H内存单元写入一个字,写入过程中 和A0的逻辑电平是 A 。 A)0和0 B)0和1 C)1和0 D)1和153.8086CPU用 C 信号的下降沿在T1结束时将地址信息锁存在地址锁存器中。 A)M/ B) C)ALE D)READY是非判断(注:对用T表示,错用F表示)1.进行无符号数运算时,运算结果对SF标志位无影响。 F2.无论是转移指令还是循环控制指令,均可跳转到程序的任意位置。 F3.DMA是一种不需要CPU介入的高速数据传送方式。 T4.8086的中断系统中有两类硬中断:可屏蔽中断和不可屏蔽中断。非屏蔽中断NMI不受中断允许位IF的控制。 T5.指出下列指令中哪些是合法的,哪些是非法的。 A)DIV 10 (F) B)MOV DS,1000H (F) C)OUT 20H,AH (F) D)ADD AX, SIDI (F)E)INC 1000H (F)类型不明确 6.微处理器就是微型计算机。 F 7.8086的输入输出指令中,允许使用DX存放端口地址,不允许使用AX、AL以外的寄存器传送数据。 T8.标志寄存器中的溢出标志位OF1时,进位标志位CF也为1。 F9.8086CPU进行堆栈操作时,可依需要进行字节或字操作。 F10.TABLE为数据段中每存储单元的符号名,则指令MOV AX,TABLE和指令LEA AX,TABLE是等价的。 F(指令MOV AX,OFFSET TABLE和指令LEA AX,TABL执行结果是一样的)11.可编程定时器计数器8253,其定时与计数功能可由程序灵活地设定,在计数过程中不占用CPU的时间。 T12.8253定时/计数器内部一个计数通道最大能计数65535。 F13.当8086 CPU对内部中断进行响应时,无需中断类型码便可找到相应的中断服务程序入口地址。 F14.8086CPU响应可屏蔽中断INTR后,将连续发出两个中断回答信号INTA。 T 15.8086CPU响应非屏蔽中断后,将启动两个连续的中断响应总线周期。F16.非屏蔽中断NMI不受中断允许位IF的控制。 T17.8086CPU系统中外部中断的优先级比内部中断的优先级高。 F18.动态RAM需要进行刷新操作,而静态RAM不需要进行刷新操作。 T19.DMA方式能处理高速外设与主存间的数据传送,高速工作性能往往能覆盖低速工作需要。因此DMA方式完全可以取代中断方式。 F20.当外设与内存之间采用DMA(direct memory access)方式进行数据传送时,数据的传送是在DMA控制器控制下由硬件来完成的。 T21.MOV指令和IN指令都具有将内存中信息传送到CPU中去的功能。 F22.可编程并行接口芯片8255A的C口置位 / 复位控制字应送到控制口。 T23.指令“ADD AX,BX+2000H”是一条不带进位的加法指令,因此该指令执行后进位标志位CF将不受影响。 F24.8086CPU的条件转移指令可跳转到程序的任何位置。 F25.采用中断传送方式时,CPU从启动外设到外设就绪这段时间,一直处于等待状态。 F26.存储单元的地址和存储单元的内容是一回事。 F27.CPU芯片中集成了运算器和控制器。 T28.在执行指令期间,EU能直接访问存储器。 F 29.8086CPU从内存中读取一个字(16位)必须用两个总线周期。 F30.8086CPU的一个总线周期一般由4个状态组成。 T131.下列指令执行完后,AX_4_、BX_7_、CX_3_、DX_4_。 MOV AX,3 MOV BX,3 MOV DX,8 MOV CX,4 AGN:INC AX ADD BX,AX SHR DX,1 LOOPE AGN 2.下列指令执行完后,AX= 4004H ,BX 01B4H 。MOV AX,1100HMOV BX,6D16HMOV CL,06HROL AX,CLSHR BX,CL3.下列指令执行完后,AX= 4620H 。MOV AX,0119HMOV CH,AHADD AL,AHDAAXCHG AL,CHADC AL,45HDAAMOV AH,ALMOV AL,CH4.下列指令执行完后,AX 0030H 。 MOV AX,2030H AND AX,00FFH5.下列指令执行完后,AL= 50H 。MOV AL,45HMOV CL,4SHL AL,CLHLT6.阅读程序,在空白处填空。 CMP BX,CX JG L1 ;从本指令可知,BX、CX中为 有/ 带 符号数 JE L2 MOV SI,1 ;当BX CX时执行该分支 JMP EXIT L1:MOV SI,2 ;当BX CX时执行该分支 JMP EXIT L2:MOV SI,3 ;当BX = CX时执行该分支 EXIT:7.下列程序执行完后,AX 7498H 。MOV AX,6264H AND AX,AXJNZ DONESHL CX,3ROR AX,CLDONE:ADD AX,1234H HLT8.下列程序执行完后,AX 6912H 。 MOV AX,5678H MOV BX,1234H ADD AL,BL33H41H3AH00H04H42H04H42H21H43H08H00HC2C1C4 DAA MOV CL,AL MOV AL,AH ADC AL,BH DAA MOV AH,AL MOV AL,CL HLT9.已知数据段定义如下: DATA SEGMENT C1 DW A3,3AH C2 DB 2DUP(4,B) C3 EQU C1 C4 DW 4321H,C3 DATA ENDS 请解答下列问题: 画出数据段在主存中的存放形式示意图。 在下列各指令之后的空白处写出执行结果。 MOV AL,C22;AL 3AH MOV BL,C2+4 ;BL 21H MOV CX,C1+3 ;CX 0400H MOV DX,C4+2 ;DX 0008H 10.阅读如下程序并回答问题 主程序运行之后,以BUFB为首址的字节存储区中的内容是什么? 90、91、88、99、68(以BUFB为首址的字节存储区有5个单元) 如果主程序中漏写了“INC DI”,运行结果如何?68、0、0、0、0 STACK SEGMENT STACK DB 200 DUP(0) STACK ENDS DATA SEGMENT BUFA DB 10,20,30,50,90,60 DB 11,21,31,51,91,61 DB 22,24,69,88,12,10 DB 30,32,34,39,40,99 DB 40,48,68,41,40,41 M6 N5 BUFB DB N DUP(0) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START:MOV AX,DATA MOV DS,AX LEA SI,BUFA LEA DI,BUFB MOV CX,N MOV DX,M LOPA: CALL FMAX MOV DI ,AL INC DI ADD SI,M LOOP LOPA MOV AH,4CH INT 21H FMAX PROC FMAX ENDP CODE ENDS END START子程序FMAX的功能是从M个8位无符号二进制数中找出最大者送入AL中。入口参数:DXM,SIM个数的存储区首址,出口参数:ALM个数中的最大者,SI未变。注:子程序FMAX不破坏主程序的工作现场。11.下列指令执行完后,AX 0020H TABLE DW 1000H,2000H,3000H,4000H,5000H ENTRY DW 3 | MOV BX,OFFSET TABLE ADD BX,ENTRY MOV AX, BX HLT 12.什么情况下,下段程序执行结果是AH0?从5FH端口输入的数大于7FH时,则AH0BEGIN:IN AL,5FH TEST AL,80H JZ BRCH1 MOV AH,0 JMP STOPBRCH1:MOV AH,0FFHSTOP: HLT13.执行下列指令后,AX=? 3000HTABLE DW 10H,20H,30H,40H,50HENTRY DW 03HMOV BX,OFFSET TABLEADD BX,ENTRYMOV AX,BX14.有符号定义语句如下:BUFF DB 1,2,3,123EBUFF DB 0L EQU EBUFF-BUFF问L的值为多少? 615.执行下面的程序段后,AL=?35MOV CX,5MOV AX,50NEXT:SUB AX,CX LOOP NEXT HLT16.阅读分析如下子程序,回答问题。TEST7 PROC FAR PUSH AX PUSH BX PUSH CX PUSH DX MOV BX,AX MOV AH,2 MOV CX,16LOP1: MOV DL,0 SHL BX,1 RCL DL,1 ADD DL,30H INT 21H LOOP LOP1 MOV DL,B INT 21H POP DX POP CX POP BX POP AX RETTEST7 ENDP 简述子程序TEST7的功能;(将AX中的内容以二进制形式显示出来)如下两条指令 MOV AX,8ADEH CALL TEST7 的执行结果是什么? 1000101011011110B 若将8ADEH改为-74A6H,运行结果如何? 若漏写指令“POP AX”,子程序TEST7能正确返回吗?为什么?(不能正确返回) (因为PUSH和POP指令不成对,堆栈指针改变了)17.阅读程序,回答问题。 MOV AH,1 INT 21H CMP AL,0 JB LN CMP AL,9 JA LN MOV DL,1 AND AL,30HMOV DH,ALSHL DH,1SHL AL,1MUL DHJMP EXITLN: MOV DL,0EXIT:若输入数字9,运行之后AX=?(2400H),DL=?(1) 若输入字符A,运行之后AX=?(0141H),DL=? (0)编程题 1.编程比较AX、BX、CX中带符号数的大小,将最大的数放在AX中。CMP AX,BXJGE NEXTXCHG AX,BXNEXT:CMP AX,CXJGE DONEXCHG AX,CXDONE:HLT 2.若自当前数据段偏移地址为0100H开始的内存中,有100个带符号数(16位)要找出其中的最大值,把它存放在当前数据段偏移地址为1000H内存中。MOV BX,0100HMOV AX,【BX】INC BXINC BXMOV CX,99AGAIN:CMP AX,【BX】JG NEXTMOV AX,【BX】NEXT:INC BXINC BXDEC CXJNZ AGAINMOV 【1000H】,AXHLT3.若有两个多字节数NA和NB,每一个是16位十进制数,NA放在现行数据段偏移地址从1000H开始的存储区中,NB放在现行数据段偏移地址从2000H开始的存储区中,都是最低字节在前,相加后的和放在3000H开始的存储区中(一个字节表示两位十进制数)。MOV BX,1000HMOV CX,8CLCAGAIN:MOV AL,【BX】ADC AL,【BX1000H】 DAA MOV 【BX2000H】,ALINC BXDEC CXJNZ AGAINHLT4.将当前数据段中,偏移地址为2500H中的100个字节数据传送到当前数据段首地址为1400H开始的单元中。 CLD PUSH DS POP ES MOV CX,100 MOV SI,2500H MOV DI,1400H REP MOVSB5.试比较上例中两串是否完全相同。若两串相同,则BX内容为0;若两串不同,则BX指向源串中第一个不相同字节的地址,且该字节的内容保留在AL中。 CLD JZ EQQ PUSH DS DEC SI POP ES MOV BX,SI MOV CX,100 MOV AL,SI MOV SI,2500H JMP STOP MOV DI,1400H EQQ:MOV BX,0 REPE CMPSB STOP: HLT 6.要求在某字符串中查找是否存在“”字符,若存在,将“”字符所在地址送入BX中,否则将BX清零。(字符串位于当前数据段偏移地址为2500H的单元中)CLDPUSH DSPOP ESMOV DI,2500HMOV AL, ;在DEBUG状态下,只能写为MOV AL,24HMOV CX,100REPNZ SCASBJZ FOUNDMOV BX,0JMP DODEFOUND:DEC DIMOV BX,DIDONE:HLT 7.编写程序,用空格符将从4000H:0000H开始的100个内存单元中的内容全部清除。CLDMOV AX,4000HMOV ES,AXMOV CX,100MOV AL,20HMOV DI,0REP STOSBHLT8.有一个字符串存放在当前数据段偏移地址为1000H开始的单元中,长度为100,编写程序将字符串中的&字符用空格符代替。MOV SI,1000HMOV CX,100L1:CMP BYTE PTR【SI】,26HJNZ L2MOV BYTE PTR【SI】,20HL2:INC SIDEC CXJNZ L1HLT9.已知在当前数据段偏移地址为1000H开始的存储单元中,有一组ASCII码字符串,字符串长度为100,试编程将此字符串传送到当前数据段偏移地址为1500H开始的存储单元中,并使字符串的顺序与原来的相反。MOV SI,1063HMOV DI,1500HMOV CX,100L1:MOV AL,【SI】MOV 【DI】,ALDEC SIINC DIDEC CXJNZ L1HLT10.设当前DS2000H,从偏移地址0200H开始存放着100个无符号16位二进制数,要求找出这组数中的最大值和最小值,分别存放在2000:0500H单元和2000:0502H单元中。MOV BX,0200HMOV AX,【BX】 ;AX中放临时最大值MOV DX,AX ;DX中放临时最小值ADD BX,2MOV CX,99AGAIN:CMP AX,【BX】JG NEXT1MOV AX,【BX】NEXT1:CMP DX,【BX】JNG NEXTMOV DX,【BX】NEXT:ADD BX,2DEC CXJNZ AGAINMOV 【500H】,AXMOV 【502H】,DXHLT11.若在当前数据段偏移地址1000H开始的10个存储单元中,存放着用BCD码表示的十进制数,每个单元中放两位BCD码,要求把它们分别转换为ASCII码,存放在偏移地址为2000H开始的存储单元中,高四位的BCD码转换成的ASCII码放在地址较高的单元。MOV SI,1000HMOV DI,2000HMOV CX,10TRANT:MOV AL,【SI】INC SIMOV BL,ALAND AL,0FHOR AL,30H;(ADD AL,30H)MOV 【DI】,ALINC DISHR BL,1SHR BL,1SHR BL,1SHR BL,1OR BL,30HMOV 【DI】,ALINC DILOOP TRANTHLT12.已知当前DS1500H,从偏移地址为0A00H开始的存储单元存放着100个8位带符号数,试编程将其中的正数送到当前数据段偏移地址为0B00H开始的存储单元中去,负数送到当前数据段偏移地址为0C00H开始的存储单元中去。MOV SI,0A00HMOV DI,0B00HMOV BX,0C00HMOV CX,100L1:MOV AL,【SI】TEST AL,80HJNZ MIUS;负数MOV 【DI】,ALINC DIINC SIDEC CXJNZ L1HLTMIUS:MOV 【BX】,ALINC BXINC SIDEC CXJNZ L1HLT13.某外部可屏蔽中断的类型码为6BH,它的中断服务程序的入口地址为1000H:2040H。请编程将该中断服务程序的入口地址填入中断向量表中。PUSH DSMOV AX,1000HMOV DS,AXMOV DX,2040HMOV AX,256BHINT 21HPOP DS14.编程检测50H端口输入的字节数据,若为正,将BL清0;若为负,将BL置为FFH。MOV BL,0IN AL,50HTEST AL,80HJZ EXITMOV BL,0FFHEXIT: 15.已知一个存储器接口电路如下,求该存储系统的地址范围。例如G2B=0 则A16、A17、A18、A19都为1G1 =1 则A15 为

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论