鱼C论坛

 找回密码
 立即注册
查看: 9363|回复: 11

为什么编译后出现extra characters on line ?? 求救,,,

[复制链接]
发表于 2012-7-7 20:51:52 | 显示全部楼层 |阅读模式
1鱼币
assume cs:code
a 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,[bx]
  mov dx,b
  mov ds,dx
  add al,[bx]
  mov dx,c
  mov ds,dx
  mov [bx],al
  inc bx
  loop s
  mov ax,4c00h
  int 21h
code ends
end start
为什么编译后出现extra characters on line

小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-7-8 17:08:55 | 显示全部楼层
我也不知道解释的对不对
首先 第一 你没有定义数据段  。。。你a,b,c 分别代表什么段呢
看起来像数据。。而且你代码应该都是错的。。
mov cx,8
      s:mov ax,a
     mov ds,ax
你的意思是想吧 1,2,3,4,5,6,7,8复制到数据段中是吧  你这样写法是错
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-7-8 17:09:47 | 显示全部楼层
cs 的代表的指令段。。不存放数据  按道理 12345678应该要存放在数据段
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-7-8 17:11:10 | 显示全部楼层
而且你的  c  应该是用作栈段
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-7-8 18:44:16 | 显示全部楼层
extra characters on line意思是语句行有多余字符,我把你这代码调试过,是没错的,楼上说的貌似是错的,而这代码如果出错就应该是定义c段有问题,只要把c改为其他的就可以了。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-7-8 18:46:14 | 显示全部楼层

貌似你的理解有点错误,所谓的指令段,数据段,栈段只是人为设定的,可以这么说,即使是CS段的数据,只要人为设定,一样可以当作数据段或者栈段
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-7-8 20:54:06 | 显示全部楼层
extra characters on line意思是语句行有多余字符,我把你这代码调试过,是没错的,楼上说的貌似是错的,而这代码如果出错就应该是定义c段有问题,只要把c改为其他的就可以了。
这位朋友在吗?
   他那段代码我运行了是有错的啊   好像是 c  的问题 我把c  去掉后运行 却发现 这个代码任何地址都没有改变。。我不知道 他这段代码最后有改变了什么?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-7-8 20:55:30 | 显示全部楼层
我记得这个应该是某个习题的例子吧。他应该是要求什么值  你调试后可以得到最后的结果吗?我这里都报错  运行不了 很奇怪
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-7-8 20:57:09 | 显示全部楼层
Yara 发表于 2012-7-8 18:46
貌似你的理解有点错误,所谓的指令段,数据段,栈段只是人为设定的,可以这么说,即使是CS段的数据,只要 ...

他那段代码我运行了是有错的啊   好像是 c  的问题 我把c  去掉后运行 却发现 这个代码任何地址都没有改变。。我不知道 他这段代码最后有改变了什么?  
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-7-8 22:03:44 | 显示全部楼层
253009514 发表于 2012-7-8 20:57
他那段代码我运行了是有错的啊   好像是 c  的问题 我把c  去掉后运行 却发现 这个代码任何地址都没有改 ...

我前面说了,把定义的c段中的c改为其他,例如cc,因为汇编里面的c就像c语言等其他语言里面的关键字一样,不可以重复
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-7-8 22:06:17 | 显示全部楼层
253009514 发表于 2012-7-8 20:57
他那段代码我运行了是有错的啊   好像是 c  的问题 我把c  去掉后运行 却发现 这个代码任何地址都没有改 ...

还有,他这个代码的意思是将a段和b段的值相加到c段,而地址是不变的。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-8-21 09:47:54 | 显示全部楼层
{:1_1:}
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-8-1 15:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表