2012梦想成真 发表于 2012-6-4 18:45:37

自己写的实验9高手看下有什么问题不

assume cs:code,ds:data,ss:stack
data segment
db 'welcome to masm!'
db 02h,24h,71h
data ends
stack segment
dw 8dup(0)
stack ends

code segment
   start: mov ax,data
          mov ds,ax
                  mov si,0    ;初始化源段地址
                  
                  mov ax,stack
                  mov ss,ax
                  mov sp,10h   ;初始化栈,SP指向栈底
                  
                  mov ax,0b872h   
                  mov es,ax
                  mov di,0   ;初始化目地段地址
                  mov bx,0   ;bx用来索引颜色
                  
               mov cx,3   ;设置外层循环3次,因为有3个字符串
        s:   push cx    ;cx压栈,因为有多个循环
             push si    ;si压栈,要si始终指向一个字符串
               
         mov cx,10h   ;有16个字符,设置10H次循环
        s1:
          mov dl,ds:   
         mov es:,dl    ;传送字符
               mov dl,ds:10h
         mov es:1,dl;传送颜色
         inc si      
               add di,2   
               loop s1
               
               pop si;栈中弹出一个值,给si,还原到最初值
             pop cx   ;同上
               inc bx    ; 使bx指向下一个字符串的属性颜色
               add di,100h;di 指向下一个字符串的偏移
               loop s
               mov ax,4c00h
               int 21h
        code ends
        end start

ssping 发表于 2012-6-5 21:54:52

建议把在push si 后增加push同时di pop si前增加pop di,而且add di,100h改成add di,0a0h

ssping 发表于 2012-6-5 21:57:06

不好意思,写错了,建议在push si 后增加pushdi,,同时pop si前增加pop di,,而且add di,100h改成add di,0a0h

2012梦想成真 发表于 2012-6-6 19:03:14

谢谢。{:5_110:}
页: [1]
查看完整版本: 自己写的实验9高手看下有什么问题不