新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Android ARM 匯編學(xué)習(xí)(一)

Android ARM 匯編學(xué)習(xí)(一)

作者: 時(shí)間:2016-11-09 來源:網(wǎng)絡(luò) 收藏
給自己挖了個(gè)坑,一切都得從“Hello World”開始。

hello.S

本文引用地址:http://m.butianyuan.cn/article/201611/317577.htm

.data

msg:
.ascii "Hello, World!n"
len = . - msg

.text

.globl _start
_start:
/* syscall write(int fd, const void *buf, size_t count) */
mov %r0, $1 /* fd -> stdout */
ldr %r1, =msg /* buf -> msg */
ldr %r2, =len /* count -> len(msg) */
mov %r7, $4 /* write is syscall #4 */
swi $0 /* invoke syscall */

/* syscall exit(int status) */
mov %r0, $0 /* status -> 0 */
mov %r7, $1 /* exit is syscall #1 */
swi $0 /* invoke syscall */

arm-linux-androideabi-as -o hello.o hello.S

arm-linux-androideabi-ld -s -o hello hello.o

adb push hello /data/local/tmp/hello
adb shell /data/local/tmp/hello



關(guān)鍵詞: AndroidARM匯編學(xué)

評(píng)論


技術(shù)專區(qū)

關(guān)閉