汇编语言程序设计期末考试试卷及参考答案

合集下载

汇编语言程序设计期末考试-试卷及参考答案

汇编语言程序设计期末考试-试卷及参考答案

汇编语言程序设计期末考试-试卷及参考答案【汇编语言程序设计】期末考试-试卷及参考答案执行上述两条指令后,正确的结果是( B )。

A.(AX)=1001H; B.(AX)=0FFFH;C.(AX)=1000H; D.(AX)=0111H。

6.串指令中的目的操作数地址一定是由____A_ _提供。

()A.ES:[DI] ; B.SS:[BP];C.DS:[SI] ; D.CS:[IP]。

7.将DX的内容除以2,正确的指令是( C )。

A.DIV 2 ;B.DIV DX,2 ;C.SAR DX,1;D.SHL DX,1。

8. 用户为了解决自己的问题,用汇编语言所编写的程序,称为( B )。

A.目标程序; B.汇编语言源程序;C.可执行程序; D.汇编程序。

9.用一条指令仅实现将AX←BX+SI的方法是( D )。

A.XCHG AX,[BX][SI] ;B.MOV AX,[BX+SI];C.LEA AX,BX[SI] ;D.LEA AX,[BX][SI]。

10.设SP初值为2000H,执行指令“PUSH AX”后,SP的值是( C )。

A.1FFFH; B.1998H;C.1FFEH; D.2002H。

2. C二、指出下列指令的出错原因,并改正。

(每小题2分,共12分)1.MOV BX,DL;操作数类型不匹配,改正为:MOV BL,DL 或MOV BX,DX2.MOV CS,AX;代码段寄存器CS不能作目的操作数,改正为MOV DS,AX3.ADD AX,DS;段寄存器DS的内容不能作为加法指令的操作数,改正为MOV BX,DSADD AX,BX4.TEST BX,[CX];不能使用CX实现寄存器间接寻址,改正为MOV SI,CXTEST BX,[SI]5.SUB [BX],[BP+SI];两个操作数不能同为存储器操作数,且两个操作数的数据类型不确定,改正为:MOV AX,[BX]SUB AX,[BP+SI]或:MOV AL,[BX]SUB AL,[BP+SI]6.SHL DX ;没有给出移位次数,改正为SHL DX,1或 SHL DX,CL三、程序填空题(注意:每空只能填一条指令,并注释说明所填指令的作用!每空3分,共18分)1.在表TABLE处存放着N个无符号字节数,求表中前10个字节数的总和并保存在AX寄存器中。

《汇编语言程序设计》期末复习题和答案.doc

《汇编语言程序设计》期末复习题和答案.doc

《汇编语言程序设计》期末复习题及答案一、选择(30题)1.下列是8位带符号二进制数的补码,其中最大的是(B )。

B、000000012.在一段汇编语言程序中多次调用另一段程序,用宏指令比用子程序实现(C )C、占内存空间大,但速度快3.数据定义为:EE DB 3, 4CC DW 3456H, 6789H执行指令“MOV CX, WORD PTR EE+1” 后,(CX) = ( B )B、5604H4.有如下指令序列:MOV AL, 95HMOV CL, 2SAR AL, CL上述指令序列执行后,AL的内容是(D )D、0E5H5.设A=186m B=273R,C=0BB E把这三个数看成无符号数,则它们之间的关系是(D )D、A<B=C6.用一条指令实现寄存器BX和SI的内容相加,并将结果送入AX中,这条指令是(D )D、LEA AX, [BX] [SI]7.要从端口1234H中读入8位数据,其指令应是(C )C、MOV DX, 1234HIN AL, DX8.循环控制指令LOOPNZ/LOOPNE继续执行循环的条件是(B )B、CX尹。

