(完整版)汇编语言程序设计试卷答案
- 格式:doc
- 大小:54.01 KB
- 文档页数:4
03《汇编语言程序设计》(总20页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--《汇编语言程序设计》习题答案一、单项选择题(本大题共170小题,每小题2分)1、在汇编语言程序中,对 END 语句的叙述正确的是( C )。
A、END 语句是一可执行语句B、END 语句表示程序执行到此结束C、END 语句表示源程序到此结束D、END 语句在汇编后要产生机器码2、将 DX 的内容除以 2,正确的指令是( C )A、DIV 2B、DIV DX,2C、SAR DX,1D、SHL DX,13、下列数值表达式和地址表达式中,错误的是( D )。
A、MOV AL,8*14+4B、MOV SI,OFFSET BUF+13C、MOV CX,NUM2-NUM1D、MOV CX,NUM2+NUM14、用来存放下一条将要执行的指令地址的寄存器是 ( B )A、SPB、IPC、BPD、CS5、要使串处理从低地址向高地址进行,应把标志位置为 ( D )A、IF=1B、TF=0C、DF=1D、DF=06、设SS=2050H,SP=0140H,则栈顶存贮单元的物理地址是( A )A、20640HB、2063EHC、2063FHD、21900H7、十进制数269变换为十六进制数是( C )。
A、10BB、10CC、10DD、10E8、8位的微型计算机系统是以16位来表示地址,则该微机系统有( C )个地址空间。
A、255B、65535C、65536D、10485769、8位有符号二进制数能表示的最大十进制数是( D )。
A、256B、255C、128D、12710、十六进制数88H,可表示成下面几种形式,请找出错误的表示( D )。
A、无符号十进制数136B、带符号十进制数-120C、压缩型BCD十进制数88D、8位二进制数-8的补码表示11、有一个数值152,它与十六进制数6A相等,那么该数值是( B )。
专升本《汇编语言程序设计》一、(共75题,共150分)1. 下列说法错误的是_________。
(2分)A.机器指令的形式包含操作码和地址码B.计算机只能够识别规定好的机器指令C.不同计算机系统之间的机器指令能够相互兼容D.汇编语言的主要操作和机器指令基本上一一对应标准答案:C2. 两个有符号数相减,通过标志位_________判断结果是否溢出。
(2分)标准答案:D3. 汇编语言和高级语言的比较,下列说法错误的是_________ (2分)A.汇编语言和高级语言都不能被机器直接识别B.完成同样的功能,汇编语言占据空间小C.高级语言可以使用变量,但汇编语言不行D.汇编语言中有类似于高级语言的宏功能标准答案:C4. 下列寄存器中,哪个寄存器不能供汇编程序直接访问________. (2分)标准答案:D5. 下列寄存器,哪个不能作基址寄存器________。
(2分)标准答案:C6. 设有关寄存器及存储单元的内容如下:则指令MOV AX, 1100H[BX][SI]执行完毕后,AX寄存器中的值是_________。
(2分)标准答案:A7. 常量的用途中,哪个说法是错误的_________。
(2分)A.可以作立即寻址的操作数B.也可作某些存贮器操作数的的位移量组成部分C.在数据定义伪指令语句中给变量赋初值D.可以作目的操作数标准答案:D8. 若(ECX)=0ABCD1234H (BL)=0E3H,则语句MOVSX ECX,BL执行后:(ECX)的值为_________。
(2分)标准答案:B9. 若(AX)=0FFFDH,则语句ADD AX,7FFFH执行后,下列说法正确的是_________。
(2分)A.(AX)=7FFCH,(OF)=1,(CF)=1B.(AX)=17FFCH,(OF)=1,(CF)=1C.(AX)=7FFCH,(OF)=0,(CF)=1D.(AX)=17FFCH,(OF)=0,(CF)=1标准答案:C10. 在语句INC SS:[BX]中,操作数使用的段寄存器是_________。
汇编语言程序设计试卷一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内,每小题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语句的叙述正确的是()。
《汇编语言程序设计》试题专业姓名成绩一、单项选择题(每1分,共15分).1将下列二进制数0111,1111,1111 转换为16进制数和10进制数是()A.07FFH 3021DB. 6FEH 1021DC. 07FFH 2012DD. 07FFH 2047D2. 在1BM Pc机的IN和OUT 指令中,I/o端口号通常是由Dx寄存器来提供的,但有时也可以在指令中用一个字节来表示端口号。
试问可以直接由指令指定的I/o端口号有多少个?( )A. 127DB.255DC. 256DD.128D3. 设MYDAT是一个字变量,下列指令中,错误的是()A.MOV BX,10100BB.MOV DS,AXC.ADD BX,[10100H]D.MOV BX,MYDAT[SI]4.设有关寄存器及存储单元的内容如下:(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100)=12H,(20102)=56H,(20103)=78H,(21200)=2AH,(21201)=4CH,(20202)=0B7H,(21203)=65H,试指出:MOV AX,1100h[BX]指令执行后,AX寄存器内是()A.5678HB.4C2AHC.2A4CHD.7856H5.一台微型计算机的字长为16位,如果采用字节编址,那么它可以访问的最大存储空间是多少字节( ),试用16进制数表示该机的地址范围()A.1M 0~FFFFFHB.64K 0~FFFFHC.128K 0~FFFFHD.128K –FFH~FFH6. 如果在一个程序段开始执行之前,(cs)=0A7F0H,(1P)=2B40H,试问该程序段的第一个字的物理地址是()A.BAA40HB.AAB40HC.AAA40HD.0D603H7.下列指令哪个是错误的(设OP1,OP2 是已经用DB定义的变量名)( )A.CMP BL,OP1B.MOV [BX],111001BC. INC OP2D.SAR AX,CL8.假定(DX)=10111001B,(CL)=05,(CF)=1试确定:RCL DL,CL 指令执行后,DX中的值是()A.00CEHB.009DHC.00B9HD.003BH9. 有符号定义语句如下:BUFF DB 1,2,3,‘123’EBUFF DB 0L EQU EBUFF - BUFF问L的值为多少( )A.6DB.7DC.3DD.5D.10. IBMPC机中下列那些寄存器可以用来存储存储器地址()A、BX,BP,SP,CXB、AX,SI,DI,DXC、BX,SI,DI,SPD、DX,SI,DI,SP11.下列指令中正确的是()A.MOV [BX],[SI]B.MOV AX,[SI][DI]C.MOV BX,OFFSET NAME[SI]D.MOV BYTE PTR [100],10012下列程序段执行后,寄存器BX中的内容是什么()MOV CL , 3MOV BX , 0B7HROL BX , 1RCR BX , CLA、0EDHB、0DEHC、0CDHD、0CCH13JB指令的测试条件是( )A. CF=0B. CF=1 C .OF∨CF=1 D.OF=114在DEBUG中()命令用来汇编一句汇编语言语句15 A 、A B、U C 、E D、D16. 指令STI 的功能是( )17(A)允许中断(B)不允许中断(C)允许单步(D) 不允许单步二.不定项选择题,漏错多选不得分。
汇编语言程序设计试卷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,终止串的重复操作条件是()。
河南大学《汇编语言程序设计》试卷(2017年至2018学年度第一学期)1、 填空题(每空1分, 共8题, 20分)2、 一般的计算机结构中, 其主要组成部分包括 、 、 和输入输出接口四个部分组成。
3、 发布各种操作命令、控制信号。
4、 是用户利用计算机及其所提供的系统软件、程序设计语言为解决各种实际问题而编写的程序。
5、 I/O 端口编址方式有 和 两种方式。
6、 总线是 的一组传输线。
7、 8086的总线接口部件BIU 由 、 、 、四大部分组成。
一、基本中断源有: 、 、 、、 故障报警请求中断 、 程序调试设置中断等。
二、当发生除法溢出时, OF= 。
1、 单项选择题(每题2分, 共10题, 20分)2、 指令指针寄存器是( )3、 A.BP B .SP C.IPD.PSW4、 可用作基址变址寻址或寄存器间接寻址的寄存器是( )A.AX, BX, CX, DXB.DS, ES, CS, SSC.SP, BP, IP, BXD.SI, DI, BP, BX设DS=1E4AH, 偏移地址为0056H, 该字节的物理地址为( )A.1E4A6HB.1E456HC.1E556HD.1E4F6H 下列4条指令中, 错误的指令是( )A.SUB CX, DXB 、MOV AX, SS:[DX]C.SHL AX, 1D.AX, [BP + SI]在串操作指令前使用重复前缀指令REPE, 终止串的重复操作条件是( )A.CX=0且ZF=0 B 、CX=0且ZF=1C.CX=0或ZF=0D.CX=0或ZF=1执行XLAT 指令时, 要将表的首地址和偏移地址分别存放的寄存器是 ( )5、 A.BX, ALB 、AX, BXC 、AX, BLD 、BL, AX6、 INC BYTE PTR [BX]指令中的操作数的数据类型是( )7、 A.双字 B.字C.字节 D .四字8、 指令JMP FAR PTR LOP1 属于( )A.段内转移直接寻址B.段内转移间接寻址C.段间转移直接寻址 D .段间转移间接寻址从键盘输入一个十进制2002, 将该数值以压缩BCD 码的存储形式保存到存储器中, 其存放的顺序是( )A.20, 02B.02, 20C.32, 30, 30, 32D.32, 30, 32, 30使用DOS 系统功能调用终止当前程序并返回调用程序, 应选用的指令是( )A. MOV AH, 01H B 、 MOV AH, 00H INT 21HINT 21HC. MOV AH, 4CHD. RETINT 21HINT 21H1、 简答题(每题5分, 共6题, 30分)2、 简述8位微处理器的各组成部分作用。
《汇编语言》试题(A4)及参考答案work Information Technology Company.2020YEAR专业级,学生姓名: 学号:2专业级,学生姓名: 学号: (3)考试科目:汇编语言程序设计4专业级,学生姓名: 学号: (5)考试科目:汇编语言程序设计6专业级,学生姓名: 学号: (7)考试科目:汇编语言程序设计8汇编语言试题(A)参考答案一:选择题(每题2分)1.B2.B3.B4.C5.C6.C7.B8.C9.A10.C二:填空题(每题2分)1. 0,5,52.55H3.04034.随机数5..ASM6.200FEH7.10108.169..OBJ10.00H三:简答题(每题5分)1.(1)用DOS 21H中断调用的功能调用4CH在用户程序结束后插入下面语句 MOV AH,4CH INT 21H (2)用BIOS中断调用20H 在用户程序结束后插入:INT 20H 2. FAR;段间调用。
NEAR;段内调用。
3.(1)无符号数乘2:SHL AX,1;RCL DX,1无符号数除2:SHR DX,1;RCR AX,1(2)有符号数乘2:SHL AX,1;RCL DX,1有符号数除2:SAR DX,1;RCR AX,14.MOV BX,OFFSET ADDNUMADD [BX]MOV AL,DS:[BX]5.(1)1200H(2)4C2AH(3)4C2AH(4)65B7H6.AX为地址[1200H]所指内容,AX 为1200H。
10四:编程题( 2题共30分)1.(10分)MOV AX,2E00HMOV DS,AXMOV BX,[0100H]MOV AX,[0100H+2]MOV DS,AXMOV AX,[BX]2.(20分)STACK SEGMENT PARA STACK ‘stack’ (5分)DB 64 DUP(0)STACK ENDSDATA SEGMENT (5分)STRING DB‘……$’RESULT DB 26 DUP(0)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA (5分) MAIN PROC FARSTART: MOV DX,DATAMOV DS,DXMOV CX,0FFH;255MOV AH,0MOV SI,0NEXT: MOV AL,STRING[SI] (5分)SUB AL,61HMOV DI,AXINC RESULT[DI]INC SILOOP NEXTMOV AH,4CHINT 21HMAIN ENDPCODE ENDSEND START汇编语言试题(A)评分标准和评分细则一:选择题(每题2分)1.B2.B3.B4.C5.C6.C7.B8.C9.A10.C二:填空题(每题2分)1. 0,5,52.55H3.04034.随机数5..ASM6.200FEH7.10108.169..OBJ10.00H三:简答题(每题5分)1.(1)用DOS 21H中断调用的功能调用4CH在用户程序结束后插入下面语句 MOV AH,4CH INT 21H (2)用BIOS中断调用20H 在用户程序结束后插入:INT 20H2. FAR;段间调用。
汇编语言程序设计试题及答案一.名词解释(本大题共5小题,每小题3分,共15分)试解释下列名词的含义。
1.寄存器:计算机系统内,位于CPU内部的存储单元,CPU访问此类存储单元不需要使用总线。
2.物理地址:CPU通过地址总线向外发送的20位地址,在访问内存单元前,CPU必须先将CPU内部的逻辑地址转换为物理地址。
3.段基值:逻辑地址的一个组成部分,用于指示一个段在内存中的起始地址。
4.寻址方式:指令获取操作数的方式。
5.补码:计算机系统内部用于表示带符号数的一种编码,正整数的补码为其真值本身,负整数的补码为其真值变反加1的结果。
二.计算题(本大题共5小题,每小题4分,共20分)试按照各小题的要求给出计算结果。
1.将十进制数100分别转换为二进制、十六进制数,它们的表示形式分别为多少?答案:二进制为 01100100B,十六进制为64H2.假设(DS)=0C00H,(BX)=0210H,对于指令MOV DS:100H[BX],AL,其目的操作数的物理地址为多少?答案:EA = (BX)+0100H = 0310H,物理地址 = (DS)*16 + EA = 0C000H + 0310H = 0C310H3.假设(BX)=0100H,(SI)=0020H,对于指令ADD DL,[BX][SI],其源操作数的偏移量为多少?答案:EA = (BX)+(SI)+ 0 = 0120H4.假设当前(SP)=0060H,连续执行5条PUSH指令后,(SP)=?答案:每执行一条PUSH指令,(SP)被减2,因此执行5条PUSH指令后,(SP)=0060H – 5*2 =0060H -000AH = 0056H5.对于一个十进制数– 80,其二进制补码表示形式为多少?答案:首先求得二进制真值为– 01010000B,负数补码为变反加1的结果,即 10110000B三.排错题(本大题共4小题,每小题5分,共20分)每小题列出了一条指令,判断该指令有无语法错误,如果存在语法错误,请指出具体的错误原因,判断正确给2分,分析正确给3分,判断错误不给分。
一、单项选择题(每小题1分,共20分)1、设DS=8225H,DI=3942H,指令NEG BYTE PTR[DI]操作数的物理地址是(A)A、85B92HB、86192HC、BB690HD、12169H2、下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是(B)A、AX,BX,CX,DXB、BX,BP,SI,DIC、SP,IP,BP,DXD、CS,DS,ES,SS3、循环指令LOOPNZ终止循环的条件是(B)。
A、CX=0,且ZF=0B、CX=0,或ZF=1C、CX10,且ZF=0D、CX10,或ZF=14、对寄存器AX的内容乘以4的正确指令序列是(B)。
A、SHR AX,1 /SHR AX,1B、SHL AX,1/ SHL,AX,1C、ROL AX,1 /ROL AX,1D、RCR AX,1/ RCR AX,15、执行INC指令除对SF、ZF有影响外,还要影响的标志位是(A)。
A、OF,AF,PFB、OF,AF,CFC、OF,PF,CFD、AF,PF,CF6、设DH=10H,执行NEG DH指令后,正确的结果是(D)。
A、DH=10H CF=1B、DH=0F0H CF=0C、DH=10H CF=0D、DH=0F0H CF=17、下列传送指令中有语法错误的是(A)。
A、MOV CS,AXB、MOV DS,AXC、MOV SS,AXD、MOV ES,AX8、下面指令执行后,改变AL寄存器内容的指令是(D)。
A、TEST AL,02HB、OR AL,ALC、CMP AL,BLD、AND AL,BL9、执行除法指令后,影响的标志位是(D)。
A、CF,OFB、SF,ZFC、CF,OF,SFD、AF,CF,OF,PF,SF,ZF都不确定10、执行下面指令序列后,结果是(A)。
MOV AL,82H / CBWA、AX=0FF82HB、AX=8082HC、AX=0082HD、AX=0F82H11、与MOV BX,OFFSET VAR指令完全等效的指令是(D)。
华东交通大学2013—2014学年第二学期考试卷
参考答案与评分标准(A)卷课程名称:汇编语言程序设计(A)课程类别:必、限、任
一、选择题(每题2分,共20分)
1.在计算机中,带符号数都是用( B )表示。
A)原码B)补码C)反码D)ASCII码
2.以下关于指令指针寄存器IP的说法不正确的是( C )
A)IP是16位寄存器B)IP的内容由微处理器自动设置
C)程序可以直接访问IP D)程序可以改变IP的内容
3.CPU发出的访问存储器的地址是( A )
A)物理地址B)偏移地址C)逻辑地址D)段地址
4.以下关于汇编语言伪指令的说法中,不正确的是( B )
A)当$在指令中表示本条指令的第一个字节地址
B)EQU与=的使用相同
C)指令中操作数类型不匹配时,可以使用PTR属性操作符
D)ASSUME只是通知汇编程序有关段寄存器与逻辑段的关系,并没有给段寄存器赋予实际的初值。
5.在8086/8088中,一个最基本的总线周期由( D )个时钟周期组成。
A)1 B)2 C)6 D)4
6.已知data是数据段名,下列指令中语法错误的是( D )
A)MOV BX,seg data B)MOV AX,data C)MOV BX,data D)MOV ES,data
7.关于DEBUG调试命令的说法中,不正确的是( C )
A)-U是反汇编命令B)-R是显示当前寄存器内容的命令
C)-D是显示代码段内容的命令D)-T是单步执行命令
8.下列关于存储单元的描述正确的是( A )。
A)存储空间地址按字节组织B)存储空间地址按字组织
C)存储空间地址按双字组织D)存储空间地址按四字组织
9.下面指令执行后,改变AL寄存器内容的指令是( D )。
A)TEST AL,02H B)OR AL,AL C)CMP AL,BL D)AND AL,BL
10.中断向量是( A )。
A)中断服务程序的入口地址B)中断的返回地址
C)存放中断服务程序入口地址内存单元的地址D)保护断点的堆栈区堆栈区地址
二、简单填空题(每题2分,共20分)
1.8086微处理器由总线接口部件和执行部件组成,其内部寄存器均为16 位。
2.当用户需要访问某个从偶地址开始的字时只需一次访问存储器,而当用户需要访问某个从奇地址开始的字时则需要二次访问存储器,所以为加快运行速度,字的存放采用偶地址开始的形式。
3.汇编语言的操作数有三种类型分别是:立即数操作数,寄存器操作数和存储器操作数。
4.8086系统内存按字节划分存储单元,每个存储单元有个唯一的编号称为该单元的物理地址,当一个大于8位的数据要在内存存放时,数据的存放规则是:高字节放在高地址单元,低字节放在低地址单元。
5.可屏蔽中断请求的中断响应时,CPU需发出 2 个中断应答信号INTA#用于获取中断类型号,找
到被响应中断源的中断服务程序的入口地址。
三、判断改错题(每小题1分,共10分)
1.判断下表中数据传送指令的正误。
(T表示正确,F表示错误)
2
数据
段中已有定义如下:
DA1 DB 12H,34H
DA2 DW 56H,78H
判断右表中语句中操作数类型是否匹配。
(Y表示匹配,N表示不匹配)
四、写出完成下列操作的指令(每题2分,共10分)
1.用一条逻辑指令使AX寄存器清0。
AND AX,00H / XOR AX,AX
2.用一条逻辑指令使CX寄存器的低4位置1,其余位不变。
OR CX,0FH
3.用一条逻辑指令使BX寄存器的低4位求反,其余位不变。
XOR BX,0FH
4.用移位指令实现无符号数AX乘8。
MOV CL,3
SHL AX,CL
5.将AX寄存器中的有符号数,除以BX寄存器中的有符号数。
CWD
IDIV BX
五、程序填空题(每题2分,共20分)(思路正确酌情给分)
1.设数据段定义如下:(备注:大写字母‘A’的ASCII码值为41H)
DA TA SEGMENT
A DW 1,2,3
B DB ‘ABCDEF’
C DW ‘AB’
D DB 12H,34H,56H
E DW $+5
DA TA ENDS
请回答:(1)“MOV AX,C”执行后,AX= 4142 H。
(2)“MOV AX,E”执行后,AX= 0016 H。
(3)用一条指令将B字符串中的字母“E”送AL:MOV AL,B+4
(4)用一条指令将D变量中的第2、3个字节内容送AX:MOV AX,WORD PTR D+1
(5)用一条指令将A变量中的第3字节送AL:MOV AL, BYTE PTR A+2
2.某程序欲用单个字符显示的2号功能调用去显示STRING中的字符串‘COMPUTER’(不显示字符‘$’!).
试在空白处填上适当的一条指令。
STRING DB‘COMPUTER’,‘$’
┇
MOV BX,0FFSET STRING
LOP:MOV DL,[BX]
MOV AH,02H
INT 21H
INC BX
CMP BYTE PTR [BX],‘$’
JNE LOP
3.分析下列程序,回答问题。
DA TA SEGMENT
A D
B 36H
B DB 0DH,0AH,'NUM='
C DB 4 DUP(0)
DA TA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA START: MOV AX,DA TA
MOV DS,AX
MOV BL,A
LEA SI,C
MOV CH,2
MOV CL,4
NEXT: ROR BL,CL
MOV AL,BL
AND AL,0FH
CMP AL,9
JNA N
ADD AL,7
N: ADD AL,30H
MOV [SI],AL
INC SI
DEC CH
JNZ NEXT
MOV BYTE PTR[SI],'H'
INC SI
MOV BYTE PTR[SI],'$'
LEA DX,B
MOV AH,9
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
请回答:(1)该程序的功能是:将A字节变量的数转换成两位十六进制的ASCII码送C中保存,并在显示器上显示从B变量开始的字符串“NUM=36H”。
(2)该程序中指令“ROR B L,CL”的作用是:将BL寄存器中待转换的数的高4位移到低4位中,以便先转换高4位数。
六、程序设计题(共20分)(设计思路正确酌情给分)
编程实现:把数据段BUFF区中各字符的排列顺序颠倒后放回原BUFF区,已知数据段定义如下。
DA TA SEGMENT
BUFF DB 'COMPUTERHFJHSKFSJOVTJWORD'
COUNT EQU $-BUFF
DA TA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX, DA TA
MOV DS,AX
MOV SI, OFFSET BUFF
MOV CX,COUNT
MOV DI,SI
ADD DI,CX
SUB DI,1
MOV AX,CX
MOV DX,0
MOV BX,2
DIV BX
MOV CX,AX LAB: MOV AL,[SI]
MOV AH,[DI]
MOV [SI],AH
MOV [DI],AL
INC SI
DEC DI
LOOP LAB
MOV AH, 4CH
INT 21H CODE ENDS
END START。