首页 > 系统服务 > 详细

AT&T Assembly for Linux and Mac (sys_write)

时间:2015-04-15 23:09:05      阅读:263      评论:0      收藏:0      [点我收藏+]

Write() in C : (sys_write.c)

#include <stdio.h>

int main(void)
{
    printf("Hello Landpack\n");
    return 0;
}

 

技术分享

 

Write() in AT&T for Linux:(sys_write.s)

.section .data

_data:  .ascii "Hello Landpack\n"

        len = .-_data

.section .text

.globl  _start

_start:

        movl    $4,     %eax    #for write
        movl    $_data, %ecx    #The address of data
        movl    $len,   %edx    #The len of string
        movl    $0,     %ebx    #exit with 0
        int     $0x80

        movl    $1,     %eax    #sys_exit
        movl    $0,     %ebx    #exit with 0
        int     $0x80

 

技术分享

 

Write() in AT&T for Mac: (sys_write.s):

.globl _main

_main:

    pushq   %rbp
    #movq   %rsp,   %rbp
    leaq    _data(%rip),%rdi
    callq   _puts
    xorl    %eax,   %eax
    popq    %rbp
    ret 

.section    _TEXT,_cstring,cstring_literals

_data:

    .ascii  "Hello Landpack"

技术分享

AT&T Assembly for Linux and Mac (sys_write)

原文:http://www.cnblogs.com/landpack/p/4430407.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!