|
主题 : : 实验九有好多问题,显示不对。 [已解决] |
回复[ 6次 ]
点击[ 203次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2010-01-12 21:59 ]
[引用]
[回复]
[ top ] | |
荣誉值:2
信誉值:1
注册日期:2009-12-24 11:13 |
我还没做完整的程序,只是初步测试一下,就发现好多地方不太对。
我就是想写一个在屏幕左上角显出绿色的字符串,运行debug的时候一步步左上角根本不显示,我发现就是把字符写入显存时,好象没写进,直接运行exe文件,有时候显示,有时候又不显示。而且显示都不是所想的颜色,
ssume cs:code,ds:data
data segment
db 'welcome to masm!'
data ends
code segment
start:mov ax,data
mov ds,ax
mov ax,0b800h
mov es,ax
mov si,0
mov bx,0
mov al,02h
mov cx,16
s:mov al,[si]
mov es:[si],al
mov es:[bx+1],al
inc bx
inc si
loop s
mov ax,4c00h
int 21h
code ends
end start | | |
|
|
|
|
[第1楼]
[ 回复时间:2010-01-12 22:02 ]
[引用]
[回复]
[ top ] | |
荣誉值:2
信誉值:1
注册日期:2009-12-24 11:13 |
|
|
|
|
|
[第2楼]
[ 回复时间:2010-01-12 22:24 ]
[引用]
[回复]
[ top ] | |
荣誉值:2
信誉值:1
注册日期:2009-12-24 11:13 |
而且到后面循环时候会字符盖掉前面的色彩值,昏极了, | | |
|
|
|
|
[第3楼]
[ 回复时间:2010-01-12 22:45 ]
[引用]
[回复]
[ top ] | |
荣誉值:2
信誉值:1
注册日期:2009-12-24 11:13 |
assume cs:code,ds:data
data segment
db 'welcome to masm!'
data ends
code segment
start:mov ax,data
mov ds,ax
mov ax,0b800h
mov bx,0
mov dl,02h
mov al,[bx]
mov es:[bx],al
mov es:[bx+1],dl
mov ax,4c00h
int 21h
code ends
end start
重新写了个最简单来测试,还是不对, 就是只显现一个字符w,为什么还没有任何反应呢,都改得糊涂了,按理说应该没错了吧,用debug来测试应该到mov ax,4c00h这个指令的时候就该写进去了啊 | | |
|
|
|
|
[第4楼]
[ 回复时间:2010-01-12 22:47 ]
[引用]
[回复]
[ top ] | |
荣誉值:2
信誉值:1
注册日期:2009-12-24 11:13 |
还说明一下,上面的复制的时候丢掉了mov es,ax.源文件中是有的 | | |
|
|
|
|
[第5楼]
[ 回复时间:2010-01-12 22:58 ]
[引用]
[回复]
[ top ] | |
荣誉值:2
信誉值:1
注册日期:2009-12-24 11:13 |
再测一下,发现直接运行可以显现,在debug中一步步运行就没反应,昏,睡觉去了,搞晕了,呵呵 | | |
|
|
|
|
[第6楼]
[ 回复时间:2010-01-16 19:14 ]
[引用]
[回复]
[ top ] | |
荣誉值:2
信誉值:1
注册日期:2009-12-24 11:13 |
此贴由 贴主 于 [ 2010-01-16 19:14 ] 结贴。 结贴原因:问题已解决 | | |