Browsing this Thread:
1 Anonymous Users
|
嵌入組語的問題
|
|
高級會員
Joined
: 2006/7/6 11:10 最後登入時間
: 2010/4/1 1:14
Group:
註冊會員
Level : 7 HP : 0 / 161 MP : 24 / 8615 EXP : 46
|
您好: 我在測試語組的時後,將程式寫在test.s時 BSET CORCON, #SATA ; Enable Saturation on Acc A BCLR CORCON, #SATA ; Disable Saturation on Acc A 這兩行設定都沒有問題
但將程式嵌入在test.c時,卻會發生錯誤 __asm__("BSET CORCON, #SATA ;");
__asm__("BCLR CORCON, #SATA ;");
以下是錯誤訊息:
C:\DOCUME~1\DOUBLE~1\LOCALS~1\Temp/ccQ6ee00.s: Assembler messages: C:\DOCUME~1\DOUBLE~1\LOCALS~1\Temp/ccQ6ee00.s:5985: Error: Invalid operands specified ('bset CORCON,#SATA'). C:\DOCUME~1\DOUBLE~1\LOCALS~1\Temp/ccQ6ee00.s:5985: Check operand #2. Operand must be between 0 and 15, inclusive. C:\DOCUME~1\DOUBLE~1\LOCALS~1\Temp/ccQ6ee00.s:5999: Error: Invalid operands specified ('bclr CORCON,#SATA'). C:\DOCUME~1\DOUBLE~1\LOCALS~1\Temp/ccQ6ee00.s:5999: Check operand #2. Operand must be between 0 and 15, inclusive.
因為我查SATA是第7bit,所以不知道我改為這樣寫對不對? __asm__(" BSET CORCON, #7 "); __asm__(" BCLR CORCON, #7 ");
題外話,因為我有試過把這2行註解掉,對我的MAC測試程式沒有差異,不知道SATA這個暫存器的功用為何?
謝謝!
發表於: 2009/7/9 9:48
|
|
You can view topic.
你 不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.