搜索
bottom↓
回复: 18

不能产生目标文件求解

[复制链接]

出0入0汤圆

发表于 2014-3-19 06:37:52 来自手机 | 显示全部楼层 |阅读模式
org 0000h
ajmp main
org 0030h
mov sp,#70h
main:mov a,#0feh
jnb p0.0,ar
jnb p0.1,al
ajmp main
ar:rra
ajmp main
al:rl a
ajmp main
end
手机输入效果不好
下面是uv3的提示:
0个错误,2个警告。
warning l1:unresolved external symbol
symbol: ?c_start
module:startup.obj(?c_startup)
另一个警告和这差不多。

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2014-3-19 08:36:32 | 显示全部楼层
al:rl a
少了  mov r1,a

出0入0汤圆

发表于 2014-3-19 08:43:19 | 显示全部楼层
warning l1:unresolved external symbol
symbol: ?c_start
module:startup.obj(?c_startup)

你是不是还在C环境下写的呀,他好像要C启动代码呢;

出0入0汤圆

发表于 2014-3-19 08:54:20 | 显示全部楼层
还是有输入错误的地方,注释掉可以生成目标和HEX文件

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入93汤圆

发表于 2014-3-19 09:12:26 | 显示全部楼层
module:startup.obj(?c_startup),这个……删掉startup.A51,再编译

出0入0汤圆

 楼主| 发表于 2014-3-19 10:19:14 来自手机 | 显示全部楼层
c2j888 发表于 2014-3-19 08:36
al:rl a
少了  mov r1,a

小写rl大写是RL循环左移,应该不用mov  rl,a

出0入0汤圆

 楼主| 发表于 2014-3-19 10:25:07 来自手机 | 显示全部楼层
mcu5i51 发表于 2014-3-19 08:43
warning l1:unresolved external symbol
symbol: ?c_start
module:startup.obj(?c_startup)

汗!有可能是这个原因。是在c环境下写的,后来复制代码到新建汇编工程编译的。第一次尝试写代码,输出显示都忘写了……回去再重写试试。感谢。

出0入0汤圆

 楼主| 发表于 2014-3-19 10:27:27 来自手机 | 显示全部楼层
takashiki 发表于 2014-3-19 09:12
module:startup.obj(?c_startup),这个……删掉startup.A51,再编译

uv3的提示看不明白,在网上找不到完整的使用手册。

出0入93汤圆

发表于 2014-3-19 10:37:32 | 显示全部楼层
liyute 发表于 2014-3-19 10:27
uv3的提示看不明白,在网上找不到完整的使用手册。

这个提示非常明白,网上找不到很正常,但是Keil自己的帮助文件应该有。
提示内容:

警告 L1:无法解析的外部符号
符号:?c_start
模块:startup.obj(?c_startup)

简单地说,就是找不到C语言的main函数。
很显然,因为你包含了startup.A51,这个是启动文件,它里面调用了?c_start,这个符号对应于C语言的main函数。
我为什么说这个文件应该剔除呢?如果不剔除的话,会在CODE空间产生重叠,以至于无法链接。

出0入0汤圆

 楼主| 发表于 2014-3-19 23:56:09 | 显示全部楼层
takashiki 发表于 2014-3-19 10:37
这个提示非常明白,网上找不到很正常,但是Keil自己的帮助文件应该有。
提示内容:

受教了,非常感谢你的详细解答.

出0入0汤圆

 楼主| 发表于 2014-3-20 00:03:26 | 显示全部楼层
本帖最后由 liyute 于 2014-3-20 00:13 编辑

晚上回来重新写了一段代码.请各位看看运行后会有什么样的后果呢?能不能达到预期的目的.我就是那个厚着脸皮出来被大家鄙视的小白!!!!
                                                                ;按键控制转移
  ;连接方法:p2口接LED灯        ,P0口接静态键盘.   
  ;按P0.0右移一位,按P0.1左移一位.



                   org 0000h
                   ljmp main
                   org 0030h
          main: mov sp,#70h
                  mov a,#0feh
              jj:  jnb p0.0,ar
                   jnb p0.1,al
                   ljmp jj
             ar:  rr a
                   mov p2,a
                   ljmp jj
             al:  rl a
                  mov p2,a
                  ljmp jj
                  end          

出0入0汤圆

发表于 2014-3-20 01:26:22 | 显示全部楼层
感觉你没有将.C或.ASM文件加入工程中进行编译。才会提示上面的警告

出0入0汤圆

 楼主| 发表于 2014-3-20 07:34:19 | 显示全部楼层
yuanyuxingqu 发表于 2014-3-20 01:26
感觉你没有将.C或.ASM文件加入工程中进行编译。才会提示上面的警告

是的,没加.asm要找uv3的资料学习学习了.

出0入0汤圆

发表于 2014-3-20 10:27:17 | 显示全部楼层
P0口接静态键盘,这个需要上拉的,看样子应该是成品板子上实现的,这方面倒不用考虑;
程序没有运行测试,目测没有去抖部分,可能工作状态不会太理想

出0入0汤圆

 楼主| 发表于 2014-3-21 04:33:47 | 显示全部楼层
mcu5i51 发表于 2014-3-20 10:27
P0口接静态键盘,这个需要上拉的,看样子应该是成品板子上实现的,这方面倒不用考虑;
程序没有运行测试,目测没 ...

能运行,按下按键时LED灯会全亮,松开按键随机有一个灯亮,加去抖的话估计在延时中只接受一次信号.运行会好点但按键时间稍长LED灯也会循环点亮,没达到理想的按一次键只移动一个位的目的,不知道用汇编要怎么实现.

出0入0汤圆

发表于 2014-3-21 16:12:32 | 显示全部楼层
加入运行标志,指示按键状态,常用的单击,连按两种状态可以适应大部分应用

出0入0汤圆

发表于 2014-3-22 09:57:43 | 显示全部楼层
程序很短,你可以Debug一下看看·`~

出0入0汤圆

 楼主| 发表于 2014-5-14 17:54:08 来自手机 | 显示全部楼层
新建工程时保存为c了,然后在上面写的汇编,然后又没加.asm入工程-_-||,谢谢大家,就这样筒单的描述都说对了,都是高手啊。

出0入0汤圆

发表于 2014-5-16 11:15:46 来自手机 | 显示全部楼层
liyute 发表于 2014-3-19 10:19
小写rl大写是RL循环左移,应该不用mov  rl,a

汇编不区分大小写,但c有大小写的区别。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 12:30

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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