王爽老师的汇编语言中有个显示字符串的子程序题,要求在指定的位置用指定的颜色显示一个用0结束的字符串

2025-06-28 08:25:17
推荐回答(1个)
回答1:

ASSUME CS:CODE
DATA SEGMENT
STR1 DB 'WELCOME TO MASM !', 0
STR2 DB 'WE', 0
DATA ENDS

CODE SEGMENT
START:
MOV AX, DATA
MOV DS, AX

MOV DH, 8
MOV DL, 3
MOV SI, 0
CALL SHOW_STR
MOV AX, 4C00H
INT 21H

SHOW_STR:
MOV AX, 0B800H
MOV ES, AX

MOV AL, 80
MUL DH
MOV DH, 0
ADD AX, DX
ADD AX, AX
MOV DI, AX

SHOW_STR_X:
MOV BL, DS:[SI + STR1]
CMP BL, 0
JZ SHOW_STR_F
MOV BH, 94H
MOV ES:[DI], BX
INC SI
INC DI
INC DI
JMP SHOW_STR_X
SHOW_STR_F:
RET

CODE ENDS
END START