第四章汇编语言程序设计题库 下载本文

CMP AX,BX ( )NEXT SCHG AX,BX

NEXT:( )AX,CX JGE OUT ( )AX,CX OUT:

3、假设x和x+2单元的内容为双精度数P,Y和Y+2单元的内容为双精度数Q

(X,Y为低位数),下列程序段使2P>Q时,(AX)=1;2P<=Q时,(AX)=2。请把程序填 写完整。

MOV DX,X+2 MOV AX,X ADD AX,X ADC DX,X+2 CMP DX,Y十2 (1) L2 (2) L1 CMP AX,Y (3) L2

L1:MDV AX,1 JMP EXIT

L2:MOV AX,2 EXIT:INT 20H

4、下面程序的功能是:求内存中一个字符串STAR1(不含空格)的长度,存入LEN单元,并将滤去所有空格后的字符串存入STR2。该字符串以‘#’结束。 DATA SEGMENT LEN DB ? STR1 DB ‘BHDAIUI HKJSIDASIJ KNJ#’ STR2 DB 50 DUP(?) DATA ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODE START: MOV AX,DATA MOV DS,AX LEA BX,STR1 LEA SI,STR2 MOV CL,0 LP1: MOV AL,[BX] INC BX CMP AL,20H ( 1 ) LP2: CMP AL,’#’

(2) MOV [SI],AL INC SI INC CL MOV AL,[BX] INC BX (3)

DONE: MOV LEN,CL MOV AH,4CH INT 21H CODE ENDS END START

5、下面程序的功能是求数组DA1的平均值存入DA2,数组长度放在DA1单元中。将程序补充完整。 DATA SEGMENT DA1 DB 10,45,56,89,100,74,36,95,43,70,44 DA2 DB ? DATA ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODE START: MOV AX,DATA MOV DS,AX LEA BX,DA1 (1) MOV CL,[BX] INC BX

LOP0: ADD AL,[BX] ADC AH,0 (2) DEC CL JNZ LOP0 LEA BX,DA1 MOV CL,[BX] DIV CL (3) MOV AH,4CH INT 21H

CODE ENDS END START

6、下面程序的功能是在内存缓冲区存放了星期一到星期日的英文缩写(3个字母),用DOS

系统功能调用实现从键盘输入一个0-7的数字,查找出相应的英文缩写,并用2号DOS系统功能调用将其在屏幕显示出来。在空白处填上适当指令,完善程序。 DATA SEGMENT

WEEK DB ‘MON’,’TUE’,’WED’,’THU’,’FRT’,’SAT’,’SUN’ DATA ENDS

CODE SEGMENT

ASSUME DS:DATD,CS:CODE START: MOV AX,DATA MOV DS,AX MOV AH, (1) INT 21H SUB AL,30H MOV CL,3 MUL CL MOV BL,AL MOV BH,0 MOV CL,3 LP1: MOV DL,(2) MOV AH,02H INT 21H (3)

DEC CL JNZ LP1

MOV AH,4CH INT 21H CODE ENDS

END START