汇编语言习题-测验题答案(3)

2019-01-27 11:38

A.1号功能 B.2号功能 C.9号功能 D.10号功能

21.DOS功能调用中,功能号应写入 寄存器中。

A.AL B.AH C.DL D.DH

22.SP栈指针内容是1200H,执行两条PUSH指令之后,SP的值为 。 A.1202H B.1204H C.11FCH D.11FEH 23.换码指令XLAT要求给出存储单元的有效地址为 。

A.(BX)+(AL) B.(BX)+(AX) C.(BX) D.(AL) 24.显示一个字符的DOS功能调用要求将字符放入 。

A.DS:DX B.DS:BX C.BL D.DL

25.获得BUFFER单元有效地址的汇编指令为 。

A.MOV BX,BUFFER B.LEA BX,BUFFER C.MOV BX,[BUFFER] D.LDS BX,BUFFER

26. 下列哪个指令可以把字扩展为双字 。

A.CBW B.CWD C.CWB D.CDW 27. 关于字节乘法指令错误的说法是 。

A.被乘数隐含在AL中 B.乘数和被乘数都是字节型

C.被乘数隐含在AX中 D.乘积是字型 28.关于字除法错误的说法是 。

A.16位被除数AX与8位源操作数相除 B.32位被除数DX、AX与16位源操作数相除

C.商在AX寄存器,余数在DX寄存器中 D.带符号除法的商和余数都是补码表示的数 29.非压缩的BCD加法调整指令是 。

A.DAA B.DAS C.AAS D.AAA

30.用直接写显存的方法显示字符,把3行1列上的字符及属性输入到显存 单元。

A.140H+06H, 140H+07H B.1E0H+02H, 1E0H+03H C.140H+02H, 140H+03H D.1E0H+01H, 1E0H+02H

测验四答案:

1~5 BBACB 6~10 BDABC 11~15 BCABC

16~20 CAABD 21~25 BCADB 26~30 BCADB

第四章参考答案

习题四答案:

4.10 (1) DATA SEGMENT X DW 0 Y DW 0 DATA ENDS (2) STRING DB ?Computer? (3) COUNT DB 100 DUP(?) (4) PI EQU 3.14 (5) VALUE LABEL BYTE 4.11 (1)对。(2)错。260超出了字节范围。(3)错。X3是字节型,1234H是字型,不匹配。 (4)对。(5)错。缺少DUP。(6)对。 4.12 (1)AL=3。(2)AX=2103H。(3)DX=TABLE的偏移地址。(4)CL=33H

11

(5)BX=TABLE的段地址。(6)BX=1。(7)DX= TABLE的偏移地址。 4.13 MOV DX,2012H MOV AX,5D68H MOV CX,1003H MOV BX,49A6H ADD AX,BX (SUB AX,BX) ADC DX,CX (SBB DX,CX) 4.14 SUB AX,CX

SBB DX,0

4.15 MOV AX,extra

MOV ES,AX

4.16 (1) MOV AL,16 ADD AL,X MOV BL,5 IMUL BL MOV Z,AX

(2) MOV BL,4

MOV AL,X IDIV BL SUB AL,Y MOV Z,AX (3) MOV AL,X

MOV BL,8 IMUL BL MOV DX,AX MOV AH,0 MOV AL,Y MOV BL,16 IDIV BL CBW

ADD DX,AX MOV AH,0 MOV AL,W IMUL AL SUB DX,AX MOV Z,DX (4) MOV AL,X

ADD AL,Y MOV BL,X SUB BL,Y MOV AH,0 IMUL BL MOV Z,AX MOV AL,X IDIV Y CBW

SUB Z,AX

12

4.17 Z= (5+22-15)*14= 168

4.18 从伪指令END START处获知程序从START标号开始。 4.19 (1)减法: (2) 加法:

MOV AX,8576H MOV AX,8576H MOV BX,9988H MOV BX,9988H SUB AX,BX ADD AX,BX 结果:AX=EBEEH 结果:AX=1EFEH CF=1,OF=0,ZF=0,SF=1 CF=1,OF=1,ZF=0,SF=0 4.21 (1) MOV AL,56H MOV BL,34H ADD AL,BL DAA MOV Y1,AL (2) MOV AX,128H

MOV BX,35H SUB AX,BX DAS

MOV Y2,AL

(3) MOV AL,68H

MOV BL,23H ADD AL,BL MOV BL,45H SUB AL,BL DAS

MOV Y3,AL

4.22 (1) MOV AX,0708H

MOV BX,0406H ADD AL,BL ADD AH,BH AAA MOV BX,AX XCHG AH,AL AAA

MOV BH,AL MOV Z1,BX (2) MOV AX,0905H

MOV BX,0207H SUB AL,BL SUB AH,BH AAS MOV Z2,AX (3) MOV AX,0102H

MOV BX,0006H MUL BX MOV BX,0303H SUB AX,BX AAS

;不用带进位加 ;加法调整,含进位调整 ;高4位调整 ;保存十位、各位,百位在CF中 ;不用带借位减 ;减法调整 ;乘法先不用调整 ;减法调整

13

MOV Z3,AX

(4) MOV AX,0704H

MOV BX,0108H ADD AL,BL ADD AH,BH AAA ;加法调整 MOV BL,6 AAD ;除法调整 DIV BL

MOV BH,AH ;余数保存在BH AND AX,000FH AAA ;商调整 MOV Z4,AX ;保存商

4.23 编程序。从键盘输入一个数字,去掉ASCII码后保存到BUFF单元。.model small .data

buff db ? .code start:

mov ax,@data mov ds,ax mov ah,1 ;键盘输入 int 21h sub al,30h ;去掉ASCII码 mov buff,al mov ah,4ch int 21h end start

4.24 编程序。将键盘输入的小写字母变为大写字母显示在屏幕上。 .model small .code start:

mov ah,1 ;键盘输入 int 21h

sub al,20h ;变为大写 mov dl,al mov ah,2 int 21h mov ah,4ch int 21h end start

4.25 X和Y都是字节型数据,编写将两数相加的结果显示出来的程序段。

.model small .data

x db 12h y db 34h .code

14

start:

mov ax,@data mov ds,ax mov al,x add al,y ;结果为46H mov ah,al ;AH=46H and al,0fh ;AL=06H mov cl,4 rol ah,cl ;AH=64H and ah,0fh ;AH=04H add ax,3030h ;AX=3436H mov bx,ax mov dl,bh ;显示4 mov ah,2 int 21h mov dl,bl ;显示6 int 21h mov ah,4ch int 21h end start

4.26 编写程序,建立一个0~9的平方根表,查表可得某数的平方根。data segment

x db '0.000','1.000','1.414','1.732','2.000'

db '2.236','2.449','2.646','2.828','3.000' ;建立字符表 y db 5 dup(?) ;存放查到平方根 u db 3 ;要查的数 data ends code segment

assume cs:code,ds:data start:

mov ax,data mov ds,ax mov al,u ;要查的数 mov cl,5 mul cl ;u*5=15(号单元开始) mov ah,0 mov bx,ax ;地址保存到bx mov si,0 let1:

mov al,x[bx] ;取出平方根数字 mov y[si],al ;存入y inc si inc bx loop let1 ;循环取出5次 mov ah,4ch int 21h code ends

15


汇编语言习题-测验题答案(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:工业机器人课程论文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: