《汇编语言》实验9
assume cs:code
data segment
db 'welcome to masm!'
db 02h,24h,71h ; 要求的三个颜色对应的16进制代码
data ends
;offset 理解使用有点问题……
stack segment
db 16 dup(0)
stack ends
code segment
start:
mov ax,data
mov ds,ax;数据区
mov ax,stack
mov ss,ax;栈区
mov sp,10h;指向栈顶
mov ax,0b800h;显示缓存区
mov es,ax
;初始化寄存器
mov bx,780h;起始缓存
mov si,10h;颜色偏移量
mov cx,3
s1: mov ah,ds:[si];事先存放颜色
mov di,0
push cx
push si
mov cx,16;16个字符循环输入
mov si,0
s2:
mov al,ds:[di]
mov es:[bx+si],al;低位字符
mov es:[bx+si+1],ah;高位颜色
add si,2
inc di
loop s2
pop si
pop cx
inc si
add bx,0a0h;下一行
loop s1
mov ax,4c00h
int 21h
code ends
end start