|
主题 : : 实验9——Symbol not defined: B800H 这个不明白? [待解决] |
回复[ 7次 ]
点击[ 685次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2010-04-23 21:19 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-04-12 21:25 |
ssume ds:data,cs:code
data segment
db 'welcome to masm'; db定义后字节型数据存储方式
data ends
code segment
start: mov ax,data; start的作用
mov ds,ax
mov ax,b800h
mov es,ax
mov bx,0
mov di,0
mov cx,16
s: mov al,[bx]
mov ah,02h
mov es:730h[di],ax
mov al,[bx]
mov ah,24h
mov es:7d0h[di],ax
mov al,[bx]
mov ah,71h
mov es:870h[di],ax
mov di,2
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end start
-------------------------------------------------------
DEBUG上编译结果:Symbol not defined: B800H————这个不明白?谢谢回答!!
Source filename [.ASM]: p1
Object filename [p1.OBJ]:
Source listing [NUL.LST]:
Cross-reference [NUL.CRF]:
p1.ASM(10): error A2009: Symbol not defined: B800H
50602 + 445974 Bytes symbol space free
0 Warning Errors
1 Severe Errors
C:\DOCUME~1\ADMINI~1> | | |
|
|
|
|
[第1楼]
[ 回复时间:2010-04-23 21:28 ]
[引用]
[回复]
[ top ] | |
荣誉值:62
信誉值:0
注册日期:2009-12-03 13:14 |
mov ax,b800h -> mov ax,0b800h | | |
|
|
|
|
[第2楼]
[ 回复时间:2010-04-23 21:42 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-04-12 21:25 |
回复:[第1楼]
------------------
更改后DEBUG上结果:
Microsoft(R) Windows DOS
(C)Copyright Microsoft Corp 1990-2001.
C:\DOCUME~1\ADMINI~1>masm
Microsoft (R) Macro Assembler Version 5.00
Copyright (C) Microsoft Corp 1981-1985, 1987. All rights reserved.
Source filename [.ASM]: p1
Object filename [p1.OBJ]:
Source listing [NUL.LST]:
Cross-reference [NUL.CRF]:
p1.ASM(8): Out of memory
AX是16位寄存器,0B800h表示20位数据,我也觉得会有问题,但内存不足怎么回事??我初学…… | | |
|
|
|
|
[第3楼]
[ 回复时间:2010-04-24 10:47 ]
[引用]
[回复]
[ top ] | |
荣誉值:62
信誉值:0
注册日期:2009-12-03 13:14 |
|
|
|
|
|
[第4楼]
[ 回复时间:2010-07-13 09:06 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-07-02 11:38 |
Symbol not defined: B800H
我也是这个问题,编译通不过。我的电脑是AMD内核。高手请帮解决,谢谢。。。 | | |
|
|
|
|
[第5楼]
[ 回复时间:2010-07-13 09:09 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-07-02 11:38 |
哦,看出来了。就是楼上说的,mov ax,b800h -> mov ax,0b800h。因为内存地址是字母开头,必须要加0 | | |
|
|
|
|
[第6楼]
[ 回复时间:2010-07-23 15:38 ]
[引用]
[回复]
[ top ] | |
荣誉值:9
信誉值:3
注册日期:2008-06-12 09:16 |
ssume ds:data,cs:code
data segment
db 'welcome to masm'; db定义后字节型数据存储方式
data ends
code segment
start: mov ax,data; start的作用
mov ds,ax
mov ax,b800h
mov es,ax
mov bx,0
mov di,0
mov cx,16
s: mov al,[bx]
mov ah,02h
mov es:730h[di],ax
mov al,[bx]
mov ah,24h
mov es:7d0h[di],ax
mov al,[bx]
mov ah,71h
mov es:870h[di],ax
mov di,2
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end start
-------------------------------------------------------
DEBUG上编译结果:Symbol not defined: B800H————这个不明白?谢谢回答!!
Source filename [.ASM]: p1
Object filename [p1.OBJ]:
Source listing [NUL.LST]:
Cross-reference [NUL.CRF]:
p1.ASM(10): error A2009: Symbol not defined: B800H
50602 + 445974 Bytes symbol space free
0 Warning Errors
1 Severe Errors
C:\DOCUME~1\ADMINI~1>
------------------
回复:另外不要忘记,字符串中缺了个“!”。 | | |
|
|
|
|
[第7楼]
[ 回复时间:2010-07-24 08:33 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-07-11 16:57 |
|