337192445 发表于 2011-5-30 18:36:25

陌路狂奔 发表于 2011-5-30 19:26:46

本帖最后由 陌路狂奔 于 2011-5-30 20:15 编辑

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

data segment

db'welcome to masm!'

db'02h,24h,71h'

data ends

stack segment

dw 8 dup (0)
stack ends
code segment
start:mov ax,data
mov ds,ax
mov ax,stack
mov ss,ax
mov sp,10h
mov ax,0b872h;淮耸眅s为屏幕第12行中间的显存的段起始位置
mov bx,0
mov cx,3
s2:
push cx;依次进栈后,要逆序出栈,遵循先进后出的操作。
push bx
push ax
mov es,ax
mov si,0
mov di,0
mov cx,10h ;第二个内循环也为10h次
s1:
mov al,ds:
mov es:,al
mov al,ds:10h ;取颜色属性
mov es:,al
inc si
add di,2
loop s1
pop ax
add ax,10;更改段地址应该是乘16吧。每行160个字节,这里应该是10D或者0AH而不是10H
pop bx
inc bx
pop cx
loop s2
mov ax,4c00h
int 21h
code ends
end start

wrzuan 发表于 2011-5-30 20:22:27

新人报道下

337192445 发表于 2011-5-30 20:50:17

页: [1]
查看完整版本: 小改实验九出问题了