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