且ZF=O9.8088/8086存储器分段,每个段不超过(D )D、64K个字节10.表示过程定义结束的伪指令是(A )A、ENDP11.用来存放下一条将要执行的指令代码段地址的段寄存器是(D )D、CS12.假定(SS) =1000H, (SP) =0100H, (AX) =5609H,执行指令PUSH AX 后,存放数据56H的物理地址是(D )D、100FFH13.执行“SUB AX, [BP] [DI] ”指令,取源操作数时,使用的物理地址表达式是(A )A、16*SS+BP+DI14.设AX中有一带符号数8520H,执行“SA R AX, 1”指令后,AX中的值是(C )C、0C290H15.设(BX) =1234H, (DS) =2000H, (21234H) =5678H,则指令“LEA SI, [BX] ” 执行后的结果是:(B )B、SI=1234H16.测试BL中的数是否为负数,若为负数则转移至AA1处,横线处的指令应为(A )A、JNE17.设DF=O, (SI) =20H, (CX) =10,执行“REP LODSW"指令后,SI 中的内容是(C )C、34H18.在程序执行过程中,IP寄存器中始终保存的是(B )B、下一条指令的首地址19.设SP初值为2000H,执行指令“POP AX”后,SP的值是(A )A、2002H20.若AX=3500H, CX=56B8H,当AND AX, CX 指令执行后,AX= ( A )A、1400H21.汇编源程序时,出现语法错误的语句是(A )A、MOV DS, 1200H22.将数据1234H存放在存储单元中的伪指令是(C )C、DATA1 DB 34H, 12H23.下面指令执行后,可能改变AL寄存器内容的指令是(D )D、AND AL, BL24.操作数地址存放在寄存器的寻址方式称为(B )B、寄存器间接寻址25.用户为了解决自己的问题,用汇编语言所编写的程序,称为(B )B、汇编语言程序26.用DOS功能调用时,子功能调用的编号应放在(C )C、AH27.提供串指令中目的操作数地址的是(C )C、ES: [DI]28.在寄存器间接寻址方式下,能够提供有效地址的寄存器有(B )B、BX, BP, SI, DI29.已知某操作数的物理地址是2117AH,则它的段地址和偏移地址可能是(A )A、2025 : 0F2A30.中断向量表中的每个中断向量所占内存空间为:(B )B、4个字节二、填空(30题)1.在用直接寻址方式寻址操作数时,系统对段地址的默认值在段寄存器DS 中。

汇编语言程序设计期末考试题

汇编语言程序设计期末考试题

汇编语言程序设计期末考试题学院(系):学号:姓名:计分:一、项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。

每小题1分,共10分)1.CPU发出的访问存储器的地址是( )A.物理地址 B。

偏移地址 C。

逻辑地址 D.段地址2.将高级语言的程序翻译成机器码程序的实用程序是( )A。

编译程序 B.汇编程序 C。

解释程序 D。

目标程序3.DEC BYTE PTR[BX]指令中的操作数的数据类型是( )A。

字 B。

双字 C.字节 D。

四字4.在下列语句中,BUFFER称为()BUFFER DB 01H,0AHA.符号 B。

变量 C.助记符 D。

标号5.串操作指令中,源串操作数的段地址一定在()寄存器中。

A。

CS B. SS C。

DS D. ES6.使计算机执行某种操作的命令是()A.伪指令B.指令C.标号 D。

助记符7.将数据5618H存放在存储单元中的伪指令是( )A. DATA1 DW 1856H B。

DATA1 DB 18H,56HC。

DATA1 EQU 5618H D. DATA1 DB 18H,00H,56H,00H8.若AX=3500H,CX=56B8H,当AND AX,CX指令执行后,AX=()A。

1400H B. 77F8H C。

0000H D。

0FFFFH9.计算机处理问题中会碰到大量的字符、符号,对此必须采用统一的二进制编码。

目前,微机中普遍采用的是( )码.A。

BCD码 B.二进制码 C。

ASCII码 D。

十六进制码10.用指令的助记符、符号地址、标号和伪指令、宏指令以及规定的格式书写程序的语言称为( )A。

