读书人

请问一个汇编题

发布时间: 2012-04-03 12:38:19 作者: rapoo

请教一个汇编题
原码~~~~~~~~~~~~~~~~~~~~
ORG 0000H
JMP 主程序入口;

主程序入口:MOV DPTR,#流水灯数据
MOV R2,#0
主程序循环:CALL 延时一段时间
MOV A,R2
MOVC A,@A+DPTR
MOV P1,A
INC R2
CJNE R2,#8*5,主程序循环
MOV R2,#0
JMP 主程序循环
延时一段时间:MOV R6,#100
DJNZ R7,$
DJNZ R6,$-2
RET
流水灯数据:DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH
DB 07FH,0BFH,0DFH,0EFH,0F7H,0FBH,0FDH,0FEH
DB 07EH,0BDH,0DBH,0E7H,0E7H,0DBH,0BDH,07EH
DB 0FFH,07FH,03FH,01FH,00FH,007H,003H,001H
DB 000H,001H,003H,007H,00FH,01FH,03FH,07FH
        用Keil uVision3编译的
       有一个错误是
          JKKK.C(1): error C129: missing ';' before '0000'
请问是什么意思,
请各位大侠快帮帮忙啊!!!
急急急~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!!!!!!!!!!!!!!!!!!!!!!!!


[解决办法]
貌似是语法格式的问题
[解决办法]
DPTR?似乎不是.386汇编指令啊?记得N年以前,学习51单片机好像有个dptr的,不知道是不是这个
[解决办法]
Keil 现在支持中文了?
最好不要用中文.
另外,看一下
ORG 0000H
是否支持(很久没做单片机了,供参考)
[解决办法]
不是8086汇编,也不是win32汇编

不会
[解决办法]
再看一下楼主的问题,有点晕:
JKKK.C(1): error C129: missing ';' before '0000'
明明是汇编程序,怎么是C后缀啊,用C编译器,当然出错了
另外,我看了一下以前写过的keil汇编格式,好像也不对,你的程序是自己写的还是书上的?

[解决办法]
那书上的程序不知是用什么编译器的,居然用中文(像是伪代码),也许是我落后了
另外,你文件名肯定是有问题的,应该是A51或ASM后缀
keil编译器有很多例子的,C的,汇编的都有,先从那里看一下吧.

[解决办法]
语法格式的问题吧。

怎么还能用中文呢,比如标号 主程序入口 等,反正win32的汇编没这么写的。
[解决办法]
我保证,这是我见过的最牛B的单片机程序了。
[解决办法]
keil使用简介:
1.选菜单上的Project->New Project,并建一文件名如:test
2.选设备:如Atmel AT89C51
3.可选Startup(如果你不在电脑上调试结果,用访真器或直接上目标机,这个可以不要),选N
4.加入你的文件(你上面的错就是少这一步)
点击Target 1下的Source Group1 ,加入你的程序(选文件类型为asm)
5.编译项目(你的程序经测试语法没问题,在最后加个END即可)
它将生成.obj文件,如果要生成.hex,可点击Target 1,然后在Project上的Options for Target 'Target 1'的output中选Create Hex File并重新build



[解决办法]
先熟悉一下keil环境吧,怎么和单片机连接起来。

读书人网 >C++

热点推荐