本人刚刚学习用silicon laboratories IDE,有个问题想请教<br /><br />程序如下:<br /><br />$NOMOD51<br />;-----------------------------------------------------------------------------<br />; Copyright (C) 2005 Silicon Laboratories, Inc.<br />; All rights reserved.<br />;<br />;<br />;<br />; FILE NAME : BLINK.ASM <br />; TARGET MCU : C8051F060/1/2/3 <br />; DESCRIPTION : This program illustrates how to disable the watchdog timer,<br />; configure a port and write to a port I/O pin.<br />;<br />; NOTES: <br />;<br />;-----------------------------------------------------------------------------<br /><br />$include (c8051f060.inc) ; Include register definition file.<br /><br />;-----------------------------------------------------------------------------<br />; EQUATES<br />;-----------------------------------------------------------------------------<br /><br />GREEN_LED equ P1.6 ; Port I/O pin connected to Green LED. <br /><br />;-----------------------------------------------------------------------------<br />; RESET and INTERRUPT VECTORS<br />;-----------------------------------------------------------------------------<br /><br /> ; Reset Vector<br /> cseg AT 0<br /> ljmp Main ; Locate a jump to the start of code at <br /> ; the reset vector.<br /><br />;-----------------------------------------------------------------------------<br />; CODE SEGMENT<br />;-----------------------------------------------------------------------------<br /><br /><br />Blink segment CODE<br /><br /> rseg Blink ; Switch to this code segment.<br /> using 0 ; Specify register bank for the following<br /> ; program code.<br /><br />Main: ; Disable the WDT. (IRQs not enabled at this point.)<br /> ; If interrupts were enabled, we would need to explicitly disable<br /> ; them so that the 2nd move to WDTCN occurs no more than four clock <br /> ; cycles after the first move to WDTCN.<br /><br /> mov WDTCN, #0DEh<br /> mov WDTCN, #0ADh<br /><br /> ; Use SFRs on the Configuration Page<br /> mov SFRPAGE, #CONFIG_PAGE<br /><br /> ; Enable the Port I/O Crossbar<br /> mov XBR2, #40h<br /><br /> ; Set P1.6 (LED) as digital output in push-pull mode. <br /> orl P1MDOUT,#40h <br /><br /> ; Initialize LED to OFF<br /> clr GREEN_LED<br /><br /> ; Simple delay loop.<br />Loop2: mov R7, #03h <br />Loop1: mov R6, #00h<br />Loop0: mov R5, #00h<br /> djnz R5, $<br /> djnz R6, Loop0<br /> djnz R7, Loop1<br /> cpl GREEN_LED ; Toggle LED.<br /> jmp Loop2<br /><br /><br />;-----------------------------------------------------------------------------<br />; End of file.<br /><br />END<br /><br />============================================================<br />1、当assemble/compile file 时输出窗口显示:<br /><br />Invoking project defined assembler.<br />C:Program FilessilabsIDEfilesC51BINA51.exe blink.asm XR GEN DB EP NOMOD51.<br />A51 MACRO ASSEMBLER V7.09 - SN: Eval Version<br />COPYRIGHT KEIL ELEKTRONIK GmbH 1987 - 2004<br /><br />ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)<br />-------------------------------------------<br /><br />当build/make project 时输出窗口显示:<br /><br />Link in progress...<br />C:Program FilessilabsIDEfilesC51BINBL51.exe @C:iiasmcyglink.txt<br /><br /><br />BL51 BANKED LINKER/LOCATER V5.03 - SN: Eval Version<br />COPYRIGHT KEIL ELEKTRONIK GmbH 1987 - 2002<br />C:iiasmlink.obj TO C:iiasmBLINK. RS(256) PL(68) PW(78) <br /><br />******************************************************************************<br />* RESTRICTED VERSION WITH 0800H BYTE CODE SIZE LIMIT; USED: 0026H BYTE ( 1%) *<br />******************************************************************************<br /><br />>> <br />>> <br />>> <br />Program Size: data=8.0 xdata=0 code=36<br />LINK/LOCATE RUN COMPLETE. 0 WARNING(S), 0 ERROR(S)<br />----------------------------------------------------------<br /><br />当rebuild project 时输出窗口显示:<br /><br />Invoking project defined compiler.<br />C:Program FilessilabsIDEfilesC51BINA51.exe blink.asm DB OE <br /><br /><br />A51 MACRO ASSEMBLER V7.09 - SN: Eval Version<br />COPYRIGHT KEIL ELEKTRONIK GmbH 1987 - 2004<br /><br />A51 FATAL ERROR -<br /> LINE: C:Program FilessilabsIDEfilesC51BINA51.exe blink.asm DB OE#<br /> ERROR: UNKNOWN CONTROL<br />A51 TERMINATED.<br /><br />Invoking project defined assembler.<br />C:Program FilessilabsIDEfilesC51BINA51.exe blink.asm XR GEN DB EP NOMOD51 <br /><br /><br />A51 MACRO ASSEMBLER V7.09 - SN: Eval Version<br />COPYRIGHT KEIL ELEKTRONIK GmbH 1987 - 2004<br /><br />ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)<br />Link in progress...<br />C:Program FilessilabsIDEfilesC51BINBL51.exe @C:iiasmcyglink.txt<br /><br /><br />BL51 BANKED LINKER/LOCATER V5.03 - SN: Eval Version<br />COPYRIGHT KEIL ELEKTRONIK GmbH 1987 - 2002<br />C:iiasmlink.obj TO C:iiasmBLINK. RS(256) PL(68) PW(78) <br /><br />******************************************************************************<br />* RESTRICTED VERSION WITH 0800H BYTE CODE SIZE LIMIT; USED: 0026H BYTE ( 1%) *<br />******************************************************************************<br /><br />>> <br />>> <br />>> <br />Program Size: data=8.0 xdata=0 code=36<br />LINK/LOCATE RUN COMPLETE. 0 WARNING(S), 0 ERROR(S)<br />----------------------------------------------------------------<br /><br />请问,中间有些错误(比如“A51 FATAL ERROR”)是什么原因,如何改正?谢谢! |
|