你的错误代码是errorc129:这是一个C语言方面的语法错误,说明
你的文件被保存为樱亮C文件(文件名为.c后缀)。我用你这段
程序放在keil编译器中试验过,当程序保存为c文件并编译时,会出现如你所示的errorc129的错误且指向程序的第一句代码处;若将文件另存为汇编文件(文件名为.asm后缀)再进行编译,则不会出现c129的报错。 现在将这段程序保存为.asm文件,并将程序整理为以下形式:ORG 0000H LJMP START ORG 000BH LJMP INTT0START: MOV R0,#70H MOV R7,#0CH INIT: MOV @R0,#00H INC R0 DJNZ R7,INIT MOV 72H,#10 MOV 75H,#10 MOV TMOD,#01H MOV TL0,#0B0H MOV TH0,#03CH SETB EA SETB ET0 SETB TR0 START1: LCALL SCAN LCALL KEYSCAN SJMP START1DL1MS: MOV R6,#14H DL1: MOV R7,#19H DL2: DJNZ R7,DL2 DJNZ R6,DL1 RETDL20MS:对于以上程序段,不知道整理出来之后是否与你的原代码相同,但其中有一点需要说明,汇编文件中的分号“”的作用与C文件中的“ //”作用类似,它后面紧跟的是注释内容。 你这段程序,若按以上整理,那么所有命令后脊塌宽面的分号“ ”都可以不要的。不过,也有可能你确实使用了分号的作用,将后面一些命令作了屏蔽处理,则此处不另作说明。下面将整理后的程序进行编译,会出现以下报错情况:错误、警告的解释: 第4行的错误原因是:标志符号“INTT0”没有定义; 第18行的错误原因是:标志符号“SCAN”没有定义; 第19行的错误原因是:标志符号“KEYSCAN”没有定义; 第27行的警告原因是:代码结束处没有“END”命令;(注:所有汇编文件结尾处都应有一句“END”命令表示结束) 可以看得出,你这段程序应该不是完整的,另有一部份你衫衫没有复制出来。你可以根据以上说明,再结合你的实际情况处理你的程序。祝你成功!系统默认使用音频程序打开.asm文件了!
如念滑果想改成记事本打开的话,请:
1、右击 .asm文件
2、选择 打开方式 \ 选择默认程序(C)...
3、在打开方式对话框内,选择手铅 记事本
4、勾选 始终使用选择的程序打开这种文件(A)
5、点击 确毕高好定。
OK!
你遇到的这个问题,出错是因为找不到 helloworld.asm文件。
找不到helloworld.asm文件的原因,不是路径映射问题,而是文件名问题。
在DOSbox里,它只支持纯DOS的8.3短文件名。文件名最大长度不能超过8个字符败渗。
你的问棚颤题有两个解决办法:
1. 将源文件改名。
将helloworld.asm改成hello.asm(或其它名字,要求前面的名字长度小于或等于8个字符)。
建议用这个办法。
2. 在命令行察和脊里使用系统可认的短文件名。
helloworld.asm在8.3文件系统中的名字是hellow~1.asm,你将命令改成 masm hellow~1.asm即可。(用DIR命令可查看短文件名)
评论列表(0条)