汇编程序--系统调用


    .arch armv6
    .fpu softvfp
    .data
msg:
    .asciz    "Hello, ARM ASM\n"

len = . - msg

.text
.global _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 */

.end

/* arm-linux-gcc msg.s -o msg -nostdlib */

猜你喜欢

转载自blog.csdn.net/xiaozhiwise/article/details/112304889
今日推荐