实现向屏幕中间分别显示绿色、绿底红色、白底蓝色的字符串'welcome to masm'
assume cs:codesg,ds:datasg
datasg segment
db 'welcome to masm!'
datasg ends
color segment
db 00000010B ;黑底绿字
db 00100100B ;绿底红字
db 01110001B ;白底蓝字
color ends
stack segment
dw 0,0,0,0, 0,0,0,0
stack ends
codesg segment
start:
mov ax,stack
mov ss,ax
mov sp,10H
mov ax,color
mov ds,ax
mov bx,2
mov cx,3
colorpush:
mov al,0
mov ah,[bx]
push ax
sub bx,1
loop colorpush
;计算第一个输出位置
mov bx,1824
mov ax,0B800H
mov ds,ax
mov ax,datasg
mov es,ax
mov cx,3
outputloop:
mov si,0
mov di,cx
pop dx;取得输出颜色
mov cx,16
outputline:;向输出位置输出数据
mov dl,es:[si]
mov [bx],dx;字符+属性
;计算下一个输出位置
inc si
add bx,2
loop outputline
mov cx,di
add bx,128
loop outputloop
mov ax,4c00H
int 21H
codesg ends
end start
本文介绍了一个使用MASM(汇编语言)实现的程序,该程序能在屏幕中间分别以绿色、绿底红色、白底蓝色显示字符串'welcometomasm'。通过设置不同的颜色属性并利用BIOS中断进行字符输出,演示了如何在不同背景和前景色中显示文本。
3146

被折叠的 条评论
为什么被折叠?