汇编语言 B.高级语言 C。

机器语言 D.低级语言二、填空题(每空1分,共20分)1.在8086/8088汇编语言中,有五条串操作指令,其中搜索字符串指令的助记符是______。

2.通常所说的计算机系统包括________和________两大部分。

汇编语言程序设计试卷和答案

汇编语言程序设计试卷和答案

汇编语言程序设计试卷一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题1分,共20分)1.十六进制数88H,可表示成下面几种形式,请找出错误的表示()。

① 无符号十进制数136② 带符号十进制数-120③ 压缩型BCD码十进制数88④ 8位二进制数-8的补码表示2.指令指针寄存器是()。

① IP② SP③ BP④ PSW3.当执行指令ADD AX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF=1,下面的叙述正确的是()。

① 表示结果中含1的个数为偶数② 表示结果中含1的个数为奇数③ 表示该数为偶数④ 表示结果中低八位含1的个数为偶数4.完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是()。

① MOV AL,00H② AND AL,00H④ SUB AL,AL5.下列指令执行后总是使CF=0,OF=0的是()。

① AND② NEG③ NOT④ INC6.完成同指令XCHG AX,BX相同功能的指令或指令序列是()。

① MOV AX,BX② MOV BX,AX③ PUSH AXPOP BX④ MOV CX,AXMOV AX,BXMOV BX,CX7.设AH=0,AL=06H,BL=09H,执行指令ADD AL,BLAAA之后,其结果应是()。

① AH=01,AL=05② AH=1 AL=15③ AH=0 AL=0FH④ AH=0 AL=058.设AL=0B4H,BL=11H,指令“MUL BL”和指令“IMUL BL”分别执行后OF,CF的值为② OF=1,CF=1③ OF=0,CF=0④ OF=0,CF=19.在串操作指令前使用重复前缀指令REPE,终止串的重复操作条件是()。

① CX=0且ZF=0② CX=0且ZF=1③ CX=0或ZF=0④ CX=0或ZF=110.下面指令中,合理而有意义的指令是()。

① REP LODSB② REP SCASB③ REP CMPSB④ REP MOVSB11.在汇编语言程序中,对END语句的叙述正确的是()。

计算机组成原理与汇编语言程序设计期末试题ABC三卷及答案

计算机组成原理与汇编语言程序设计期末试题ABC三卷及答案

《计算机组成原理与汇编语言》课程试题A卷一、填空题(每空格1 分共 28 分)1.8位二进制补码所能表示的十进制整数范围是()至(),前者的二进制补码表示为(),后者的二进制补码表示为()。

2.每条指令由两部分组成,即()部分和()部分。

3.微程序顺序控制常用的两种方式是()方式和()方式。

4.8086CPU从结构上可以分为()单元和()单元。

5.半导体动态RAM靠()原理存贮信息,而半导体静态RAM靠()原理存贮息。

6.已知字符A的ASCII码为(),则字符B的ASCII码为(),字符D的ASCII码为()。

7.8086CPU具有()根地址线,直接寻址能力可达()。

8.运算器的主要功能是进行()。

9.通常I/O控制方式可分为5种,即()方式、()方式、和()方式、()方式、()方式。

10.一个源程序中可以包含代码段、()段及()段。

其中代码段是源程序中必不可少的,其它两个段可有可无。

11.标号和变量所具有的三种属性分别为()、()和()属性。

二、判断题(每小题3分共24)12.()在数字计算机中所以采用二进制是因为二进制的运算最简单。

13.()计算机表示的数发生溢出的根本原因是计算机的字长有限。

14.()表示定点数时,若要求数值0在计算机中唯一地表示为全0,应采用补码。

15.()CRC校验码的生成和检验大多采用软件实现。

16.()外(辅)存比主存的存储容量大、存取速度快。

17.()动态RAM和静态RAM都是易失性半导体存储器。

18.()Cache的功能全部由硬件实现。

19.()LCD显示器没有背景光源也能工作。

