我有一個用ARM彙編器編寫的簡單函數。第一次運行時,一切都按需要運行(打印BOOT\n
)。但是,第二次執行該功能時,不會打印任何內容。ARM彙編函數有問題嗎?
.globl __printTest
.text
.align 2
__printTest:
sub sp, #64 /* yes, I know this is too much */
mov r0, #66
str r0, [sp]
mov r0, #79
str r0, [sp, #1]
mov r0, #79
str r0, [sp, #2]
mov r0, #84
str r0, [sp, #3]
mov r0, #10
str r0, [sp, #4]
mov r0, #0
mov r1, sp
mov r2, #5
bl _write
add sp, #64
bx lr
可能是什麼問題?我懷疑,這不知何故擰了緩衝區,它不再工作。寫是一個函數,它使用svc
指令在Linux上調用write
系統調用。
謝謝!這工作。 – 2012-04-18 18:30:29