TA的每日心情 | 开心 2018-10-31 14:26 |
---|
签到天数: 18 天 [LV.4]偶尔看看III
高级会员
- 积分
- 1019
|
assume ds:data, cs:code
data segment
db 'welcome to masm!'
data ends
code segment
start:
mov ax, data
mov ds, ax
mov ax, 0b800H
mov es, ax ; es存储显示缓冲区的段地址
mov cx, 3 ; 复制三个字符串
mov bp, 6e0H ; bp存储中间-1行的首地址
s0:
push cx
mov cx, 16
mov bx, 0 ; 字符串的首地址
mov si, 40H ; 第n列的偏移量
s1:
mov ah, 0
mov al, [bx]
mov es:[bp+si], ax
inc bx
add si, 2
loop s1
add bp, 0a0H
pop cx
loop s0
; 复制字符串到缓冲区
mov bp, 6e0H
mov si, 41H
mov ax, 10000010B ; 第一行黑底绿色
mov cx, 16
c1:
mov es:[bp+si], al
add si, 2
loop c1
add bp, 0a0H
mov si, 41H
mov ax, 10100100B ; 第二行绿底红色
mov cx, 16
c2:
mov es:[bp+si], al
add si, 2
loop c2
add bp, 0a0H
mov si, 41H
mov ax, 11110001B ; 第三行白底蓝色
mov cx, 16
c3:
mov es:[bp+si], al
add si, 2
loop c3
mov ax, 4c00H
int 21H
code ends
end start
|
|