马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 就是要努力呀 于 2020-4-28 18:31 编辑 assume cs:code, ds:data, ss:stack
data segment
db 'welcome to masm!' ;16字节
db 02h ;黑底绿字
db 24h ;绿底红字
db 71h ;白底蓝字
data ends
stack segment
dw 0
stack ends
code segment
start:
mov ax, data ;设置数据段
mov ds, ax
mov ax, stack ;设置栈段
mov ss, ax
mov sp, 2
mov ax, 0b8a0h ;设置显存
mov es, ax
mov bp, 010h ;设置从第10行开始显示
mov di, 16 ;设置字符属性的内存单元偏移地址
mov cx, 3 ;设置外层循环,每一次循环打印一串'welcome to masm!'
s0:
mov bx, 0 ;归零字符的内存单元偏移地址
mov si, 50 ;设置每一行的字符串再同一列
mov dl, ds:[di] ;设置文字属性
inc di
push cx
mov cx, 16 ;设置内层循环,每一次循环打印一个字符
s1:
mov al, ds:[bx]
mov es:[bp + si], al ;将字符的ascii码放入低位显存空间
inc si
mov es:[bp + si], dl ;将字符属性放入高位显存空间
inc bx
inc si
loop s1
add bp, 0a0h ;向下移动一行
pop cx
loop s0
mov ax, 4c00h
int 21h
code ends
end start
|