|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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
复制代码 |
|