主题:关于ARM汇编语法格式的问题啊,,急死了,我是新手啊.请兄弟姐妹们帮帮忙啊.
问题一:
[ {FALSE}
b %B1 ;handler for Undefined mode
b %B1 ;handler for SWI interrupt
b %B1 ;handler for PAbort
b %B1 ;handler for DAbort
b %B1 ;reserved
b %B1 ;handler for IRQ interrupt
]
请问这是[ {FALSE} ]什么意思啊,在中括号里面加代码代表什么?
问题二:
SMRDATA DATA
DCD (0+(B1_BWSCON<<4)+(B2_BWSCON<<8)+(B3_BWSCON<<12)+(B4_BWSCON<<16)+(B5_BWSCON<<20)+(B6_BWSCON<<24)+(B7_BWSCON<<28))
DCD ((B0_Tacs<<13)+(B0_Tcos<<11)+(B0_Tacc<<8)+(B0_Tcoh<<6)+(B0_Tah<<4)+(B0_Tacp<<2)+(B0_PMC))
DCD ((B1_Tacs<<13)+(B1_Tcos<<11)+(B1_Tacc<<8)+(B1_Tcoh<<6)+(B1_Tah<<4)+(B1_Tacp<<2)+(B1_PMC))
DCD ((B2_Tacs<<13)+(B2_Tcos<<11)+(B2_Tacc<<8)+(B2_Tcoh<<6)+(B2_Tah<<4)+(B2_Tacp<<2)+(B2_PMC))
DCD ((B3_Tacs<<13)+(B3_Tcos<<11)+(B3_Tacc<<8)+(B3_Tcoh<<6)+(B3_Tah<<4)+(B3_Tacp<<2)+(B3_PMC))
DCD ((B4_Tacs<<13)+(B4_Tcos<<11)+(B4_Tacc<<8)+(B4_Tcoh<<6)+(B4_Tah<<4)+(B4_Tacp<<2)+(B4_PMC))
DCD ((B5_Tacs<<13)+(B5_Tcos<<11)+(B5_Tacc<<8)+(B5_Tcoh<<6)+(B5_Tah<<4)+(B5_Tacp<<2)+(B5_PMC))
DCD ((B6_MT<<15)+(B6_Trcd<<2)+(B6_SCAN))
DCD ((B7_MT<<15)+(B7_Trcd<<2)+(B7_SCAN))
DCD ((REFEN<<23)+(TREFMD<<22)+(Trp<<20)+(Trc<<18)+(Tchr<<16)+REFCNT)
DCD 0xB2 ;SCLK power saving mode, BANKSIZE 128M/128M
DCD 0x30 ;MRSR6 CL=3clk
DCD 0x30
大家见到过这样的定义吗?我查过ARM汇编指令集了,也找到了有关DCD指令的说明,但是说的不详细啊,这是这个指令的语法格式:
{label} DCD expr{,expr}{,expr}{,expr}.....
label : 表示内存块起始地址标号
expr : 常数表达式,或程序中的标号内存分配字节数由expr个数
决定
SMRDATA DATA 这两个哪个是内存起始地址标号,是SMRDATA,还是DATA?
上面这么多的DCD指令,前面的{label} 都省略了吗?
[ {FALSE}
b %B1 ;handler for Undefined mode
b %B1 ;handler for SWI interrupt
b %B1 ;handler for PAbort
b %B1 ;handler for DAbort
b %B1 ;reserved
b %B1 ;handler for IRQ interrupt
]
请问这是[ {FALSE} ]什么意思啊,在中括号里面加代码代表什么?
问题二:
SMRDATA DATA
DCD (0+(B1_BWSCON<<4)+(B2_BWSCON<<8)+(B3_BWSCON<<12)+(B4_BWSCON<<16)+(B5_BWSCON<<20)+(B6_BWSCON<<24)+(B7_BWSCON<<28))
DCD ((B0_Tacs<<13)+(B0_Tcos<<11)+(B0_Tacc<<8)+(B0_Tcoh<<6)+(B0_Tah<<4)+(B0_Tacp<<2)+(B0_PMC))
DCD ((B1_Tacs<<13)+(B1_Tcos<<11)+(B1_Tacc<<8)+(B1_Tcoh<<6)+(B1_Tah<<4)+(B1_Tacp<<2)+(B1_PMC))
DCD ((B2_Tacs<<13)+(B2_Tcos<<11)+(B2_Tacc<<8)+(B2_Tcoh<<6)+(B2_Tah<<4)+(B2_Tacp<<2)+(B2_PMC))
DCD ((B3_Tacs<<13)+(B3_Tcos<<11)+(B3_Tacc<<8)+(B3_Tcoh<<6)+(B3_Tah<<4)+(B3_Tacp<<2)+(B3_PMC))
DCD ((B4_Tacs<<13)+(B4_Tcos<<11)+(B4_Tacc<<8)+(B4_Tcoh<<6)+(B4_Tah<<4)+(B4_Tacp<<2)+(B4_PMC))
DCD ((B5_Tacs<<13)+(B5_Tcos<<11)+(B5_Tacc<<8)+(B5_Tcoh<<6)+(B5_Tah<<4)+(B5_Tacp<<2)+(B5_PMC))
DCD ((B6_MT<<15)+(B6_Trcd<<2)+(B6_SCAN))
DCD ((B7_MT<<15)+(B7_Trcd<<2)+(B7_SCAN))
DCD ((REFEN<<23)+(TREFMD<<22)+(Trp<<20)+(Trc<<18)+(Tchr<<16)+REFCNT)
DCD 0xB2 ;SCLK power saving mode, BANKSIZE 128M/128M
DCD 0x30 ;MRSR6 CL=3clk
DCD 0x30
大家见到过这样的定义吗?我查过ARM汇编指令集了,也找到了有关DCD指令的说明,但是说的不详细啊,这是这个指令的语法格式:
{label} DCD expr{,expr}{,expr}{,expr}.....
label : 表示内存块起始地址标号
expr : 常数表达式,或程序中的标号内存分配字节数由expr个数
决定
SMRDATA DATA 这两个哪个是内存起始地址标号,是SMRDATA,还是DATA?
上面这么多的DCD指令,前面的{label} 都省略了吗?