|
这是我的.CMD文件:<br /><br />-stack 40 <br /><br />MEMORY<br />{<br />PAGE 0: /* PROGRAM MEMORY */<br /> PM: ORIGIN=0h, LENGTH=08000h /* 32k on-chip flash memory */<br /> SARAM_P:ORIGIN=08000h, LENGTH=0800h /* 2k saram in program space */<br /> EX1_PM: ORIGIN=08800h, LENGTH=07600h /* extern ram*/<br /> B0_PM: ORIGIN=0FF00h, LENGTH=0100h /* on-chip daram if cnf = 1,else<br /> extern B0 =FF00h TO FFFFh*/<br /> <br />PAGE 1: /* DATA MEMORY */<br /> REGS: ORIGIN=0h, LENGTH=60h /* memory mapped registers */<br /> BLK_B2: ORIGIN=60h, LENGTH=20h /* block b2 */<br /> BLK_B0: ORIGIN=200h, LENGTH=100h /* block b0,if cnf=0 */<br /> BLK_B1: ORIGIN=300h, LENGTH=100h /* block b1 */<br /> SARAM_D:ORIGIN=0800h, LENGTH=0800h /* 2K SARAM in data space */<br /> PERIPH: ORIGIN=7000h, LENGTH=1000h /* peripheral registers space */<br /> EX2_DM: ORIGIN=8000h, LENGTH=8000h /* external data ram */<br /> <br />PAGE 2:<br /> IO_EX: ORIGIN=0000h, LENGTH=0FFF0h /* external io mapped peripherals */<br /> IO_IN: ORIGIN=0FFF0h, LENGTH=0Fh /* on-chip io mapped peripheral */<br />}<br /><br />SECTIONS<br />{<br /> .vectors:{}> PM PAGE 0<br /> .text: {}> PM PAGE 0<br /> .data: {}> BLK_B1 PAGE 1 <br /> .data_PRM: {}> BLK_B2 PAGE 1<br /> .STACKS: {}> BLK_B0 PAGE 1<br />}<br /><br /><br />这是我在程序中定义的变量:<br /> STACK .usect "STACKS",40h<br /> FLAGL .usect "data_PRM",1<br /> FLAGH .usect "data_PRM",1<br /> INCL .usect "data_PRM",1<br /> INCH .usect "data_PRM",1<br /><br />编译程序时,编译出错了:<br /> STACK .usect "STACKS",40h<br />"PWM.asm", line 9: INVALID OPCODE<br /><br /> FLAGL .usect "data_PRM",1<br />"PWM.asm", line 10: INVALID OPCODE<br /><br /> FLAGH .usect "data_PRM",1 <br />"PWM.asm", line 11: INVALID OPCODE<br /><br /> INCL .usect "data_PRM",1<br />"PWM.asm", line 12: INVALID OPCODE<br /><br /> INCH .usect "data_PRM",1<br />"PWM.asm", line 13: INVALID OPCODE<br /><br /><br />不知道为什么编译通不过,请知道的帮忙解决.<br /><br /><br /><br /> |
|