隨筆 - 303  文章 - 883  trackbacks - 0
          <2007年12月>
          2526272829301
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          歡迎光臨! 
          閑聊 QQ:1074961813

          隨筆分類(357)

          我管理的群

          公共blog

          • n維空間
          • Email : java3d@126.com 群 : 12999758

          參與管理的論壇

          好友的blog

          我的其他blog

          朋友的網站

          搜索

          •  

          最新評論

          From:
                 http://asm.sourceforge.net/howto/Assembly-HOWTO.html
                 http://www.janw.dommel.be/eng.html

          Install nasm frist,then you can use this code

          NASM (hello.asm)

          section .text                ;section declaration

                      ;we must export the entry point to the ELF linker or
              global _start    ;loader. They conventionally recognize _start as their
                      ;entry point. Use ld -e foo to override the default.

          _start:

          ;write our string to stdout

                  mov     edx,len ;third argument: message length
                  mov     ecx,msg ;second argument: pointer to message to write
                  mov     ebx,1   ;first argument: file handle (stdout)
                  mov     eax,4   ;system call number (sys_write)
                  int     0x80    ;call kernel

          ;and exit

              mov    ebx,0    ;first syscall argument: exit code
                  mov     eax,1   ;system call number (sys_exit)
                  int     0x80    ;call kernel

          section .data                ;section declaration

          msg     db      "Hello, world!",0xa    ;our dear string
          len     equ     $ - msg                 ;length of our dear string


          please install the GAS before use the code

          .text                    # section declaration

                      # we must export the entry point to the ELF linker or
              .global _start    # loader. They conventionally recognize _start as their
                      # entry point. Use ld -e foo to override the default.

          _start:

          # write our string to stdout

              movl    $len,%edx    # third argument: message length
              movl    $msg,%ecx    # second argument: pointer to message to write
              movl    $1,%ebx        # first argument: file handle (stdout)
              movl    $4,%eax        # system call number (sys_write)
              int    $0x80        # call kernel

          # and exit

              movl    $0,%ebx        # first argument: exit code
              movl    $1,%eax        # system call number (sys_exit)
              int    $0x80        # call kernel

          .data                    # section declaration

          msg:
              .ascii    "Hello, world!\n"    # our dear string
              len = . - msg            # length of our dear string

          good luck !!


          地震讓大伙知道:居安思危,才是生存之道。
          posted on 2007-12-19 16:54 小尋 閱讀(622) 評論(2)  編輯  收藏 所屬分類: unix program

          FeedBack:
          # re: Linux Assembly 2007-12-19 20:50 jeasonzhao
          呵呵,背景的金魚還不錯啊,哈哈  回復  更多評論
            
          # re: Linux Assembly[未登錄] 2007-12-20 10:00 尋覓
          呵呵 圣誕節到了 不知道是否合適 先湊合著用吧!~~~  回復  更多評論
            
          主站蜘蛛池模板: 乐昌市| 兴山县| 茌平县| 邵阳市| 衢州市| 曲周县| 陆丰市| 盐城市| 富顺县| 汉阴县| 铁岭市| 南丰县| 永州市| 确山县| 临沂市| 汨罗市| 绥棱县| 诸暨市| 万盛区| 齐河县| 墨脱县| 四会市| 衡山县| 棋牌| 隆德县| 彭泽县| 二连浩特市| 汉阴县| 淄博市| 精河县| 永川市| 靖远县| 麻城市| 湘潭市| 巴马| 深州市| 鱼台县| 岚皋县| 安顺市| 安平县| 古交市|