马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
assume cs:code, ds:data, ds:color, ss:stack
data segment
db "welcome to masm" ; 15 个字节
data ends
color segment
db 2H, 24H, 71H
color ends
stack segment
dw 8 dup(0)
stack ends
code segment
; 源数据段
main: mov ax, data
mov ds, ax
; 初始化栈
mov ax, stack
mov ss, ax
mov sp, 16
; 外圈循环写每一行
mov cx, 3
mov bx, 0 ; 显存段偏移地址
mov di, 0 ; 颜色段偏移地址
w1: push cx ; 存储外圈循环次数
; 颜色段
mov ax, color
mov es, ax
mov dh, es:[di] ; 字符上色
mov cx, 15
; 显存段
mov ax, 0b800H
mov es, ax
mov si, 0 ;源数据段偏移地址
push di ; 存储 颜色段偏移地址
mov di, 0
; 向显存输入
w2: mov dl, [si]
mov es:[bx+640H][di+42H], dx
inc si
add di, 2
loop w2
pop di ; 恢复 颜色段偏移地址
pop cx ; 恢复外圈循环次数
add bx, 160
inc di
loop w1
mov ax, 4c00H
int 21H
code ends
end main
|