三、单项选择题:(每小题 3分,共 30 分)20.主机、外设不能并行工作的方式()。

A.程序查询方式 B.中断方式 C.通道方式21.在单独(独立)编址下,下面的说法是()是对的。

A.一个具体地址只能对应输入输出设备B.一个具体地址只能对应内存单元C.一个具体地址既可对应输入输出设备,也可对应内存单元D.只对应内存单元或只对应I/O设备22.在关中断状态,不可响应的中断是()。

烟台大学《汇编语言程序设计》期末考试复习题及参考答案

烟台大学《汇编语言程序设计》期末考试复习题及参考答案
A. 02120H
B. 03200H
C. 20120H
D. 21200H
答 案:C
48、下列指令中不能将AX清0的指令是( )。(2分)
A. SUB AX,AX
B. TEST AX,0
C. XOR AX,AX
D. AND AX,0
答 案:B
49、设AL=0A8H,CX=2,CF=1,执行RCLAL,CL指令后,AL中的值为( )(2分)
A. 80H
B. 160H
C. 80
D. 160
答 案:D
3、设AL=0AH,下列指令执行后能使AL=05H的是( )(2分)
A.NOT AL
B.AND AL,0FH
C.XOR AL,0FH
D.OR AL,0FH
答 案:C
4、CPU要访问的某一存储单元的实际地址称(2分)
A.段地址
B.偏移地址
C.物理地址
CBW
(2分)
A. AX=0FF82H
B. AX=8082H
C. AX=0082H
D. AX=0F82H
答 案:A
31、下面的数据传送指令中,错误的操作是( )(2分)
A. MOV SS:(BX+DI),1000H
B. MOV DX,1000H
C. MOV WORDPTR(BX),1000H
D. MOV DS,2000H
add ax,0f510h
A. of=1
B. cf=1
C. sf=1
D. zf=1
答 案:C
12、JMPWORDPTR(DI)的源操作数的物理地址是( )(2分)
A. 16D×(DS)+(BX)+(SI)

(完整)汇编语言程序设计试卷2答案,推荐文档

汇编语言程序设计试卷2答案注意:答案全部写在最后一张试卷纸上,要求表明题号,字迹清楚,答在试卷上不给分一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题2分,共20分)1.十六进制数88H,可表示成下面几种形式,请找出错误的表示()。

(A) 无符号十进制数136(B) 带符号十进制数-120(C) 压缩型BCD码十进制数88(D) 8位二进制数-8的补码表示2.指令指针寄存器是()。

(A) IP(B) SP(C) BP(D) PSW3.当执行指令ADD AX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF=1,下面的叙述正确的是()。

(A) 表示结果中含1的个数为偶数(B) 表示结果中含1的个数为奇数(C) 表示该数为偶数(D) 表示结果中低八位含1的个数为偶数4.完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是()。

(A) MOV AL,00H(B) AND AL,00H(C) XOR AL,AL(D) SUB AL,AL5.下列指令执行后总是使CF=0,OF=0的是()。

(A) AND(B) NEG(C) NOT(D) INC6.完成同指令XCHG AX,BX相同功能的指令或指令序列是()。

(A) MOV AX,BX(B) MOV BX,AX(C) PUSH AXPOP BX(D) MOV CX,AXMOV AX,BXMOV BX,CX7.设AH=0,AL=06H,BL=09H,执行指令ADD AL,BLAAA之后,其结果应是()。

(A) AH=01,AL=05(B) AH=1 AL=15(C) AH=0 AL=0FH(D) AH=0 AL=058.设AL=0B4H,BL=11H,指令“MUL BL”和指令“IMUL BL”分别执行后OF,CF的值为()。

(A) OF=1,CF=0(B) OF=1,CF=1(C) OF=0,CF=0(D) OF=0,CF=19.在串操作指令前使用重复前缀指令REPE,终止串的重复操作条件是()。

