LEA SI ,NAME1[BX];-------------以下是名字的交换 LEA DI ,BUFFER2 REP MOVSB MOV AX ,0 MOV CX ,15
LEA DI ,NAME1[BX]
REP STOSB;---------------------将空间复位置零,毕竟名字输入有长短不一
MOV CX ,15
LEA DI ,NAME1[BX] LEA SI ,NAME1[BX+15] REP MOVSB MOV CX ,15
LEA DI ,NAME1[BX+15] REP STOSB MOV CX ,15
LEA DI ,NAME1[BX+15] LEA SI ,BUFFER2 REP MOVSB MOV CX ,15
LEA DI ,BUFFER2 REP STOSB POP CX POP SI INC SI
LOOP SECOND POP CX DEC CX CMP CX ,0
JNE FIRST;-----------------没办法,语句太长,总是差1byte,已经没有可以
;再简化了...只好出此下策...呵呵 RET
RANK_GRADE ENDP
;==========================================
;==========================================
PRINT_OUT_RANK PROC NEAR PRINT_ENTERING PRINT_ENTERING
LEA DX ,NUMBER_PROMPT_2 MOV AH ,09H
16
INT 21H
THREE_SPACE MOV AH ,09H
LEA DX ,NAME_PROMPT_2 INT 21H
THREE_SPACE THREE_SPACE MOV AH ,09H
LEA DX ,GRADE_PROMPT_2 INT 21H
THREE_SPACE MOV AH ,09H
LEA DX ,RANK_PROMPT_2
INT 21H RANK
MOV CX ,5 MOV SI ,4 PRINT_NUMBER:
PRINT_ENTERING THREE_SPACE MOV AH ,02H
MOV DL ,NUMBER[SI] ADD DL ,30H INT 21H
THREE_SPACE THREE_SPACE MOV AH ,02H MOV DL ,20H INT 21H MOV AX ,SI MOV BL ,15 MUL BL MOV BX ,AX MOV AH ,09H
LEA DX ,NAME1[BX] INT 21H
MOV AL ,GRADE[SI] XOR AH ,AH MOV BL ,10 DIV BL MOV BL ,AL MOV BH ,AH MOV DL ,BL
标题栏---显示NUMBER NAME GRADE 17
;--
ADD DL ,30H MOV AH ,02H INT 21H MOV DL ,BH ADD DL ,30H MOV AH ,02H INT 21H
THREE_SPACE THREE_SPACE MOV AH ,02H MOV DL ,20H INT 21H
MOV DL ,RANK[SI] ADD DL ,30H INT 21H DEC SI DEC CX CMP CX ,0
JNE PRINT_NUMBER;-----------又超过了...什么情况?求解释...
RET
PRINT_OUT_RANK ENDP
;==========================================
;==========================================按学号输出 PRINT_OUT_NUMBER PROC NEAR PRINT_ENTERING PRINT_ENTERING
LEA DX ,NUMBER_PROMPT_2 MOV AH ,09H INT 21H
THREE_SPACE MOV AH ,09H
LEA DX ,NAME_PROMPT_2 INT 21H
THREE_SPACE THREE_SPACE MOV AH ,09H
LEA DX ,GRADE_PROMPT_2 INT 21H
THREE_SPACE
;--标题栏---显示NUMBER NAME GRADE
18
MOV SI ,0 MOV CX ,5 PRINT_OUT_2:
PRINT_ENTERING THREE_SPACE
MOV DL ,NUMBER[SI] ADD DL ,30H MOV AH ,02H INT 21H
THREE_SPACE THREE_SPACE MOV AH ,02H MOV DL ,20H INT 21H MOV AX ,SI MOV BL ,15 MUL BL MOV BX ,AX MOV AH ,09H
LEA DX ,NAME1[BX] INT 21H
MOV AL ,GRADE[SI] XOR AH ,AH MOV BL ,10 DIV BL MOV BL ,AL MOV BH ,AH MOV DL ,BL ADD DL ,30H MOV AH ,02H INT 21H MOV DL ,BH ADD DL ,30H MOV AH ,02H INT 21H
THREE_SPACE THREE_SPACE MOV AH ,02H MOV DL ,20H INT 21H
INC SI DEC CX
19
CMP CX ,0
JNE PRINT_OUT_2 RET
PRINT_OUT_NUMBER ENDP
CODES ENDS END START
课题三:时间显示程序。 CODE SEGMENT ORG 100H
ASSUME CS:CODE,DS:CODE HHH DB 0 MMM DB 0 SSS DB 0 COUNT DB 18
Time DB \START:
MOV AX,CODE MOV DS,AX
MOV AH,2CH ;取得时间 INT 21H MOV HHH,CH MOV MMM,CL MOV SSS,DH LEA DX,INT1C
MOV AX,251CH ;置中断向量 INT 21H MOV AH,1 INT 21H
MOV AX,3100H ;驻留内存 MOV DX,54*2d ;设置显示的位置
20
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库班级成绩处理与时间显示程序(4)在线全文阅读。
相关推荐: