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

合集下载

06级汇编语言程序设计期末考试(A卷)参考答案及评分标准

06级汇编语言程序设计期末考试(A卷)参考答案及评分标准

计算机系06级本科《汇编语言程序设计》试题A参考答案及评分标准一、填空题(每空1分,共 25 分)1、AND_AX,0FFCFH;XOR BL,0FH。

2、REP;REPE/REPZ;REPNE/REPNZ。

3、字节;字;5;20。

4、CLD;05、ASM;OBJ;EXE。

6、20A8H;11488H。

7、CF;OF。

8、SP;SS。

9、4512H;7845H。

10、循环初始部分;循环体部分;循环控制部分。

二、选择题(每题1分,共15分)1、C;2、A;3、D;4、D;5、C;6、C;7、B;8、C;9、D;10、C;11、A;12、B;13、B;14、D;15、B。

三、简答题(每题1分,共15分)1.答:(1)利用文本文件编辑工具编辑源文件(.ASM);(1分)(2)用汇编程序将源文件(.ASM)转换为目标文件(.OBJ);(2分)(3)用链接程序将目标文件(.OBJ)转换为可执行文件(.EXE);(1分)(4)利用DEBUG软件调试与运行。

(1分)2、答:由三个部分组成。

(1分)(1)循环初始化部分,其作用:为开始循环准备必要的条件,如循环次数、循环体需要的初始值等。

(1分)(2)循环体部分,其作用:完成具体操作或运算;并为执行下一次循环而修改某些参数,如地址指针、计数器等。

(2分)(3)循环控制部分,其作用:判断循环条件是否成立,决定循环是继续还是结束。

(1分)3、答:(1)LEA SI,D1(2)MOV SI,OFFSET D1(3)MOV SI,D2评分细则:上述三种方法无先后顺序。

三种方法,对1个得2分,对2个得3分,全对5分。

四、请说明下列语句的错误(每小题2分,共10分)1.SUB 0FFH ,BX;错误:立即数不能作目的操作数2.MOV DX,AL;错误:两个操作数类型不匹配。

3.ADD BUF1,BUF2;错误:两个操作数不能同时为存储器操作数。

4.MOV AX, 20H[BX][BP];错误:源操作数寻址方式中BX和BP不能一起搭配使用5、MOV DS,1000H错误:立即数不允许直接传送到段寄存器DS。

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

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

