|
主题 : : 实验9 不知道错在哪。。。提示error A2009: Symbol not defined: BNX [待解决] |
回复[ 5次 ]
点击[ 216次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2010-07-24 12:21 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-07-22 19:06 |
大家帮忙看看啊谢谢了。。还有这个程序哪个地方需要改的吗??
谢谢
assume cs:code ds:data
data segment
abc db 'welcome to masm!'
data ends
code segment
start:mov ax,data
mov ds,ax
mov bx,280H
mov ax,B800H;显存区段地址
mov es,ax
mov si,280H;显存区偏移地址
mov cx,15
s:;
处理'welcome'
mov al,ds:[bx]
mov es:[si+81],al
mov es:[si+82],02H;绿色字
;处理'to'
mov al,ds:[bx+9]
mov es:[si+97],al
mov es:[si+98],42H;红色绿底字
;处理masm!
mov al,ds:[bx+12]
mov es:[si+A0],al
mov es:[si+A1],17H;白底蓝字
;做循环准备
inc bx
add si,2
loop s
mov 4c00h
int 21h
code ends
end start | | |
|
|
|
|
[第1楼]
[ 回复时间:2010-07-24 12:24 ]
[引用]
[回复]
[ top ] | |
荣誉值:268
信誉值:12
注册日期:2010-06-18 22:19 |
mov ax,B800H;显存区段地址 ;B前面少了个0
mov es,ax | | |
|
|
|
|
[第2楼]
[ 回复时间:2010-07-24 12:25 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-07-22 19:06 |
mov bx,280H
改为mov bx,0吧。。失误了 | | |
|
|
|
|
[第3楼]
[ 回复时间:2010-07-24 12:30 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-07-22 19:06 |
|
|
|
|
|
[第4楼]
[ 回复时间:2010-07-24 13:42 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-07-22 19:06 |
做出来了。。但只有绿色有效果 其余的没效果。。什么意思啊
里面行和列的数据都是参照别人看出来的。。自己算的话怎么算啊??谢谢
assume cs:code ds:data
data segment
abc db 'welcome to masm!'
data ends
code segment
start:mov ax,data
mov ds,ax
mov bx,0
mov ax,0B800H;显存区段地址
mov es,ax
mov si,280H;显存区偏移地址
mov cx,16
s:
mov al,ds:[bx]
mov byte ptr es:[si+720h],al
mov byte ptr es:[si+721h],02H
inc bx
add si,2
loop s
;做循环准备
mov cx,16
s0:
mov al,ds:[bx]
mov byte ptr es:[si+7c0h],al
mov byte ptr es:[si+7c1h],42H
inc bx
add si,2
loop s0
mov cx,16
s1:
mov al,ds:[bx]
mov byte ptr es:[si+860h],al
mov byte ptr es:[si+861h],17H
inc bx
add si,2
loop s1
mov ax,4c00h
int 21h
code ends
end start | | |
|
|
|
|
[第5楼]
[ 回复时间:2010-07-24 13:46 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-07-22 19:06 |
啊。。原来忘记每次输出都设回原来的值。。但行和列的数据怎么算的啊。。谢谢!!
assume cs:code ds:data
data segment
abc db 'welcome to masm!'
data ends
code segment
start:mov ax,data
mov ds,ax
mov bx,0
mov ax,0B800H;显存区段地址
mov es,ax
mov si,280H;显存区偏移地址
mov cx,16
s:
mov al,ds:[bx]
mov byte ptr es:[si+720h],al
mov byte ptr es:[si+721h],02H
inc bx
add si,2
loop s
;做循环准备
mov bx,0
mov si,280h
mov cx,16
s0:
mov al,ds:[bx]
mov byte ptr es:[si+7c0h],al
mov byte ptr es:[si+7c1h],42H
inc bx
add si,2
loop s0
mov bx,0
mov si,280h
mov cx,16
s1:
mov al,ds:[bx]
mov byte ptr es:[si+860h],al
mov byte ptr es:[si+861h],17H
inc bx
add si,2
loop s1
mov ax,4c00h
int 21h
code ends
end start | | |
|