CODE ENDS END START
9. 内存中以FIRST和SECOND开始的单元中分别存放着两个16位组合的十进制(BCD码)数,低位在前。编程序求这两个数的组合的十进制和,并存到以THIRD开始的单元。 答:
DATA SEGMENT
FIRST DD 34341212H SECOND DD 78785656H THIRD DB ?,?,?,?
DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA START:
MOV AX,DATA
MOV DS,AX LEA SI,FIRST LEA DI,SECOND LEA BX,THIRD
MOV CX,4 CLC AGAIN:
MOV AL,BYTE PTR[SI]
MOV DL,BYTE PTR[DI] ADC AL,DL DAA
MOV BYTE PTR[BX],AL INC SI INC DI INC BX
LOOP AGAIN
JC AA
MOV BYTE PTR[BX],0 JMP EXIT AA:
MOV BYTE PTR[BX],1
EXIT: MOV AH,4CH INT 21H CODE ENDS END START
10. 编写一段程序,接收从键盘输入的10个数,输入回车符表示结束,然后将这些数加密后存于BUFF缓冲区中。加密表如下:
输入数字: 0,1,2,3,4,5,6,7,8,9; 密码数字: 7,5,9,1,3,6,8,0,2,4。 答:
DATA SEGMENT
MITAB DB '7591368024' CONT EQU $-MITAB BUFF DB 10 DUP (?),'$' YUANWEN DB 10 DUP (?),'$' DATA
ENDS
CODE SEGMENT
ASSUME CS∶CODE,DS∶DATA START: MOV AX,DATA MOV DS,AX MOV SI,0 MOV CX,CONT INPUT: MOV
AH,1
INT 21H CMP AL,13 JZ EXIT
AND
AL,0FH
MOV YUANWEN[SI] ,AL
INC SI LOOP INPUT
EXIT : LEA
BX,MITAB
MOV CX,SI MOV SI,0
JIAMI: MOV AL,YUANWEN[SI] XLAT
MITAB
MOV BUFF[SI],AL INC SI LOOP JIAMI
MOV AH, 4CH INT 21H
CODE ENDS
END START
11.试编程序,统计由40000H开始的16K个单元中所存放的字符“A”的个数,并将结果存放在DX中。 答:
DATA SEGMENT
DA1 DB 'A'
BUFF DB 4000H DUP(?)
DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA START: MOV AX,4000H MOV DS,AX MOV BX,0 MOV CX,4000H FIND:
MOV AL,[BX]
MOV BL,DA1
CMP AL,BL JNZ NEXT INC DX NEXT: INC SI
LOOP FIND MOV AH,4CH INT 21H CODE ENDS END START
12. 在当前数据段(DS),偏移地址为DATAB开始的顺序80个单元中,存放着某班80个同学某门考试成绩。按如下要求编写程序:
(1) 编写程序统计≥90分; 80分~89分; 70分~79分; 60分~69分,<60分的人数各为多少,并将结果放在同一数据段、偏移地址为BTRX开始的顺序单元中。 (2) 试编程序,求该班这门课的平均成绩为多少,并放在该数据段的AVER单元中。 答:
DATA SEGMENT
BUFF DW 80 DUP(?) DA9 DB 0 DA8 DB 0 DA7 DB 0 DA6 DB 0 DA5 DB 0 AVER DB 0 DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA START:
MOV AX,DATA MOV DS,AX MOV CX,80
COMPARE: MOV BX,0
CMP BUFF[BX],90 JB LP8 INC DA9 JMP NEXT LP8: CMP BUFF[BX],80 LP7: LP6: LP5: NEXT: SUM: JB LP7 INC DA8 JMP NEXT CMP BUFF[BX],70 JB LP6 INC DA7 JMP NEXT CMP BUFF[BX],60 JB LP5 INC DA6 JMP NEXT INC DA5 JMP NEXT INC BX
LOOP COMPARE MOV CX,80 XOR AX,AX MOV BX,00
ADD AX,BUFF[BX] INC BX LOOP LP1 MOV CL,80 DIV CL
MOV AVER , AL MOV AH,4CH