用汇编语言写出一个在屏幕中间显示三行不同颜色的welcome to masm!的代码
时间: 2024-02-11 14:09:58 浏览: 21
以下是汇编语言代码,能够在屏幕中间显示三行不同颜色的 "welcome to masm!" 字样:
```
.MODEL SMALL
.STACK 100h
.DATA
msg1 DB 'WELCOME TO MASM!',0
color1 DB 1
msg2 DB 'WELCOME TO MASM!',0
color2 DB 2
msg3 DB 'WELCOME TO MASM!',0
color3 DB 3
.CODE
MAIN PROC
MOV AX, @DATA
MOV DS, AX
; get screen dimensions
MOV AH, 0Fh
INT 10h
MOV CX, 80
MOV DX, 25
SUB CX, AX
SHR CX, 1
SUB DX, BX
SHR DX, 1
; print message 1
MOV AH, 9h
MOV AL, color1
MOV BH, 0
MOV BL, 0Fh
MOV CX, 20
MOV DH, DX
ADD DH, 4
MOV DL, CX
ADD DL, 1
LEA SI, msg1
INT 10h
; print message 2
MOV AH, 9h
MOV AL, color2
MOV BH, 0
MOV BL, 0Fh
MOV CX, 20
MOV DH, DX
ADD DH, 6
MOV DL, CX
ADD DL, 1
LEA SI, msg2
INT 10h
; print message 3
MOV AH, 9h
MOV AL, color3
MOV BH, 0
MOV BL, 0Fh
MOV CX, 20
MOV DH, DX
ADD DH, 8
MOV DL, CX
ADD DL, 1
LEA SI, msg3
INT 10h
MOV AH, 4Ch
INT 21h
MAIN ENDP
END MAIN
```
该程序的功能是使用 VGA BIOS 中断来在屏幕中央显示三个不同颜色的 "welcome to masm!" 字样。变量 `msg1`、`msg2` 和 `msg3` 存储了三个不同的消息,变量 `color1`、`color2` 和 `color3` 存储了三个不同的颜色,分别是 1、2 和 3。该程序使用的是 80x25 文本模式,可以在 DOSBox 或类似的模拟器中运行。