微机原理及接口设计总结题
- 格式:doc
- 大小:196.50 KB
- 文档页数:14
20231月试卷一、填空题(16分, 每小题2分)1.若X=-35H,Y=70H,则[X]反=11011100,[X-Y]补=10100101。
2.8086地址总线中的AD0~AD15(低15位)位与数据总线公用。
使用总线周期控制信号来锁存地址信号。
3.8086的标志寄存器中有6个控制标志位和3个状态标志位。
4.执行指令“J.DST”时, 需判断标志位SF、OF、ZF的内容。
5.中断向量表的地址范围是00000H~03FFFH(物理地址), 中断类型码为35H的中断向量所占用的物理地址是000D4H~000D7H。
6.8253的6种工作方式中, 有2种可以自动重装计数初值, 有2种是采用硬件方式启动计数过程。
7.一直8255的端口地址为40H~43H,则“OU.43H,08H”所执行的操作是将C端口的PC4置0。
8.某内存地址范围是A0000H~C7FFFH,其存储容量为160Kbyte,需要20片8K×8位的内存芯片才干构成该存储区。
二、计算器1.某堆栈区地址为2023H:0000H~2023H:0100H, SP=0080H, 计算:1)栈顶的物理地址为20230H, 栈底的物理地址为20230H。
2)执行“RET”指令(段间调用)后, 栈顶的物理地址为20234H。
2. MOV SI,0100HMOV AL,08HMOV CX,35HL1: MOV [SI],ALDEC ALINC SILOOP L1运营结果: AL=D3, SI=0135H, (DS:0105H)=03H3. MO.AX,6587HMOV BX,3412HNEG BXCBWIDIV BH执行结果: AX=F702H, BX=CBEEH。
4.根据数据定义给出结果DATA SEGMENTD1 DB 1,2,3,4,5 DUP(0),’67’,89D2 DB ‘This is a computer’, 0DH,0AHCNT EQU $-D1LEA BX,D2MOV AX,SIZE D1CNT=26, BX=7, AX=7。
第1章微型计算机基础一、单选题1.以下哪个数最大( D )。
A、10110101BB、234C、234QD、123H2.以下哪个数最大()。
A、10111101BB、240C、134QD、F3H3.以下哪个数最大()。
A、101101BB、198C、162QD、ABH4.以下哪个数最大()。
A、1101101BB、200C、373QD、1D7H5.下列各数种,最大的是( A )。
A、(321)16B、(327)8C、(659)10D、(11100111)26.字母A的ASCII代码是( B )。
A、39HB、41HC、0DHD、0AH7.字母a的ASCII代码是( B )。
A、60HB、61HC、40HD、41H8.回车符的ASCII代码是( C )。
A、39HB、41HC、0DHD、0AH9.换行符的ASCII代码是(D)。
A、39HB、41HC、0DHD、0AH10.数字9的ASCII代码是( A )。
A、39HB、41HC、0DHD、0AH11.数字0的ASCII代码是( B )。
A、30B、30HC、0D、0H12.在计算机系统中,微处理器通常不包含( C )。
A、算术逻辑单元B、程序计数器C、大容量内存D、寄存器13.下列各数不属于8421BCD码的是( A )。
A、10100101BB、01011001BC、00110011BD、01010100B14.以下关于字节和字长的说法错误的是( D )。
A、一个字节由8位二进制位组成B、字长是计算机内部一次可以处理的二进制的位数C、字长依赖于具体的机器,而字节不依赖于具体的机器D、字长越长,处理精度越高,但处理速度越慢15.假定字长为n位,以下关于数的定点和浮点表示的说法错误的是( D )。
A、定点表示法是指计算机中所有数的小数点的位置是人为约定不变。
B、浮点数比相同位数的定点数表示的数值范围大。
C、定点整数的表示范围为-(2n-1-1)~(2n-1-1)。
考试题型:1填空(25分)2选择(30分)3 判断(10分)4 简答(15分)5 芯片初始化程序题(20分)一填空(10分)1.2K×4位RAM构成64KB的存储系统,有20位地址线,全译码方式,需要_____个RAM芯片,需要_____位地址作为片外地址译码器的输入。
2.在一个串行传输系统中,每秒钟可传送10个数据帧,每个数据帧包含1个起始位,8个数据位和2个终止位。
则波特率为_____ 比特率为_____3.已知ADC0809的分辨率为8位,若其V R(+)接+5V,V R(-)接地,当输入电压模拟量为3.125V时,转换后输出的数字量为_____4.实现定时的三种方法是____定时、_____定时和____________定时。
5.已知内存单元00060H~00067H存放在10H、12H、20H、23H、30H、34H、40H、45H 中,则19H中断的中断服务程序人口地址是_____6.8255A工作于方式0时,不能工作于____ 传送方式。
7.已知段寄存器DS=3600H,偏移地址SI=1200H,则物理地址为_____8.用4K×8的RAM芯片组成16K×8的存储器,需要_______片芯片,在地址线中(设地址总线为16位),有______位参与片内寻址。
______位组合成片选信号。
9.某微机系统中内存首地址为3000H,末地址为63FFH,则其内存容量为______10.1MB存储空间最多可以分成_________个逻辑段。
最少可以分成_________个逻辑段11.8255A工作于方式0时,不能工作于____ 传送方式。
12.设BX=0328H,SI=023CH,执行LEA BX,[BX+SI+0F45H]后,BX=__________ 13.对I/O端口编址有___________和_____________两种方法。
14.中断类型码为14H的中断向量存放在内存中的4个字节单元中,其中的字节单元内容从低字节到高字节依次为10H、20H、30H、40H,则相应的中断服务程序入口地址是_________15.当多片8259A级联时,最多可级联______片,其中有_____片主片,最多可管理_____级中断源。
《微机原理及接口技术》试卷(A )适用专业(计算机科学与技术) 使用班级()一、选择题(每题 1 分,共 15 分) 1. 微机中控制总线传送的是 ( )。
A.存储器和I/O 接口的地址码B.微处理器向内存储器和I/O 的命令信号C.存储器和I/O 设备向微处理器传送的状态信号D.B 和C2. 8253可编程定时/计数器,在初始化时写入的最大计数初值是 ( )。
A.0000HB.7FFFHC.65535D.FFFFH3. 在异步串行通信中引入了"波特率因子"的概念,波特率因子为16,64时,接收时钟的频率为波特率的16,64倍,引入波特率因子的目的是 ( )。
A.识别正确的起始位 B.提高接收速度 C.提高采样精度 D.三者都是4. 8086 CPU 标志寄存器共有( )位,其中使用7位,未使用其它位均作为CPU 指令运行后的状态信息和控制标志信息。
A. 8 B. 10 C. 16 D. 205. 8086微处理器CLK 引脚输入时钟信号是由( )提供。
A.8284 B.8288C.8287 D.82896. 最基本的读操作包含4个状态,即T 1 、T 2、T 3和T 4 ,当存储器或 I/O 设备的速度慢于CPU 速度时,在( )状态之间插入1个或几个等待状态T W 。
A. T 3和T 4 B. T 1和T 2 C. T 2和T 3 D. T 1和T 37. 在计算机与外设之间数据的传送方式分为串行传送方式和( )传送方式两类。
A.并行传送方式 B. 同步传送方式 C. 异步传送方式 D. 串/并传送方式8. 8253的( )是软件触发选通方式。
A.方式OB.方式1C.方式2D.方式4 9.串行异步通信协议中一个字符正式发送前,先发送( )低电平有效。
A.两个起始位 B .3个起始位 C. 1.5个起始位 D .1个起始位 10.对8255A 的C 口执行按位置位/复位操作时,写入的端口地址是( )。
微机原理与技术接口填空总结二、填空题(把答案填写在题中横线上,每空1分,共20分)1 . 8086/8088CPU的数据线和地址线是以__分时复用__方式轮流使用的。
2 . CPU中的总线接口部件BIU,根据执行部件EU的要求,完成___CPU______与____存储器___或__I/O设备____的数据传送。
3 . 8086中的BIU由____4____个__16_____位段寄存器、一个___16____位指令指针、_6____字节指令队列、__20____位地址加法器和控制电路组成。
4 . 8086/8088构成的微机中,每个主存单元对应两种地址:_段地址__和___偏移地址___。
5 . 对于8259A的中断请求寄存器IRR,当某一个IRi端呈现__1___时,则表示该端有中断请求。
6 . 若8259A中ICW2的初始值为40H,则在中断响应周期数据总线上出现的与IR5对应的中断类型码为___45H____。
7 . 在存储器的层次结构中,越远离CPU的存储器,其存取速度___越慢___,存储容量____越大____,价格___越低___。
8 . 存储器的存取速度可用___存取时间___和___存取周期____两个时间参数来衡量,其中后者比前者大。
9 . 中断返回指令IRET总是排在__最后___。
10 .若8255A的系统基地址为2F9H,且各端口都是奇地址,则8255A的三个端口地址为___2FAH,2FCH,2FEH___。
二、概念填空题(共26分,每空1分)1.计算机中控制器和运算器是核心部件,合称为中央处理单元(CPU)2.组成32M×8位的存储器,需要1M×4位的存储芯片 64 片3.所谓总线是信息传送的基本通路,通常可以分为数据总线、地址总线和控制总线.4.8086CPU内部结构按功能分为执行单元(EU)和总线接口单元(BIU) .5.INTEL8086/8088地址总线有20条,最大存储容量为 1MB .6.8086/8088微处理器的INTR引脚可由标志位 IF控制。
精心整理第1章?微机运算基础习题和思考题1.请完成以下计算:174.66D=()B=(AE.A8)H10101110101.01011B=(1397.344)D=(575.58)H4BCH=()B=()BCD2.设字长为8位,X=(2A)16,当X分别为原码、补码、反码和无符号数的时候,其真值是多少?答:当X表示原码时,其真值为:+101010当X表示补码时,其真值为:+101010当X表示反码时,其真值为:+101010当X表示无符号数数时,其真值为:001010103.设字长为8位,用补码形式完成下列计算,要求有运算结果并讨论是否发生溢出?120+18-33-37-90-7050+84答:120+18其补码形式分别为:(120)补=01111000(18)补=0001001001111000+00010010由于C s=0,C p=1,因此有溢出,结果错误-33-37其补码形式为:(-33)补=(-37)补=+由于C s=1,C p=1,所以没有溢出,结果正确-90-70其补码形式为:(-90)补=(-70)补=+01010110由于C s=1,C p=0,所以有溢出,结果错误50+84其补码形式为:(50)补=00110010(84)补=0101010000110010+01010100由于C s=0,C p=1,所以有溢出,结果错误4.请写出下列字符串的ASCII码值。
MynameisZhangsan.4D796E616D6569735A68616E6773616E2E第2章80X86微机系统习题与思考题1.微型计算机主要由哪些基本部件组成?各部件的主要功能是什么?答:微型计算机主要由输入设备、运算器、控制器、存储器和输出设备组成。
各部件的功能分别是:1、输入设备通过输入接口电路将程序和数据输入内存;2、运算器是进行算术运算和逻辑运算的部件,它是指令的执行部件;3、控制器是计算机的指挥中心,它负责对指令进行译码,产生出整个指令系统所需要的全部操作的控制信号,控制运算器、存储器、输入/输出接口等部件完成指令规定的操作;4、存储器用来存放程序、原始操作数、运算的中间结果数据和最终结果数据;5、输出设备是CPU 通过相应的输出接口电路将程序运行的结果及程序、数据送到的设备;22.微处理器的发展过程是什么?答:微型计算机的发展过程是:第一代(1946~1957)——采用电子管为逻辑部件,以超声波汞延迟线、阴极射线管、磁芯和磁鼓等为存储手段;软件上采用机器语言,后期采用汇编语言。
微机原理及接口技术考试试题及答案第一部分:微机原理1. 基本知识部分答:微机是由微处理器、内存、输入输出设备以及系统总线构成的计算机系统。
2. CPU部分答:CPU主要由控制单元和算术逻辑单元组成,控制单元负责解码指令、控制程序流程,算术逻辑单元则负责进行算术和逻辑运算。
3. 存储器部分答:存储器按照存取方式可以分为随机存储器(RAM)和只读存储器(ROM),按照存储介质又可分为内存芯片和磁盘等。
4. 总线部分答:总线包括数据总线、地址总线和控制总线,用于在CPU、存储器和输入输出设备之间传输数据、地址和控制信息。
5. 输入输出部分答:输入输出设备用于将人与计算机之间的信息转换为计算机内部能处理的形式,常见的输入输出设备有键盘、鼠标、显示器和打印机等。
第二部分:接口技术1. 并行接口答:并行接口是指同时传送多个位的接口,常见的并行接口有并行打印接口(LPT接口)和并行通信接口(例如IEEE1284接口)。
2. 串行接口答:串行接口是指逐位传送数据的接口,常见的串行接口有串行打印接口(COM接口)和串行通信接口(例如RS-232C接口)。
3. USB接口答:USB接口是一种通用的外部总线接口,具有热插拔、高速传输和多设备连接等优点。
4. 接口传输速率答:接口传输速率是指单位时间内接口所能传输的数据量,常见的接口传输速率有Mbps、Gbps等。
5. 接口阻抗匹配答:接口阻抗匹配是指信源电路和信宿电路的阻抗之间的匹配关系,目的是提高信号传输的质量。
第三部分:考试试题1. 选择题:(1)微机是由以下哪些部分构成的?A. CPU、内存、输入输出设备B. CPU、显卡、硬盘C. 内存、硬盘、显示器D. CPU、显卡、键鼠(2)CPU由以下哪些单元构成?A. 控制单元和算术逻辑单元B. 存储单元和控制单元C. 控制单元和输入输出单元D. 算术逻辑单元和输入输出单元2. 简答题:(1)请简要解释存储器的随机存取特性。
精心整理第一章习题及答案1.微处理器内部包含哪三大部分?解:运算器、控制器和寄存器组。
2.完成下列数制的转换①)D=()H解:②0.11B=()D解:0.11B=0.75D。
③211.25=()B=()H4解:C、B、A三个输入端的状态分别是‘1’,‘0’,‘0’。
第二章习题及答案1.8086/8088CPU由哪两大功能部分所组成?简述它们的主要功能?解:8086/8088CPU由EU和BIU两大功能部分组成。
执行单元EU主要完成指令的译码和执行。
执行单元通过EU控制电路从BIU中取出指令,经过指令译码形成各种定时控制信号,向EU内各功能部件发出相应的控制命令,以完成指令所规定的操作。
总线接口单元BIU是8086/8088同外部联系的接口。
它负责所有涉及外部总线的操作,包括取指令、读操作数、写操作数、地址转换和总线控制等。
BIU内部设置指令预取队列,每当指令队列有两个或两个以上的字节空间,且执行单元未向BIU申请读/写存储器操作数时,BIU顺序地预取后续指令的代码,并填入指令队列中。
当EU执行的是转移指令时,则BIU清除当前的指令预取队列的内容,从新的地址取回指令,并立即送到EU去执行,然后,从后续的指令序列中取回指令填满队列。
2.什么是指令流水线?指令流水线需要哪些硬件支持?解:指令流水线是指8086/8088CPU内部的执行单元EU和总线接口单元BIU通过指令预取队列协同工作从而实现指令的并行执行。
指令流水线最主要的硬件支持是BIU内部的指令预取队列。
3.逻辑地址如何转换成物理地址?已知逻辑地址为2D1EH:35B8H,对应的物理地址是什么?解:逻辑地址是段基址和段内偏移地址形式的地址。
物理地址=段基址×16+段内偏移4.解:5.解:SPBPSPSI和SI和DICSDSSSESIP6.解:。
AF=0。
出,这时OF=1;否则OF=0。
控制标志位:DF(DirectionFlag):方向标志。
一、单项选择题1.( C )输入引脚用于CPU内部同步。
A.NMIB.INTRC.CLKD.RESET2.当中断处理正在进行时,CPU的状态是( C )。
A.暂停B.总线浮空C.执行程序D.等待3.实现可屏蔽中断的嵌套,在中断处理程序中( D )。
A.应屏蔽已响应的中断源B.应保护好各寄存器及变量区C.应打开系统中断D.应设置好中断优先级4.( A )引脚输入用于硬件中断请求(不可屏蔽)。
A.NMIB.INTRC.CLKD.RESET6.8086和8088的主要差别在于( C )。
.A.8086可以访问1M字节,8088只能访问64K字节B.8086是16位计算机,8088是8位计算机C.8086是16位外部数据总线,8088是8位外部数据总线D.8086是浮点运算部件,8088没有浮点运算部件7.8086/8088在CPU内部的逻辑地址形式为( A )A..16位段地址和16位偏移量B.16位段地址和20位偏移量C.20位段地址和20位偏移量D.20位线性地址8.当微机系统工作在DMA方式时,该系统的地址信号是由( D )提供的。
A..微处理器B.总线控制器C.中断控制器D.DMA控制器9.异步通信的停止位不能是( A )A.3位B.2位C.1位D.1.5位10.Pentium的总线结构为( A )A外部总线64位,内部总线32位B外部总线64位,内部总线64位C外部总线16位,内部总线32位D外部总线32位,内部总线32位21.键盘在计算机硬件系统中属于( C )A输入设备B输出设备C必不可少的输入设备D必不可少的输出设备22.LCD显示器在显示动态画面时有时有托尾现象,这说明( D )指标较低。
A亮度B对比度C分辨率D刷新率23.用下列哪个显示颜色最丰富?(D )A16位B24位C32位D64位24.鼠标器按接口方式分类,下列不属于该分类的是( A )A机械鼠标 B.PS/2接口C串行接口 B接口25.若想利用可编程并行接口芯片8255A的1个端口实现两位输入和两位输出,则应选用( A )A.C口B.A口C.B口D.A口或B口均可26.关于8253A的工作原理下列叙述正确的是( A )A定时和计数的原理是一样的B定时和计数的原理是不一样的C8253A内部既有一个定时器,又有一个计时器,分别单独工作D三个计数器不能同时工作27.关于同步和异步通信,下列叙述正确的是( D )A异步通信快,同步通信慢B同步通信无校验,异步通信有校验C同步通信适合远距离,异步通信适合近距离D同步通信中,同1帧字符间不允许有间隔28.下列说法错误的是( B )A.硬盘是计算机的外存储器B内存储器中的信息断电后不会丢失 C.SRAM是“非破坏性”读存储器 D.DRAM是“破坏性读”存储器29.下列说法正确的是( C )A计算机能够直接执行硬盘中的程序B内存储器是由RAM组成的 C.DRAM需要刷新 D.SRAM需要刷新30.芯片16K×8组成芯片64K×16的存储器,共需要芯片( C )块。
《微机原理及接口技术》复习总结综合版——简答题第一篇:《微机原理及接口技术》复习总结综合版——简答题综合版—简答题欢迎使用KNKJ2012DXZY系统《微机原理及接口技术》学科复习综合版—简答题1、微型计算机由那些基本功能部件组成?微处理器、主存储器、系统总线、辅助存储器、输入/输出(I/O)接口和输入/输出设备2、什么是(计算机)总线?在计算机中,连接CPU与各个功能部件之间的一组公共线路,称为总线3、微型计算机系统的基本组成?微型计算机,系统软件,应用软件,输入输出设备4、简述冯.诺依曼型计算机基本组成。
冯.诺依曼型计算机是由运算器,控制器,存储器,输入设备和输出设备组成的。
其中,运算器是对信息进行加工和运算的部件;控制器是整个计算机的控制中心,所以数值计算和信息的输入,输出都有是在控制器的统一指挥下进行的;存储器是用来存放数据和程序的部件,它由许多存储单元组成,每一个存储单元可以存放一个字节;输入设备是把人们编写好的程序和数据送入到计算机内部;输出设备是把运算结果告知用户。
5、什么是机器数?什么是机器数的真值?数在机器内的表示形式为机器数。
而机器数对应的数值称为机器数的真值。
6、8086与8088这两个微处理器在结构上有何相同点,有何主要区别?相同点:(1)内部均由EU、BIU两大部分组成,结构基本相同。
(2)用户编程使用的寄存器等功能部件均为16位。
(3)内部数据通路为16位。
区别 :(1)对外数据总线8086:16位,8088:8位。
(2)指令队列8086:6级,8088:4级。
7、8086CPU内部由哪两部分组成?各完成什么工作?在8086内部由BIU和EU两大部分组成,BIU主要负责和总线打交道,用于CPU与存储器和I/O接口之间进行数据交换;EU主要是将从指令队列中取得的指令加以执行。
8、简述8086内部分为EU和BIU两大功能的意义。
这两部分分开可以在执行指令的同时,从存储器中将将要执行的指令取到指令队列,使两部分并行工作,提高CPU的速度。
1.从3000H开始的内存单元中存放有64个有符号数,要求统计其中负数的个数,并将统计结果存入NUM单元。
程序段如下:XOR DX,DX ;MOV SI,3000H ;MOV CX,40H ;AGN: MOV AL,[SI] ;INC SI ;TEST AL,80H ;JZ NEXT ;INC DX ;NEXT:DEC CX ;JNZ AGN ;MOV NUM,DX ;HLT ;2.以DATA为首址的连续单元中的16位无符号数乘以10。
LEA SI,DATA ;MOV AX,[SI] ;SHL AX,1 ;*2MOV BX,AX ;MOV CL,2 ;SHL AX,CL ;*8ADD AX,BX ;HLT ;3.测试BL寄存器中第4位的状态,并保持原内容不变。
程序段如下:MOV CL,4 ;ROL BL,CL ; CF D4JNC ZERO ;ROR BL,CL ;……;ZERO: ROR BL,CL ;……;HLT ;4.将源串首地址为2000H:1200H开始的100个字节转送到首地址为6000H:4000H开始的内存单元中。
程序段如下:MOV AX,2000H ;MOV DS,AXMOV AX,6000H ;MOV ES,AXMOV SI,1200H ;MOV DI,4000H ;MOV CX,100 ;CLD ;LOOP1: MOVSBDEC CXJNZ LOOP1HLT 5.分别从SOURCE和DEST开始存放两个串长为100个字节的字符串。
试比较两个字符串是否相同,若全部相同,则使BX=0;若不相同,则将源串中第一个不相同字符的偏移地址送BX,不相同字符送AL中。
CLD ; 地址增加方向LEA SI,SOURCE ;LEA DI,DEST ;MOV CX,100 ;NEXT: CMPSB ;JNZ STOP ;DEC CX ;JNZ NEXT ;MOV BX,00H ;JMP DONE ;STOP: DEC SI ;MOV BX,SIMOV AL,[BX] ;DONE: HLT6.在ES:STRING附加数据区首地址开始,按地址减量方向顺序存放有100个字节字符串,在其中查找是否有“A”字符;若有,则将“A”字符所在偏移地址送BX,否则置BX=0。
程序段如下:STD ;置DF=1,地址减量方向MOV DI,OFFSET STRING ;MOV CX,100 ;MOV AL,‘A’;NEXT: SCASB ;JZ STOP ;ZF=1,到“A”相同的字符,转STOPDEX CX ;没找到(ZF=0),长度减1JNZ NEXT ;JMP DONE ;STOP: DEC DI ;字符A所在偏移地址→BXMOV BX,DIJMP EXITDONE: MOV BX,0000H ; 0000H→BXEXIT: HLT7.以MEM为首地址的内存区域中有10个以非压缩BCD码形式存放的十进制数,它们的值可能是0~9中的任意一个,现编程序将这10个数顺序显示在屏幕上。
程序段如下:LEA SI,MEMMOV CX,10CLD ;MOV AH,02H;功能号(表示单字符显示输出)→AHNEXT: LODSBADD AL,30H ;MOV DL,AL ;INT 21H ;输出显示DEC CX ;JNZ NEXT ;HLT8.把6000H:1200H单元开始的100个字存储单元内容清零。
可用串存储指令实现。
程序段如下:MOV AX,6000H ;MOV ES,AX ;MOV DI,1200H ;MOV CX,100 ;CLD ;MOV AX,0 ;REP STOSW ;将100个单元清零HLT9.在ES段中从2000H单元开始存放了10个字符,寻找其中有无字符A。
若有则记下搜索次数(次数放DATA1单元),并记下存放字符A的地址(地址放DATA2单元)。
程序段如下:MOV DI,2000H ;MOV BX,DI ;MOV CX,0AH ;MOV AL,’A’;CLD ;REPNZ SCASB ;直到找到字符A或CX=0JZ FOUND ;找到MOV DI,0 ;没找到使DI=0JMP DONEFOUND: DEC DI ;DI 1,指向找到的关键字所在地址MOV DATA2,DI ;将关键字地址送DATA2单元INC DISUB DI,BX ;DONE: MOV DATA1,DI ;将搜索次数送DATA1单元HLT10.有10个无符号字节数据顺序存放在以2000H单元为首地址的数据存储区中,编写程序找出其中最大数,并将其存入2200H单元。
程序段如下:NAXSTA: MOV BX,2000H ;MOV AL,[BX] ;MOV CX,10 ;NEXT1: INC BX ;CMP AL,[BX] ;JAE NEXT2 ;MOV AL,[BX] ;NEXT2: DEC CX ;JNZ NEXT1MOV BX,2200H ;MOV [BX],ALHLT11.在内存首地址为TABLE处顺序存放了100个带符号字节数。
编写程序统计出其中正数、负数和零的个数,分别将个数存入PLUS、MINUS 和ZERO单元。
START: XOR AL,AL ;AL清零MOV PLUS,AL ;清零MOV MINUS,AL ;清零MOV ZERO,AL ;清零LEA SI,TABLE ;MOV CX,100 ;CLD ;使DF=0CHECK: LODSB ;取一个数到AL,OR AL,AL ;JS NEXT1 ;负,转NEXT1JZ NEXT2 ; 0,转NEXT2INC PLUS ;正,PLUS单元加1JMP NEXT ;NEXT1:INC MINUS ;JMP NEXT ;NEXT2:INC ZERO ;NEXT: DEC CX ;JNZ CHECK ;HLT12.在以DATA为首地址的内存数据段中,存放200个16位带符号数,找出其中最大和最小数,分别放在以MAX和MIN为首地址的内存单元中。
START:LEA SI,DATA ;MOV CX,200 ;CLD ;LODSW ;取数据MOV MAX,AX ;MOV MIN,AX ;DEC CX ;NEXT: LODSW ;取下一个→AXCMP AX,MAX ;JG LARGER ;CMP AX,MIN ;JL SMALL ;JMP GOON ;LARGER:MOV MAX,AX ;JMP GOON ;SMALL:MOV MIN,AX ;GOON: LOOP NEXT ;HLT13.有两个字数组分别放在首地址为DATA1和DATA2的存储区,数组长度为100。
计算两数组对应数据项之和,和值送首地址为SUM的数据区中,且当两数组对应项均出现“0”时,停止求和。
试编程序段。
MOV AX,0 ;MOV SI,0FFFFH ;初值为-1MOV CX,64H ;NZERO:INC SI ;MOV AX,DATA1[SI] ;ADD AX,DATA2[SI] ;当AX=0,则ZF=1MOV SUM[SI],AX ;LOOPNZ NZERO ;HLT ;14.编写一个10ms延时子程序。
DELY PROCPUSH BXPUSH CXMOV BL,2NEXT:MOV CX,4167 ;延时5ms)Y10MS:LOOP Y10MSDEC BLJNZ NEXTPOP CXPOP BXRET ;ELY ENDP15.写一个程序完成多字节BCD码相加,并将单字节加法写成过程。
DATA SEGMENTFIRST DB 11H,22H,33H,44HSECOND DB 55H,66H,77H,88HSUM DB 5 DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATAMAIN PROC FARSTART: MOV AX,DATAMOV DS,AXMOV ES,AXMOV SI,OFFSET FIRSTMOV DI,OFFSET SUMMOV BX,OFFSET SECONDMOV CX,04CLDCLCADITI: CALL AAA1 ;LOOP ADITIMOV AL,0ADC AL,ALSTOSBMAIN ENDPAAA1 PROC NEARLODSBADC AL,[BX]DAASTOSBINC BXRETAAA1 ENDPCODE ENDSEND START16.编写程序完成从键盘上输入字符串“HELLO”,并在串尾加结束符“$”。
DATA SEGMENTSTRING DB 10,0,10 DUP(?)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXLEA DX,STRINGMOV AH,0AHINT 21H ;等待键盘输入MOV CL,STRING+1;实际输入的字符个数送CLXOR CH,CHADD DX,CX ;得到字符串尾地址MOV BX,DXMOV BYTE PTR[BX+2],‘$’;插入‘$’MOV AH,4CH ;返回DOSINT 21HCODE ENDSEND START17.编写程序完成在屏幕上依次显示“1A 2B 3C”8个字符。
DATA SEGMENTSTR DB ‘1A 2B 3C’DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXLEA BX,STRMOV CX,8LPP: MOV AH,2 ;功能号2送AHMOV DL,[BX]INC BXINT 21HLOOP LPPMOV AH,4CHINT 21HCODE ENDSEND START18.编写程序完成在屏幕上显示字符串“Example of string display!”。
DATA SEGMENTSTR DB 0DH,0AH,‘Example of string display!$’0DHDATA ENDSSTACK SEGMENT PARA STACK ’STACK’DB 100 DUP(0)STACK ENDSCODE SEGMENTASSUME DS:DATA,CS:CODE,SS:STACKBEGIN: MOV AX,DATAMOV DS,AXMOV AX,STACKMOV SS,AXLEA DX,STRMOV AH ,9 功能号9;INT 21H ;显示字符串MOV AH,4CHINT 21HCODE ENDSEND BEGIN19.编写程序完成从键盘上输入一字符串到输入缓冲区,然后将输入的字符串在显示器上以相反的顺序显示。