汇编语言程序设计期末考试-试卷及参考答案【汇编语言程序设计】期末考试-试卷及参考答案执行上述两条指令后,正确的结果是( 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寄存器中。

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

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

汇编语言程序设计试卷一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题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③ XOR AL,AL④ 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=0② 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.下面指令中,合理而有意义的指令是()。

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

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

2010—2011学年度第(1)学期期末考试试卷科 目:汇编语言程序设计 (A )卷考试形式:闭卷 考试时间: 120 分钟系别、班级: 姓名: 学号:一、单项选择题:(本题共20小题,每小题1分,共20分) 1. 设DS=5788H ,偏移地址为94H ,该字节的物理地址是 。

(A) 57974H (B) 57914H (C) 5883H (D) 58ECH 2. IP 指令指针寄存器是属于 。

(A) 通用寄存器 (B) 段寄存器(C) 变址寄存器 (D) 控制寄存器3. 下面有语法错误的指令是 。

(A) ADD AL,AH(B) ADD [BX+3],AL (C) ADD AH,[DI](D) ADD [BX],DA1(DA1是变量名)4. 完成对DX 的有符号数除以2的指令是 。

(A) IDIV 2 (B) SAR DX,1 (C) DIV 2 (D) RCR DX,1 5. 使进位位置1的指令是 。

(A) CLC (B) CMC (C) STC(D) NOP 6. 设AL=-100,要使AL=100应执行的指令是 。

(A)NEG AL (B)NOT AL(C)INC AL (D)DEC AL7.在条件转移指令中,结果为负数则转移的指令是。

(A)JNS (B)JZ(C)JS (D)JC8.下面的XCHG指令中,语法正确的是。

(A)XCHG AL,DS (B)XCHG BH,[BX](C)XCHG AL,OFH (D)XCHG BUF1,BUF29.一条指令中目的操作数不允许使用的寻址方式是。

(A)寄存器寻址(B)立即数寻址(C)变址寻址(D)直接寻址10.设SP=1FFFH,执行下列指令后,SP寄存器的值是。

┇POPFPUSH BXPUSH BX┇(A)2000H (B)2002H(C)1FFCH (D)1FFEH11.LES SI ,[2000H]指令的全部功能是。

(A)把地址2000H送SI(B)把地址2000H字单元的内容送SI(C)把地址2000H字单元内容送SI,把2002H字单元内容送ES(D)把地址2000H字单元内容送ES,把2002H字单元内容送SI12.设AL=04H,CL=0F8H,执行MUL CL指令后,结果是。

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

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

《汇编语言程序设计》期末复习题及答案一、选择(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=18610,B=2738,C=0BB16,把这三个数看成无符号数,则它们之间的关系是( 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≠0且ZF=09.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,执行“SAR 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=0,(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 中。

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

烟台大学《汇编语言程序设计》期末考试复习题及参考答案
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)

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

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

汇编语言期末考试试题及答案精品文档汇编语言模拟试题及答案一,单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题1分,共20分)1.指令JMPFARPTRDONE属于参考答案为: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,请给出这个数据区最末一个字单元的物理地址是参考答案为:C A.12CSBHB.12B6BHC.12C59HD.12BFEH[解析]末字与首字相隔(128-1=)127个字,且每个字占用2个字节,因此末字单元的物理地址应为:首字单元的物理地址+(128-1)×2即12ABH×10H+00ABH+(128-1)×2=12C59H。

4.在下列指令的表示中,不正确的是参考答案为:CA.MOVAL,[BX+SI]B.JMPSHORTDONIC.DEC[BX]D.MULCL[解析]当只有一个存储器操作数时,这个操作数的类型不明确,例如选项C 中的[BX],没有明确的说明访问该存储单元的类型,此时存储器操作数就必须需用类型说明,如DECBYTEPTR[BX]或DECWORDPTR[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中,没有指出存储器操作数类型,所以该指令是不正确的;而其它选项中的指令均是正确的。

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

【汇编语言程序设计】期末考试-试卷及参考答案
MOVBX,DS ADDAX,BX 4.TESTBX,[CX];不能使用 CX 实现寄存器间接寻址,改正为 MOVSI,CX TESTBX,[SI] 5.SUB[BX],[BP+SI];两个操作数不能同为存储器操作数,且两个操作数的数据类型 不确定,改正为:MOVAX,[BX] SUBAX,[BP+SI] 或:MOVAL,[BX] SUBAL,[BP+SI] 6.SHLDX;没有给出移位次数,改正为 SHLDX,1 或 SHLDX,CL 三、程序填空题(注意:每空只能填一条指令,并注释说明所填指令的作用!每空 3 分, 共 18 分) 1.在表 TABLE 处存放着 N 个无符号字节数,求表中前 10 个字节数的总和并保存在 AX 寄存器中。如果总和值超过 AX 寄存器的容量,则置 AX 寄存器内容不变。请在程序 中的空格处填入适当指令使其完整。 LEA?BX,TABLE?
JC?EXIT
DONE:INC?BX
(3)LOOPNEXT;将计数器 CX 减 1,并判断是否继续下一次循环
EXIT:HLT
2.BUFFER 为起始地址的存储区域中存放有 100 个字节数据,现将其首、尾颠倒过来, 重新排放这 100 个字节数据。请在程序中的空格处填入适当的指令使其完整。 MOV?CX,32H;循环 50 次
letterDB26DUP(?) countEQU$-letter
dataENDS codeSEGMENT ASSUMEcs:code,da:data start:movax,data
movds,ax movcx,count leasi,letter moval,‘A’ next:mov[si],al
movah,9;9 号功能调用显示提示信息
int21h

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

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

《汇编语言程序设计》期末考试-试卷及答案一、选择题(每题1分,共20分)1、下面存储器中属于辅助存储器的是:(CDE)A.RAMB.ROMC.磁盘D.光盘E.硬盘2、通常说计算机的内存为32M、64M或128M指的是:(C)A.RAM的容量B.ROM的容量C.RAM和ROM的容量D.硬盘的容量3、下面的说法正确的是:(AE)A.存储器是计算机中存放程序和数据的记忆部件。

B.存储器中的信息被读出后即从存储器中消失。

C.存储器中如果已经存有数据,则不能再向其中写入新的数据。

D.半导体存储器的存取速度比CD-ROM的存取速度要慢。

E.辅助存储器需要CPU通过I/O接口访问,因而速度较慢。

4、下面属于系统软件的有(A)A. WINDOWSB. MASMC. Visual C++D. WORD5. 汇编语言的优点不包括__D___。

A 直接有效地控制硬件B 生成的代码序列短小C 运行速度快D 编程容易6. 下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是( AB)A、AX,BX,CX,DXB、BX,BP,SI,DIC、SP,IP,BP,DXD、CS,DS,ES,SS7. 可用作寄存器间接寻址或基址、变址寻址的地址寄存器,正确的是( D)。

A.AX,BX,CX,DXB.DS,ES,CS,SSC.SP,BP,IP,BXD.SI,DI,BP,BX8.某存储单元的物理地址是12345H,可以作为它的段地址有(D )A.2345H B.12345HC.12340H D.1234H9、循环指令LOOPNZ终止循环的条件是(B )。

A、CX=0,且ZF=0B、CX=0,或ZF=1C、CX≠0,且ZF=0D、CX≠0,或ZF=110.执行下列指令后,正确的结果是(B )。

MOV AL,100MOV BL,-2A、 AL=100H BL=02HB、 AL=64H BL=0FEHC、 AL=64H BL=82HD、 AL=100H BL=0FEH11、执行INC指令除对SF、ZF有影响外,还要影响的标志位是( A)。

汇编语言 期末试题和答案 三套 有详细解释

汇编语言 期末试题和答案 三套 有详细解释

汇编语言期末试题和答案三套有详细解释汇编语言期末试题和答案三套有详细解释一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1.cpu要访问的某一存储单元的实际地址称()a.段地址b.偏移地址c.物理地址d.逻辑地址2.某存储单元的物理地址就是12345h,可以做为它的段地址存有()a.2345hb.12345hc.12340hd.1234h3.执行后使bx=0的同时也使cf=0,of=0的指令是()a.xorbx,bxb.orbx,bxc.andbx,bxd.cmpbx,bx4.循环控制指令loopnz/loopne掌控循环继续执行的条件就是()a.cx≠0且zf=1b.cx≠0且zf=0c.cx≠0或zf=1d.cx≠0或zf=05.在执行daa指令,当高四位bcd码校正时产生进位,如要把此进位值送入ah中,对这进位值的操作应是()a.daa校正指令的功能已自动加到ah中b.进位值在af中,校正后根据af内容再加在ah中c.进位值在cf中,校正后根据cf内容再加在ah中d.位次值在al最低位上,校正后根据al最低位内容再加在ah中6.and,or,xor,not为四条逻辑运算指令,下面的解释正确的是()a.指令xorax,ax执行后,ax内容不变,但设置了标志位b.指令ordx,1000h执行后,将dx最高位置1,其余各位置0c.指令andax,ofh执行后,分离出al低四位d.notax,执行后,将ax清07.在继续执行以下指令时,须要采用段寄存器ds的指令就是()a.stoswb.addal,clc.negbxd.incda[bx]8.无论bh中原有的数是奇数或偶数,若要使bh中的数一定为奇数,应执行的指令是()a.addbh,01hb.orbh,01hc.xorbh,01hd.testbh,01h9.完成对cl寄存器的内容乘以4的正确操作是()a.rolcl,1b.mul4rolcl,1c.shlcl,1d.movcl,2shlcl,1shlcl,cl10.下面各传输指令中,恰当的就是()a.mov[di],[si]b.mov[dx+di],alc.movwordptr[bx],0100hd.moval,bx11.汇编语言语句格式中对名字项的规定如下,请找出其中错误的说法()a.名字的第一个字符可以是大写英文字母及小写英文字母b.名字的第一个字符可以是字母、数字及、@、_c.名字的有效长度≤31个字符d.在名字中不允许出现$112.要实现使beta的值为56,应采用语句为()a.betadb56b.betadb56hc.betaequ56d.betaequ56h13.repzcmpsw指令,重复执行的终止条件是()a.cx=0或zf=0b.cx=0且zf=0c.cx=0或zf=1d.cx=0且zf=114.下面程序段执行后,al中的内容是()movax,8833haddal,ahdaaa.21b.21hc.0c1hd.0ddh15.比较两个带符号的数a、b,当a=b时程序转移,测试的条件为()a.zf=1b.zf=0c.sf=1d.sf=016.检查二个并无符号数的关系,若必须同时实现al≥bl时分支回去lop1处为,那么在“cmpal,bl”指令后应当与的分支指令就是()a.jnclop1b.jalop1c.jclop1d.jgelop117.在以下串成操作方式指令中,同时采用源串和目的串成地址指针的指令就是()a.stoswb.lodswc.scaswd.cmpsw18.设al=0ah,下列指令执行后能使al=05h的是()a.notalb.andal,0fhc.xoral,0fhd.oral,0fh19.da1dw?ab?,?cd?,?ef?,?gh?()┇movax,da1+3指令继续执行后ax中的内容就是a.?ef?b.?cd?c.?bc?d.?fc?20.使用dos系统功能调用时,使用的软中断指令是()a.int21b.int10hc.int16hd.int21h二、填空题(本大题共12空,每空0.5分后,共6分后)恳请在每小题的空格中填入恰当答案。

《汇编语言程序设计》考试练习题及答案

《汇编语言程序设计》考试练习题及答案

《汇编语言程序设计》考试练习题及答案一、单选题1. 计算机中存取信息或数据的最小单位为()A 、位B 、字节C 、字D 、双字答案:B2. 调用子程序的指令为()A 、CALLB 、RETC 、HLTD 、NOP答案:A3. DOS功能调用是通过()指令去调用DOS系统提供的软件中断处理程序A 、INT 21HB 、INT 23HC 、INT 12HD 、INT 11H答案:A4. 满足()时,CPU允许中断A 、IF=0B 、IF=1C 、DF=0D 、DF=1答案:B5. 完成对CL寄存器的内容乘以4的正确操作是()。

A 、ROL CL,1 ROL CL, 1B 、MUL 4C 、SHL CL, 1 SHL CL, 1D 、MOV CL , 2 SHL CL, CL答案:C6. 下面寄存器中可以分为两个独立8位寄存器的是()A 、AXB 、DIC 、CSD 、SI答案:A7. ()是用二进制编码的机器指令的集合及一组使用机器指令的规则,是CPU能直接识别的唯一语言。

A 、汇编语言B 、机器语言C 、JAVA语言D 、C语言答案:B8. 源程序模块结束语句为()A 、ORGB 、ENDC 、SEGMENTD 、START答案:B9. 8位补码表示的有符号数的表示范围是()A 、0~255B 、-128~+127C 、0~65535D 、-32768~+32767答案:B10. 在一段汇编程序中多次调用另一段程序,用宏指令比用子程序实现起来,下列说法正确的是()A 、占内存空间小,但速度慢B 、占内存空间大,但速度快C 、占内存空间相同,但速度快D 、占内存空间相同,但速度慢答案:B11. 与LEABX ,BUF指令完全等效的指令是()。

A 、MOV BX ,BUFB 、LDS BX ,BUFC 、MOV BX ,OFFSET BUFD 、MOV BX ,WORD PTR BUF答案:C12. 14的非压缩BCD码为()A 、00010100B 、01000001C 、0000000000010100D 、0000000100000100答案:D13. 要实现使BETA的值为56,应采用的语句是()A 、BETA DB 56B 、BETA DB 56HC 、BETA EQU 56HD 、BETA EQU 56答案:D14. ()不可以做目的操作数A 、立即数B 、寄存器C 、存储器操作数D 、累加器答案:A15. 计算机一般由中央处理器、存储器和输入/输出子系统组成,其中()可以存放程序、数据、信息及中间结果。

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

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

汇编语言模拟试题及答案一,单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题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分,共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,请给出这个数据区最末一个字单元的物理地址是参考答案为:C A.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分,共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即12ABHX 10H + OOABH +( 128 —1) X2 = 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中,没有指出存储器操作数类型,所以该指令是不正确的;而其它选项中的指令均是正确的。

汇编语言程序设计方案试卷及答案(AB卷)

汇编语言程序设计方案试卷及答案(AB卷)

2010—2011学年度第(1)学期期末考试试卷科 目:汇编语言程序设计 (A )卷考试形式:闭卷 考试时间: 120 分钟系别、班级: 姓名: 学号:一、单项选择题:(本题共20小题,每小题1分,共20分) 1. 设DS=5788H ,偏移地址为94H ,该字节的物理地址是 。

(A) 57974H (B) 57914H (C) 5883H (D) 58ECH 2. IP 指令指针寄存器是属于 。

(A) 通用寄存器 (B) 段寄存器 (C) 变址寄存器 (D) 控制寄存器 3. 下面有语法错误的指令是 。

(A) ADD AL,AH(B) ADD [BX+3],AL (C) ADD AH,[DI](D) ADD [BX],DA1(DA1是变量名)4. 完成对DX 的有符号数除以2的指令是 。

(A) IDIV 2 (B) SAR DX,1 (C) DIV 2 (D) RCR DX,1 5. 使进位位置1的指令是 。

(A) CLC (B) CMC (C) STC(D) NOP6. 设AL=-100,要使AL=100应执行的指令是 。

(A)NEG AL (B)NOT AL(C)INC AL (D)DEC AL7.在条件转移指令中,结果为负数则转移的指令是。

(A)JNS (B)JZ(C)JS (D)JC8.下面的XCHG指令中,语法正确的是。

(A)XCHG AL,DS (B)XCHG BH,[BX](C)XCHG AL,OFH (D)XCHG BUF1,BUF29.一条指令中目的操作数不允许使用的寻址方式是。

(A)寄存器寻址(B)立即数寻址(C)变址寻址(D)直接寻址10.设SP=1FFFH,执行下列指令后,SP寄存器的值是。

┇POPFPUSH BXPUSH BX┇(A)2000H (B)2002H(C)1FFCH (D)1FFEH11.LES SI ,[2000H]指令的全部功能是。

(A)把地址2000H送SI(B)把地址2000H字单元的内容送SI(C)把地址2000H字单元内容送SI,把2002H字单元内容送ES(D)把地址2000H字单元内容送ES,把2002H字单元内容送SI12.设AL=04H,CL=0F8H,执行MUL CL指令后,结果是。

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

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

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

每小题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. 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,80HJE PLUSTEST BL,80HJNE EXITOJMP XCHANGEPLUS: TEST BL,80HJE EXITOXCHANGE:XCHG AL,BLEXITO: RETSUB1 ENDP试回答:(1)子程序的功能是什么?答:子程序的功能是判别AL和BL中的数是否为异号(2)若调用子程序前(AL )=9AH ,(BL )=77H ,则返回主程序时,(AL)=__77H____,(BL)=_9AH__。

3. 现有如下程序段: DATA SEGMENTORG 0020H请回答:(1) 该程序段占有的存储单元字节数是多少?画出所分配的存储区的示意图. 答:8个字节,0020H 12H DA100HDA1 DW12H,23HDA2 DB11H,21HDA3 DB31H,32HDA4 EQU $-DA3DA5 EQU 1234HDATA ENDS4.阅读如下程序:ADRR DB XXH,XXH,……,XXH;定义的字节数组元素NUM EQU$-ADRRRET_VLAUE DW ?…MOV CX,NUMMOV BX,-1NEXT: INC BXCMP ADRR[BX],0LOOPNZ NEXTJZ DONEMOV BX,OFFHDONE: MOV RET_VLAUE,BXHLT请问:(1)该程序完成的功能是什么?功能:在以ADRR为起始地址的数组中,查找第一个是0的数据。

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

5.阅读如下程序段,回答所提出的问题,假定X1,X2,…,XN为无符号数。

ORG100HBLOCK DW X1,X2,…,XNCOUNT EQU ($-BLOCK)/2RESULT DW COUNT ,?LEA BX ,BLOCK-2 MOV CX ,RESULT XOR AX ,AXGO_ON :ADD BX ,2CMP AX ,[BX] JAE NEXT MOV AX ,[BX]NEXT : LOOP GO_ONMOV RESULT+2,AX程序段执行完,回答下述问题:RESULT+2字存储单元的内容= MAX (X 1,X 2,…,X N ) ;BX = 100H + 2×(COUNT-1) ; 程序循环次数=COUNT 。

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

(本小题8分) data SEGMENT letter DB 26 DUP(?)count EQU $-letter data ENDS code SEGMENTASSUME cs:code,da:data start: mov ax,data mov ds,ax mov cx,count lea si,letter mov al,‘A ’ next: mov [si],al inc al inc si loop next mov ah,4ch int 21h code ends得分 评阅end start2.以Buffer 为首地址的存储区,存放有长度为N 有符号字数组,编写一程序求出其中负数的平均值(所有负数的和>-32768),并存放在M_average 单元中。

(本小题10分)data SEGMENTBuffer DW XXXX,XXXX,……,XXXX ;N 个字 count EQU ($-Buffer )/2 M_average dw ? data ENDS code SEGMENTASSUME cs:code,da:data start: mov ax,data mov ds,ax mov cx,count lea si, Bufferxor ax,ax ;存负数的和mov bx,ax ;存负数的个数next: test word ptr [si],8000H je go_onadd ax,[si]cwdidiv bxmov M_average,ax;存负数的平均值 mov ah,4ch int 21h data endsend startinc bxgo_on: add si,2loop 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 99DB 0DB 99 DUP(?)BIG DB 0 ;大写字母个数LITTLE DB 0 ;小写字母个数DIG DB 0 ;数字符号个数OTHER DB 0 ;其它符号个数data ENDScode SEGMENTASSUME cs:code,da:datastart: mov ax,datamov ds,axlea 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],39Hjbe digitalscmp byte ptr [si],41Hjb otherscmp byte ptr [si],5AHjbe bigscmp byte ptr [si],61Hjb otherscmp byte ptr [si],7AHjbe littles others: 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,30H mov ah,2 int 21Hret dispdec ENDPcode ENDSend start。

相关文档
最新文档