zoukankan      html  css  js  c++  java
  • [原创]linux简单之美(三)

    原文链接:linux简单之美(三)

    在linux简单之美(二)中我们尝试使用了C库的函数完成功能,那么能不能用syscall方式来搞呢?显然可以!

     1 section .data
     2     ft db "now is X",10
     3 
     4 section .text
     5 global _start
     6 
     7 _start:
     8     mov edi,10
     9 again:
    10     dec edi
    11     mov eax,edi
    12     add eax,0x30
    13     mov byte [ft+7],al
    14 
    15     mov eax,4
    16     mov ebx,1
    17     mov ecx,ft
    18     mov edx,9
    19     int 0x80
    20 
    21     mov eax,162
    22     push 0
    23     push 1
    24     mov ebx,esp
    25     mov ecx,0
    26     int 0x80
    27     
    28     cmp edi,0
    29     jnz again
    30     
    31     mov eax,4
    32     mov ebx,1
    33     mov ecx,msg
    34     mov edx,15
    35     int 0x80
    36     
    37     mov eax,1
    38     mov ebx,0
    39     int 0x80
    40     
    41 msg:
    42  db "happy xxx day!",10

    编译链接命令如下:

    nasm -f elf main.asm

    ld -m elf_i386 -o main main.o

    在代码中延时使用的是nanosleep,其他和第一篇一致,只不过做了一个bin->ascii的小转换.

  • 相关阅读:
    Scala--基础
    maven
    Storm 运行例子
    Storm 安装部署
    Storm
    Kafka 集群部署
    Redis Twemproxy
    Redis Sentinel
    获取URL中参数的值
    浏览器滚动条样式
  • 原文地址:https://www.cnblogs.com/hopy/p/3830291.html
Copyright © 2011-2022 走看看