自己写的实验9高手看下有什么问题不
assume cs:code,ds:data,ss:stackdata 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 建议把在push si 后增加push同时di pop si前增加pop di,而且add di,100h改成add di,0a0h 不好意思,写错了,建议在push si 后增加pushdi,,同时pop si前增加pop di,,而且add di,100h改成add di,0a0h
谢谢。{:5_110:}
页:
[1]