求解?实验十!
本帖最后由 新用户 于 2011-11-24 00:36 编辑assume cs:data
data segment
db 'welcome to masm!',0
db 3,3,02H,160,2 ;行,列,颜色
data ends
code segment
start: mov ax,data
mov ds,ax
mov ax,0b800h
mov es,ax
mov al,ds:
mul byte ptr ds:
mov bx,ax ;BX=绝对行
mov al,ds:
mul byte ptr ds:
mov dl,al ;dl=绝对列
mov dh,ds: ;dh=颜色
mov si,0
call s
mov ax,4c00h
int 21h
s: ;mov al,ds: ;SI素引循环,把DS:的数据给AL
mov ch,0
mov cl,al ;检测CX是否为“0”
mov ah,0
mov al,dl
add bx,ax
mov al,ds:
mov byte ptr es:,al ;将AL的数据给相对行的起始位置
add si,1
mov byte ptr es:,dh ;定义颜色
add si,1
loop s
ok: ret
code ends
end start
前辈老师们看看,问题出哪了,DEBUG我看不出来有什么毛病啊,就是不往显存写东西!!什么原因? 本帖最后由 新用户 于 2011-11-24 10:49 编辑
源数据和输出同用si导致源数据跳格
这句什么意思?段地址不同啊,并且用寄存器转移了呀!学汇编才12天!请指教下新手! 新用户 发表于 2011-11-24 10:18 static/image/common/back.gif
源数据和输出同用si导致源数据跳格
这句什么意思?段地址不同啊,并且用寄存器转移了呀!学汇编才12天 ...
错了很多,你看看题目要求在做
排列好源码,不行把*.ASM 发上来 不要用16进制嘛,看得人头大,用10进制寻址不好吗
页:
[1]