HLR 发表于 2023-5-15 08:57:41

实验9

assume cs:code, ds:data, ds:color, ss:stack

data segment
        db "welcome to masm"; 15 个字节
data ends


color segment
        db 2H, 24H, 71H
color ends


stack segment
        dw 8 dup(0)
stack ends


code segment
                ; 源数据段
main:        mov ax, data
                mov ds, ax
               
                ; 初始化栈
                mov ax, stack
                mov ss, ax
                mov sp, 16
       
                ; 外圈循环写每一行
                mov cx, 3
                mov bx, 0; 显存段偏移地址
                mov di, 0; 颜色段偏移地址
w1:                push cx; 存储外圈循环次数
               
                ; 颜色段
                mov ax, color
                mov es, ax
               
               
                mov dh, es:;        字符上色
                mov cx, 15
               
                ; 显存段
                mov ax, 0b800H
                mov es, ax
               
                mov si, 0;源数据段偏移地址
                push di; 存储 颜色段偏移地址
                mov di, 0
                ; 向显存输入
w2:                mov dl,
                mov es:, dx       
                inc si
                add di, 2
                loop w2
               
               
                pop di; 恢复 颜色段偏移地址
                pop cx; 恢复外圈循环次数
                add bx, 160
                inc di
                loop w1

                mov ax, 4c00H
                int 21H
code ends
end main
页: [1]
查看完整版本: 实验9