中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 汇编语言编译器使用问题 上一主题 | 下一主题
chrise
初级用户





积分 88
发帖 32
注册 2010-3-27
状态 离线
『楼 主』:  汇编语言编译器使用问题

x-9.asm(7): warning A4016: Reserved word used as symbol: CS
ex-9.asm(8): error A2062: Missing or unreachable CS
ex-9.asm(16): error A2062: Missing or unreachable CS
ex-9.asm(18): error A2062: Missing or unreachable CS

  50866 + 415518 Bytes symbol space free
ex-9.asm(18): error A2062: Missing or unreachable CS是什么意思,尤其是 A2062跟错误位置有什么关系

2010-4-5 20:51
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
070
高级用户

苏醒的沉睡者


积分 659
发帖 217
注册 2003-2-15
来自 福建
状态 离线
『第 2 楼』:  

error A2062: Missing or unreachable CS是什么意思

大意应该是,CS段(代码段)丢失或不可到达。。。你看看你的CS段设置对不对

至少也要把源代码给贴出来啊!
编程环境是什么?MASM的版本好,如果是比较新的版本,可以考虑伪代码,这样就可以省去段的设置了。。。而且不容易出错!



好久没碰Dos,手都生了,赶紧回来练练.嘿嘿
2010-4-6 09:31
查看资料  发送邮件  发短消息 网志  OICQ (181315400)  编辑帖子  回复  引用回复
chrise
初级用户





积分 88
发帖 32
注册 2010-3-27
状态 离线
『第 3 楼』:  源程序如下,希望指点一下

题目是统计正数负数和0 的个数
name ex-10
data segment
buff dw 12,43,54,78,34
plus dw ?
minus dw ?
zero  dw ?
count dw $-buff
data ends
code segment
assume cs:code ds:data
start:mov ax,data
      mov ds,ax
      mov cx,count
      lea si,buff
begain:cmp [si],0
      je zero0
       jg plus0
       jl minus0
zero0:inc ah
      jmp com
plus0:inc al
      jmp com
minus0:inc bh
       jmp com
com:inc si
loop begaim
mov ah,4ch
inc 21h
code ends
end start
错误提示是
ishuqi.asm(1): warning A4001: Extra characters on line
jishuqi.asm(10): warning A4001: Extra characters on line
jishuqi.asm(15): error A2035: Operand must have size
jishuqi.asm(26): error A2009: Symbol not defined: BEGAIM
jishuqi.asm(28): error A2056: Immediate mode illegal

  50818 + 415566 Bytes symbol space free

      2 Warning Errors
      3 Severe  Errors
高手能不能给分析一下需错误是什么意思?不胜感激


[ Last edited by chrise on 2010-4-6 at 20:30 ]

2010-4-6 20:28
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
070
高级用户

苏醒的沉睡者


积分 659
发帖 217
注册 2003-2-15
来自 福建
状态 离线
『第 4 楼』:  

第一行,应该是"_",而不是减号"-“
第十行,assume cs:code,ds:data ,你漏了一个逗号
十五行,确实不知道为什么了
二六行,应该为begain,你打错字母了
二八行,应该是int,而不是inc

输入错误太多。。代码写的时候注意一下就好了。



好久没碰Dos,手都生了,赶紧回来练练.嘿嘿
2010-4-7 12:32
查看资料  发送邮件  发短消息 网志  OICQ (181315400)  编辑帖子  回复  引用回复
chrise
初级用户





积分 88
发帖 32
注册 2010-3-27
状态 离线
『第 5 楼』:  很受益

十分感谢,以后会注意

2010-4-7 20:53
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
本是
银牌会员





积分 2201
发帖 789
注册 2005-1-27
状态 离线
『第 6 楼』:  

15行“cmp [si],0”改为“cmp byte ptr [si],0”。
用masm5才会提示出现此错误。MASM6不会。



my major is english----my love is dos----my teacher is the buddha----my friends--how about U
2010-4-8 09:15
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
070
高级用户

苏醒的沉睡者


积分 659
发帖 217
注册 2003-2-15
来自 福建
状态 离线
『第 7 楼』:  

还是本是大哥厉害。。。!



好久没碰Dos,手都生了,赶紧回来练练.嘿嘿
2010-4-8 12:14
查看资料  发送邮件  发短消息 网志  OICQ (181315400)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: