| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2029 人关注过本帖
标题:[求助]编译不通过,Missing or unreachable cs
只看楼主 加入收藏
dalin
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-4-18
收藏
 问题点数:0 回复次数:7 
[求助]编译不通过,Missing or unreachable cs
;此程序目的是计数1的个数,并输出,addr中放4567的符号地址number,number中放4567
;数据
data segment
addr: dw number
number: dw 4567
count: dw ?
data ends
prognam segment
main proc far
assume cs:prognam,ds:data
start: push ds ;set stack segment
sub ax,ax
push ax
;main part of program ;数1
mov ax,data
mov ds,ax
sub cx,cx
mov bx,addr
mov ax,[bx]
repeat: test ax,0ffffh
jz exit
jns shift
inc cx
shift: shl ax,1
jmp repeat
exit: mov bx,cx ;以16进制输出
mov cl,4
mov ch,4
rotate: rol bx,cl
mov ax,bx
and ax,000fh
add al,30h
cmp al,3ah
jl print
add al,7
print: mov ah,2
mov dl,al
int 21h
dec ch
jnz rotate
ret
main endp
prognam ends
end start
搜索更多相关主题的帖子: Missing unreachable 编译 
2007-04-18 22:44
菜鸟上路
Rank: 4
等 级:贵宾
威 望:14
帖 子:1120
专家分:0
注 册:2006-3-21
收藏
得分:0 
把far改成其他限制符试试

2007-04-19 12:19
dalin
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-4-18
收藏
得分:0 
回复:(菜鸟上路)把far改成其他限制符试试

改为near也是一样的错误提示,看提示意思好像是cs指向一个达不到的地址,但是不知从哪里开始查错;
希望大家不吝赐教

2007-04-19 16:29
菜鸟上路
Rank: 4
等 级:贵宾
威 望:14
帖 子:1120
专家分:0
注 册:2006-3-21
收藏
得分:0 
是不是assume cs:prognam,ds:data要写在main proc far前面啊?!

2007-04-19 21:58
dalin
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-4-18
收藏
得分:0 
回复:(dalin)[求助]编译不通过,Missing or unreac...

不是这个问题

2007-04-20 12:34
dalin
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-4-18
收藏
得分:0 
回复:(dalin)[求助]编译不通过,Missing or unreac...
assume 比较随意的,放哪都行吧,只要没重复定义
2007-04-20 12:42
dalin
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-4-18
收藏
得分:0 
回复:(dalin)[求助]编译不通过,Missing or unreac...

;此程序目的是数1的个数,并输出,addr中放4567的符号地址number,number中放4567
;数据

prognam segment
main proc far
assume cs:prognam
start: push ds ;set stack segment
sub ax,ax
push ax
;main part of program ;数1

sub cx,cx

mov ax,4567
repeat: test ax,0ffffh
jz exit
jns shift
inc cx
shift: shl ax,1
jmp repeat
exit: mov bx,cx ;以16进制输出
mov cl,4
mov ch,4
rotate: rol bx,cl
mov ax,bx
and ax,000fh
add al,30h
cmp al,3ah
jl print
add al,7
print: mov ah,2
mov dl,al
int 21h
dec ch
jnz rotate
ret
main endp
prognam ends
end start

2007-04-20 12:52
dalin
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-4-18
收藏
得分:0 

就是不要数据段,直接将ax寄存器值设置为4567,这样可以得到正确程序
可是又没有人知道为什么?

2007-04-20 12:53
快速回复:[求助]编译不通过,Missing or unreachable cs
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032906 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved