C51用汇编语言写,用什么编译器

做一个码农都是奢望 2012-03-21 08:18:28
在keilc 中可以增加 #program asm 可以用汇编。

请问有没有单独的C51汇编语言编译器。

谢谢!
...全文
526 21 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
liang118038 2012-04-04
  • 打赏
  • 举报
回复
其实这年头没什么人直接用汇编这么傻的啦,毕竟不好重用,一般用在C语言跟汇编的混合调用(特别是实时多任务系统设计就是这么用的),一般应用根本不应该用汇编来做!
liang118038 2012-04-04
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]

我试过用KEIL写过汇编,但是下载到机器里运行不了,程序是对的,就点亮一个小灯
ORG 0000H
SJMP START
ORG 0030H
START: MOV SP,#60H
MAIN:MOV P1,#01110111B
MOV P0,#01111111B
SJMP MAIN
END
[/Quote]
你这个干嘛要:START:MOV SP,#60H
直接将MOV SP,#60H去掉吧
kakalgylgy 2012-03-31
  • 打赏
  • 举报
回复
直接keil就行吧,注意后缀名
  • 打赏
  • 举报
回复
将KEIL C51自动生成的start.a51删除即可。
另外 将自己编写的a51代码 选项--添加 DEFINE 8051 SFR NAMES.

  • 打赏
  • 举报
回复
org 0000h
ljmp main
org 0030h
main:
mov P1,0x01
end

编译抱错:

Build target 'Target 1'
assembling STARTUP.A51...
assembling 2.a51...
linking...
*** WARNING L5: CODE SPACE MEMORY OVERLAP
FROM: 0000H
TO: 0002H
*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL
SYMBOL: ?C_START
MODULE: STARTUP.obj (?C_STARTUP)
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
SYMBOL: ?C_START
MODULE: STARTUP.obj (?C_STARTUP)
ADDRESS: 003DH
Program Size: data=9.0 xdata=0 code=66
creating hex file from "1"...
"1" - 0 Error(s), 3 Warning(s).
  • 打赏
  • 举报
回复
谢谢大家的支持。
在keil c51种嵌入汇编总是抱错。
renwocai 2012-03-30
  • 打赏
  • 举报
回复
什么世道,写汇编的怎么被人像看动物园的猴子似的
Volftooth 2012-03-30
  • 打赏
  • 举报
回复
KEIL本来就可以写、新建文件时后缀改为.A51或者.S就可以了、
sulsansan 2012-03-24
  • 打赏
  • 举报
回复
我试过用KEIL写过汇编,但是下载到机器里运行不了,程序是对的,就点亮一个小灯
ORG 0000H
SJMP START
ORG 0030H
START: MOV SP,#60H
MAIN:MOV P1,#01110111B
MOV P0,#01111111B
SJMP MAIN
END
  • 打赏
  • 举报
回复
有没有谁用汇编对51操作过的。贴个例子看看 。
AnYidan 2012-03-23
  • 打赏
  • 举报
回复
各厂家应该有提供吧
he_nan_an 2012-03-23
  • 打赏
  • 举报
回复
你把A51.EXE拷出来,然后背下那些命令
net_friends 2012-03-23
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 jaz 的回复:]

谢谢 !!

不知道在Keil 下用汇编,还需要包含头文件吗?



引用 2 楼 lbing7 的回复:

在KEIL下写汇编,直接编写你的汇编程序,然后把文件名命名为asm后缀即可

。。。

如果是在C里嵌入汇编,那无需改文件名,在工程里加入一个库文件,然后对C源文件进行设置即可

具体的可以GOOGLE,有很多人都总结了这个方法
[/Quote]yes
  • 打赏
  • 举报
回复
谢谢 !!

不知道在Keil 下用汇编,还需要包含头文件吗?



[Quote=引用 2 楼 lbing7 的回复:]

在KEIL下写汇编,直接编写你的汇编程序,然后把文件名命名为asm后缀即可

。。。

如果是在C里嵌入汇编,那无需改文件名,在工程里加入一个库文件,然后对C源文件进行设置即可

具体的可以GOOGLE,有很多人都总结了这个方法
[/Quote]
C_ROOKIES 2012-03-23
  • 打赏
  • 举报
回复
org 0000h
ljmp main
org 0030h
main:

end
C_ROOKIES 2012-03-23
  • 打赏
  • 举报
回复
keil默认就可以用来编写汇编程序。
zhangliang_571 2012-03-23
  • 打赏
  • 举报
回复
伟福软件专门对汇编程序编译很调试
lbing7 2012-03-22
  • 打赏
  • 举报
回复
在KEIL下写汇编,直接编写你的汇编程序,然后把文件名命名为asm后缀即可

。。。

如果是在C里嵌入汇编,那无需改文件名,在工程里加入一个库文件,然后对C源文件进行设置即可

具体的可以GOOGLE,有很多人都总结了这个方法
dceacho 2012-03-21
  • 打赏
  • 举报
回复
你把A51.EXE拷出来,然后背下那些命令 不知道楼主是不是想这样

27,509

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