新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > Android ARM 匯編學習(一)

        Android ARM 匯編學習(一)

        作者: 時間:2016-11-09 來源:網絡 收藏
        給自己挖了個坑,一切都得從“Hello World”開始。

        hello.S

        本文引用地址:http://www.104case.com/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



        關鍵詞: AndroidARM匯編學

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 博乐市| 缙云县| 农安县| 和硕县| 阿克陶县| 澄江县| 博野县| 安龙县| 巴马| 太湖县| 三亚市| 天等县| 田林县| 南木林县| 花莲市| 牙克石市| 台山市| 岱山县| 武邑县| 商洛市| 昆明市| 资兴市| 辉县市| 宝应县| 山阳县| 自贡市| 莆田市| 会泽县| 象州县| 长子县| 安岳县| 清徐县| 金阳县| 平谷区| 双鸭山市| 邹平县| 闵行区| 墨脱县| 和林格尔县| 无棣县| 徐汇区|