在屏幕中间分别显示绿色、绿底红色、白底蓝色的字符串 'welcome to masm!'...用一个子程序编写
时间: 2024-02-26 21:59:29 浏览: 114
masm 汇编写的一个小程序
以下是使用MASM汇编语言编写的程序,使用一个子程序的方法,在屏幕中间分别显示绿色、绿底红色、白底蓝色的字符串 'welcome to masm!':
```
.model small
.stack 100h
.data
msg1 db 'welcome to masm!', 0
msg2 db 'welcome to masm!', 0
msg3 db 'welcome to masm!', 0
.code
main proc
mov ax, @data
mov ds, ax
; 显示绿色字符串
call set_screen_attributes, 0x02, 12
mov ah, 09h
lea dx, msg1
int 21h
; 显示绿底红色字符串
call set_screen_attributes, 0x42, 13
mov ah, 09h
lea dx, msg2
int 21h
; 显示白底蓝色字符串
call set_screen_attributes, 0x17, 14
mov ah, 09h
lea dx, msg3
int 21h
mov ah, 4ch
int 21h
main endp
; 设置屏幕属性
set_screen_attributes proc color, row
push ax
push bx
push cx
push dx
mov ah, 06h
mov al, 0
mov bh, 0
mov bl, color
mov cx, 80
mov dx, row
int 10h
pop dx
pop cx
pop bx
pop ax
ret
set_screen_attributes endp
end main
```
该程序使用了一个子程序的方法来设置屏幕属性,将绿色、绿底红色、白底蓝色的设置放在一个子程序set_screen_attributes中。在主程序中,依次调用这个子程序,并使用INT 21h中断来显示字符串。在屏幕的第12行显示绿色字符串,在第13行显示绿底红色字符串,在第14行显示白底蓝色字符串。
阅读全文