51汇编与C全面周立功

2019-03-24 17:07发布

书上系统时钟例程能看懂,但后面对该例程的优化看不明白了。怎么将下面这段代码与时钟系统的c程序连接起来呢?我试了好长时间,一直没成功。
CSEG AT 0400H
bcdmap: DB '0' ,'0'
DB '0' ,'1'
DB '0' ,'2'
...
DB '5' ,'7'
DB '5' ,'8'
DB '5' ,'9'
END 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
hfjzy0702
1楼-- · 2019-03-26 03:55
但如果用CSEG AT 0400H,就会出错。提示*** WARNING L9: EMPTY SEGMENTS ENCOUNTERED
$NOMOD51
NAME BCDMAP1   
?CO?bcdmap1 SEGMENT CONST
PUBLIC bcdmap
//RSEG  ?CO?BCDMAP1  
CSEG AT 0400H
bcdmap:
         DB '0', '0'  
         DB '0', '1'  
         ....
         DB  '5' ,'9'
END
xuyiyi
2楼-- · 2019-03-26 07:58
这个问题以前俺也碰到过
CSEG  AT  0400H
不能和下面的标号紧贴,和上面一句话句对换一下位置,即可。
xuyiyi
3楼-- · 2019-03-26 11:45
 精彩回答 2  元偷偷看……
xuyiyi
4楼-- · 2019-03-26 16:58
程序改成这样试一试:

$NOMOD51
NAME BCDMAP1   
?CO?bcdmap1 SEGMENT CONST
PUBLIC bcdmap
PUBLIC abcdef
CSEG AT 0400H
bcdmap:
         DB '0', '0'  
         DB '0', '1'  
         ....
         DB  '5' ,'9'

RSEG  ?CO?BCDMAP1  
abcdef:
         DB '0'
END
xuyiyi
5楼-- · 2019-03-26 20:13
或者这样,

$NOMOD51
NAME BCDMAP1   
?CO?bcdmap1 SEGMENT CONST
PUBLIC bcdmap
PUBLIC abcdef

RSEG  ?CO?BCDMAP1  
abcdef:
         DB '0'
CSEG AT 0400H
bcdmap:
         DB '0', '0'  
         DB '0', '1'  
         ....
         DB  '5' ,'9'

END
xuyiyi
6楼-- · 2019-03-26 20:53
 精彩回答 2  元偷偷看……

一周热门 更多>