07级1-2班《汇编语言程序设计》期末考试卷(A卷,彭玄璋)

2008-2009学年第二学期 计算机科学学院07级(1)(2)班《汇编语言程序设计》期末考试卷 (A 卷)2、此试卷适用于计算机科学与技术本科专业。

一、填空题(本题共10小题,每个空1分,共20分) 1、已知存储器某单元地址表示为2314H :4132H ,则它的偏移地址= ,物理地址= 。

2、8086有 根地址线,可寻址存储空间为 。

3、一个字存入堆栈时,堆栈指针SP 修正;从堆栈中取出一个字时,SP 修正,SP 总是指向 。

4、由汇编程序在汇编过程中执行的指令为 。

5、下面是对DOS 功能调用方法的简单说明: (1)在AH 寄存器中存入所要调用功能的 ;(2)根据所调用功能的规定设置 ;(3)用 指令转入子程序入口。

(4)相应的子程序运行完后,可以按规定取得 。

6、与LEA BX ,TAB 等效的指令语句是 。

7、汇编语言程序设计有 、 和 等三种基本——————————————装————————————————订————————————————线————————————————————————————————结构形式。

8、设字节单元(01001H)=12H, (01002H)=45H, (01003H)=78H, 则字单元(01002H)= 。

9、当标志位____ _=1时表示无符号数运算产生溢出;而当标志位______=1是表示带符号数运算产生溢出。

10、宏定义开始用的伪指令是______________。

二、选择题(本题共10小题,每题1分,共10分)1.MOV SI , ES:[DI+BX]指令,源操作数的寻址方式是()A、寄存器相对寻址B、寄存器间接寻址C、基址加变址寻址D、相对的基址加变址寻址2.指令指针寄存器是()。

A、 IPB、 SPC、 BPD、 PSW3.可用作寄存器间接寻址或基址、变址寻址的地址寄存器,正确的是()。

A、AX,BX,CX,DXB、DS,ES,CS,SSC、SP,BP,IP,BXD、SI,DI,BP,BX4.完成将累加器AL 清零,并使进位标志CF 清零,下面错误的指令是( )。

汇编语言期末考试试题及答案

汇编语言模拟试题及答案一,单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题1分,共20分) ﻫ1.指令JMP FAR PTR DONE属于参考答案为:CA.段内转移直接寻址B.段内转移间接寻址ﻫC.段间转移直接寻址ﻫD.段间转移间接寻址ﻫ[解析]略ﻫ 2.下列叙述正确的是参考答案为:CﻫA.对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMPS指令B.对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CMP指令C.对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JNL 指令D.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/JNB指令[解析]对于无符号数和有符号数的比较都采用CMP指令;ﻫCMPS指令是串比较指令;对两个无符号数的条件转移指令应是:JAE、JNB、JBE、JNA;对两个有符号数的条件转移指令应是:JGE、JNL、JLE、JNG.ﻫ3.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是参考答案为:CA.12CSBH ﻫB.12B6BHC.12C59HD.12BFEH ﻫ[解析]末字与首字相隔(128-1=)127个字,且每个字占用2个字节,因此末字单元的物理地址应为: ﻫ首字单元的物理地址+(128-1)×2ﻫ即 12ABH×10H+00ABH+(128-1)×2=12C59H.4.在下列指令的表示中,不正确的是参考答案为:CA.MOV AL,[BX+SI]B.JMP SHORT DONIC.DEC [BX]D.MUL CLﻫ[解析]当只有一个存储器操作数时,这个操作数的类型不明确,例如选项C中的[BX],没有明确的说明访问该存储单元的类型,此时存储器操作数就必须需用类型说明,如ﻫDEC BYTE PTR [BX]或 DEC WORD PTR [BX]ﻫ但是在题目的选项C中,没有指出存储器操作数类型,所以该指令是不正确的;而其它选项中的指令均是正确的。

(完整)汇编语言期末考试试题及答案,推荐文档

汇编语言模拟试题及答案一,单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题1分,共20分)1.指令JMP FAR PTR DONE属于参考答案为:CA.段内转移直接寻址B.段内转移间接寻址C.段间转移直接寻址D.段间转移间接寻址[解析]略2.下列叙述正确的是参考答案为:CA.对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMPS指令B.对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CMP指令C.对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JNL 指令D.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/JNB 指令[解析]对于无符号数和有符号数的比较都采用CMP指令;CMPS指令是串比较指令;对两个无符号数的条件转移指令应是:JAE、JNB、JBE、JNA;对两个有符号数的条件转移指令应是:JGE、JNL、JLE、JNG。

3.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是参考答案为:CA.12CSBHB.12B6BHC.12C59HD.12BFEH[解析]末字与首字相隔(128-1=)127个字,且每个字占用2个字节,因此末字单元的物理地址应为:首字单元的物理地址+(128-1)×2即 12ABH×10H+00ABH+(128-1)×2=12C59H。

4.在下列指令的表示中,不正确的是参考答案为:CA.MOV AL,[BX+SI]B.JMP SHORT DONIC.DEC [BX]D.MUL CL[解析]当只有一个存储器操作数时,这个操作数的类型不明确,例如选项C中的[BX],没有明确的说明访问该存储单元的类型,此时存储器操作数就必须需用类型说明,如DEC BYTE PTR [BX] 或 DEC WORD PTR [BX]但是在题目的选项C中,没有指出存储器操作数类型,所以该指令是不正确的;而其它选项中的指令均是正确的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

【汇编语言程序设计】期末考试-试卷及参考答案执行上述两条指令后,正确的结果就是( B )。

A.(AX)=1001H;B.(AX)=0FFFH;C.(AX)=1000H;D.(AX)=0111H。

6.串指令中的目的操作数地址一定就是由____A_ _提供。

( )A.ES:[DI] ;B.SS:[BP];C.DS:[SI] ;D.CS:[IP]。

7.将DX的内容除以2,正确的指令就是( C )。

A.DIV 2 ;B.DIV DX,2 ;C.SAR DX,1;D.SHL DX,1。

8、用户为了解决自己的问题,用汇编语言所编写的程序,称为( B )。

A.目标程序;B.汇编语言源程序;C.可执行程序;D.汇编程序。

9.用一条指令仅实现将AX←BX+SI的方法就是( D )。

A.XCHG AX,[BX][SI] ;B.MOV AX,[BX+SI];C.LEA AX,BX[SI] ;D.LEA AX,[BX][SI]。

10.设SP初值为2000H,执行指令“PUSH AX”后,SP的值就是( C )。

A.1FFFH;B.1998H;C.1FFEH;D.2002H。

1、A2、 C3、A4、D5、B6、A7、C8、B9、D 10、C二、指出下列指令的出错原因,并改正。

(每小题2分,共12分)1.MOV BX,DL;操作数类型不匹配,改正为:MOV BL,DL 或MOV BX,DX2.MOV CS,AX;代码段寄存器CS不能作目的操作数,改正为MOV DS,AX3.ADD AX,DS;段寄存器DS的内容不能作为加法指令的操作数,改正为MOV BX,DSADD AX,BX4.TEST BX,[CX];不能使用CX实现寄存器间接寻址,改正为MOV SI,CXTEST BX,[SI]5.SUB [BX],[BP+SI];两个操作数不能同为存储器操作数,且两个操作数的数据类型不确定,改正为:MOV AX,[BX]SUB AX,[BP+SI]或:MOV AL,[BX]SUB AL,[BP+SI]6.SHL DX ;没有给出移位次数,改正为SHL DX,1或 SHL DX,CL三、程序填空题(注意:每空只能填一条指令,并注释说明所填指令的作用!每空3分,共18分) 1.在表TABLE处存放着N个无符号字节数,求表中前10个字节数的总与并保存在AX寄存器中。

