AT&T Assembly for Linux and Mac (sys_write)
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"
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。