水滴男孩 发表于 2012-7-12 03:08:25

实验9,完成!欢迎探讨。

assume cs:code

data segment
        db 'welcome to masm!'
        db 02h,24h,71h
data ends

code segment
start:
        mov ax,data      
        mov ds,ax
      
        mov ax,0b872h         
        mov es,ax

        mov di,0
        mov si,16
        mov cx,3
s1:
        mov bx,0         ;保证每次都能从ds中正确取值。
        mov dx,ds:   ;取颜色
        mov dh,0
        inc si
        push cx         
        mov cx,16
s:       
        mov al,ds:
        mov es:,al   ;给值。
        inc di
        mov es:,dx   ;给颜色
        inc di
        inc bx
        loop s   
       
        add di,80h
        pop cx
        loop s1
       
        mov ax,4c00h
        int 21h

code ends

end start
========================
本来想要用栈来代替dx的作用,可是实验了很久,不知道该怎么用栈来push、pop字节元素。
求高手改进。

敉沧 发表于 2012-7-12 09:23:29

s1:      mov bx,0
         mov ah,ds:
         inc si
         push cx
         mov cx,16

s:      mov al,ds:
         mov es:,ax
         add di,2
         inc bx
         loop s

         add di,80h
         pop cx
         loop s1
页: [1]
查看完整版本: 实验9,完成!欢迎探讨。