如果总与值超过AX寄存器的容量,则置AX寄存器内容不变。

请在程序中的空格处填入适当指令使其完整。

LEA BX,TABLEMOV CX,10MOV SUM,AX ;将AX的原值保存在SUM单元中MOV AL,00HMEXT:(1)ADD AL,[BX] ; 实现将表TABLE中的数据按字节累加到AL中ADC AH,0JNC DONE(2)MOV AX,SUM ; 总与值超过AX寄存器的容量,恢复AX的原值JC EXITDONE:INC BX(3)LOOP NEXT ; 将计数器CX减1,并判断就是否继续下一次循环EXIT:HLT2.BUFFER为起始地址的存储区域中存放有100个字节数据,现将其首、尾颠倒过来,重新排放这100个字节数据。

请在程序中的空格处填入适当的指令使其完整。

MOV CX,32H ;循环50次LEA SI,BUFFERMOV DI,SI(1) ADD DI,99 ;DI指向最后一个字节数据的存储单元的偏移地址NEXT:MOV AL,[SI](2) XCHG AL,[DI];交换SI与DI所指向单元的内容MOV [SI],AL(3) INC SI ;使指针SI加1,指向下一个字节的数据DEC DILOOP NEXTHLT四、程序分析题(每小题4分,共20分)1.设(AX)= X,X就是无符号数且0≤X< 6000,分析下面程序段,回答问题;SHL AX,1 ;实现X乘2MOV BX,AXSHL AX,1SHL AX,1ADD AX,BX(1)该程序段的功能就是什么?实现无符号数X乘10,结果存放在AX寄存器中。

——2分(2)该程序段执行完后,(AX)= 10X ,(BX)= 2X 。

——2分2.现有一子程序段:SUB1 PROCTEST AL,80HTEST BL,80H JNE EXITO JMP XCHANGE PLUS: TEST BL,80H JE EXITO XCHANGE:XCHG AL,BL EXITO: RET SUB1 ENDP试回答:(1)子程序的功能就是什么?答:子程序的功能就是判别AL 与BL 中的数就是否为异号数,当为异号时交换,否则不变。

(2)若调用子程序前(AL)=9AH,(BL)=77H,则返回主程序时,(AL)=__77H____,(BL)=_9AH__。

3. 现有如下程序段:DATA SEGMENTORG 0020HDA1 DW 12H,23HDA2 DB 11H,21HDA3 DB 31H,32H DA4 EQU $-DA3 DA5 EQU 1234HDATA ENDS4. 阅读如下程序:ADRR DB XXH,XXH,……,XXH;定义的字节数组元素 NUM EQU $-ADRR RET_VLAUE DW ?…MOV CX,NUM MOV BX,-1NEXT: INC BXCMP ADRR[BX],0 LOOPNZ NEXT JZ DONE MOV BX,OFFHDONE: MOV RET_VLAUE,BXHLT请问:(1)该程序完成的功能就是什么?功能:在以ADRR 为起始地址的数组中,查找第一个就是0的数据。

(2)程序执行后指出RET_VLAUE 单元中的内容就是什么?若找到,则将第一个就是0的数据在数组中的偏移量送入RET_VLAUE 单元中;若无0数据,则将0FFH 送入RET_VLAUE 单元中。

5. 阅读如下程序段,回答所提出的问题,假定X 1,X 2,…,X N 为无符号数。

请回答:(1) 该程序段占有的存储单元字节数就是多少?画出所分配的存储区的示意图、 答:8个字节, 0020H 12H DA1 00H 23H000024H 11H DA2 21H 0025H 31H DA3 32H (2) 符号名DA4的值就是多少?符号名DA5的值就是多少?答:DA4=2,DA5=1234HBLOCK DW X1,X2,…,X NCOUNT EQU ($-BLOCK)/2RESULT DW COUNT,?LEA BX,BLOCK-2MOV CX,RESULTXOR AX,AXGO_ON:ADD BX,2CMP AX,[BX]JAE NEXTMOV AX,[BX]NEXT: LOOP GO_ONMOV RESULT+2,AX程序段执行完,回答下述问题:RESULT+2字存储单元的内容= MAX(X1,X2,…,X N ) ;BX = 100H+2×(COUNT-1) ;程序循环次数 = COUNT 。

