关于实验十,改进后还是无法显示!
本帖最后由 新用户 于 2011-11-24 14:16 编辑assume cs:code
data segment
db 'welcome to masm!',0
data ends
code segment
start:mov dh,8
mov dl,3
mov cl,2
mov ax,data
mov ds,ax
mov si,0
call show_str
mov ax,4c00h
int 21h
show_str:
mov ax,0b800H
mov es,ax ;设定显存的段地址
mov ax,0
mov al,160
mul dh
mov bx,ax ;计算行的绝对位置BX
mov ax,0
mov al,2
mul dl
mov di,0
mov di,ax ;计算列的绝对位置DI
add bx,di ;计算要显示的绝对起始地址BX
mov di,0
s: mov ax,0
mov byte ptr al,ds: ;SI为循环索引,AL为数据
mov ah,cl ;把颜色给AH
mov cx,0
mov cl,al ;读取CX是否为零
jcxz ok ;如果CX=0跳到OK处
mov byte ptr es:,al ;把数据段起始数据给显存地址
mov byte ptr es:,ah ;把颜色给显存地址
inc si ;索引数加2
add di,2
loop s
ok: ret
code ends
end start
运行文件,一闪而过,一直没有在电脑上显示!!
开始怀疑是不是电脑的关系
你们可以调试?我的电脑怎么看不到?哪错了都不知道,郁闷! 我的电脑调试看不见?什么原因?一闪而过!什么也没有! win7 32位 看不见效果,没法调试!现实三行的哪个也是不显示! 我下个试试!谢了 很高心大家热心讨论啊~ {:5_92:} 程序没问题的话就检查自己的环境吧,话说问题出多了好处也少不了 用deubg加载然后用G命令跳出,然后就会显示的吧,直接运行基本上不肯显示
页:
[1]