编程:在屏幕中间分别显示绿色,绿底红色,白底蓝色的字符串'welcome to masm!'
分析:
绿色字符属性:00000010B -> 2H
绿底红色字符属性:00100100 -> 24H
白底蓝色字符属性:01110001B -> 71H
换行偏移:80 * 2 = 160
完整代码:
assume cs:code,ds:datasg
datasg segment
db 'welcome to masm!'
datasg ends
code segment
start: mov ax,datasg
mov ds,ax
mov ax,0b800h
mov es,ax
mov bx,0
mov si,0
mov cx,16
s: mov al,ds:[bx]
mov es:[si],al # 第一行
mov es:[si + 0A0h],al # 第二行
mov es:[si + 140h],al # 第三行
mov al,02h # 绿色
mov es:[si +1],al
mov al,24h # 绿底红色
mov es:[si + 0A1h]
mov al,71h # 白底蓝色
mov es:[si + 141h]
inc bx
add si,2
loop s
mov ax,4c00h
int 21h
code ends
end start