为什么编译后出现extra characters on line ?? 求救,,,
assume cs:codea segment
db 1,2,3,4,5,6,7,8
a ends
b segment
db 1,2,3,4,5,6,7,8
b ends
c segment
db 0,0,0,0,0,0,0,0
c ends
code segment
start:
mov cx,8
s:mov ax,a
mov ds,ax
mov bx,0
mov al,
mov dx,b
mov ds,dx
add al,
mov dx,c
mov ds,dx
mov ,al
inc bx
loop s
mov ax,4c00h
int 21h
code ends
end start
为什么编译后出现extra characters on line
我也不知道解释的对不对
首先 第一 你没有定义数据段。。。你a,b,c 分别代表什么段呢
看起来像数据。。而且你代码应该都是错的。。
mov cx,8
s:mov ax,a
mov ds,ax
你的意思是想吧 1,2,3,4,5,6,7,8复制到数据段中是吧你这样写法是错 cs 的代表的指令段。。不存放数据按道理 12345678应该要存放在数据段 而且你的c应该是用作栈段 extra characters on line意思是语句行有多余字符,我把你这代码调试过,是没错的,楼上说的貌似是错的,而这代码如果出错就应该是定义c段有问题,只要把c改为其他的就可以了。 253009514 发表于 2012-7-8 17:09 static/image/common/back.gif
cs 的代表的指令段。。不存放数据按道理 12345678应该要存放在数据段
貌似你的理解有点错误,所谓的指令段,数据段,栈段只是人为设定的,可以这么说,即使是CS段的数据,只要人为设定,一样可以当作数据段或者栈段 extra characters on line意思是语句行有多余字符,我把你这代码调试过,是没错的,楼上说的貌似是错的,而这代码如果出错就应该是定义c段有问题,只要把c改为其他的就可以了。
这位朋友在吗?
他那段代码我运行了是有错的啊 好像是 c的问题 我把c去掉后运行 却发现 这个代码任何地址都没有改变。。我不知道 他这段代码最后有改变了什么? 我记得这个应该是某个习题的例子吧。他应该是要求什么值你调试后可以得到最后的结果吗?我这里都报错运行不了 很奇怪 Yara 发表于 2012-7-8 18:46 static/image/common/back.gif
貌似你的理解有点错误,所谓的指令段,数据段,栈段只是人为设定的,可以这么说,即使是CS段的数据,只要 ...
他那段代码我运行了是有错的啊 好像是 c的问题 我把c去掉后运行 却发现 这个代码任何地址都没有改变。。我不知道 他这段代码最后有改变了什么? 253009514 发表于 2012-7-8 20:57 static/image/common/back.gif
他那段代码我运行了是有错的啊 好像是 c的问题 我把c去掉后运行 却发现 这个代码任何地址都没有改 ...
我前面说了,把定义的c段中的c改为其他,例如cc,因为汇编里面的c就像c语言等其他语言里面的关键字一样,不可以重复 253009514 发表于 2012-7-8 20:57 static/image/common/back.gif
他那段代码我运行了是有错的啊 好像是 c的问题 我把c去掉后运行 却发现 这个代码任何地址都没有改 ...
还有,他这个代码的意思是将a段和b段的值相加到c段,而地址是不变的。。。 {:1_1:}
页:
[1]