五、编写程序(30分)1.编写一程序,在letter为首地址的26个单元中依此存放字母‘A’、得分评阅人‘B’、……‘Z’。

(本小题8分)data SEGMENTletter DB 26 DUP(?)count EQU $-letterdata ENDScode SEGMENTASSUME cs:code,da:datastart: mov ax,datamov ds,axmov cx,countlea si,lettermov al,‘A’next: mov [si],alinc alinc siloop nextmov ah,4chint 21hcode endsend start2.以Buffer为首地址的存储区,存放有长度为N有符号字数组,编写一程序求出其中负数的平均值(所有负数的与>-32768),并存放在M_average单元中。

(本小题10分)data SEGMENTBuffer DW XXXX,XXXX,……,XXXX;N个字count EQU ($-Buffer)/2M_average dw ?data ENDSASSUME cs:code,da:data start: mov ax,data mov ds,ax mov cx,countlea si, Bufferxor ax,ax ;存负数的与mov bx,ax ;存负数的个数next: test word ptr [si],8000Hje go_on add ax,[si] inc bx go_on: add si,2 loop next3.从键盘接收一串不多于99个字符的字符串,对其进行分类统计,显示其中数字字符个数、大写英文字母个数、小写英文字母个数、以及其她字符的个数。

要求使用子程序结构;数字字符的ASCII 码为30H ……39H 、大写英文字母的ASCII 码为41H ……5AH 、小写英文字母的ASCII 码为61H ……7AH 。

(本小题12分)data SEGMENTMSG DB 0DH,0AH,‘输入一串字符:$’ MSG1 DB 0DH,0AH,‘大写字母个数:$’ MSG2 DB 0DH,0AH,‘小写字母个数:$’ MSG3 DB 0DH,0AH,‘数字符号个数:$’ MSG4 DB 0DH,0AH,‘其它符号个数:$’ BUFFER DB 99 DB 0DB 99 DUP(?)BIG DB 0 ;大写字母个数 LITTLE DB 0 ;小写字母个数 DIG DB 0 ;数字符号个数 OTHER DB 0 ;其它符号个数 data ENDS code SEGMENTASSUME cs:code,da:data start: mov ax,data mov ds,ax lea dx,MSGmov ah,9 ;9号功能调用显示提示信息 int 21hlea dx,BUFFERmov ah,10 ;10号功能调用从键盘接收一串字符 int 21hmov cl,BUFFER+1;实际从键盘接收字符个数 mov ch,0lea si,BUFFER+2again: cmp byte ptr [si],30Hjb otherscmp byte ptr [si],39H jbe digitalscmp byte ptr [si],41H jb otherscwd idiv bxmov M_average,ax ;存负数的平均值 mov ah,4ch int 21hdata ends end startjbe bigscmp byte ptr [si],61Hjb otherscmp byte ptr [si],7AHjbe littlesothers: inc OTHERjmp okdigitals:inc DIGjmp oklittles: inc LITTLEjmp okbigs: inc BIGok: inc siloop againlea dx,MSG1mov bh,BIGcall dispdeclea dx, MSG2mov bh,LITTLEcall dispdeclea dx, MSG3mov bh,DIGcall dispdeclea dx, MSG4mov bh, OTHERcall dispdecmov ah,4chint 21h;DX待显示数据说明,BH待显示数据<100 dispdec PROCmov ah,9int 21hmov al,bhxor ah,ahaammov dl,ahmov dh,aladd dl,30Hmov ah,2int 21Hmov dl,dhadd dl,30Hmov ah,2int 21Hretdispdec ENDPcode ENDSend start。

相关文档
最新文档