Linux(Fedora)系统下配制8086汇编环境

版权声明: https://blog.csdn.net/ITlanyue/article/details/84989070

1.到www,nasm.us下载nasm

2.解压并安装nasm

  #tar -xzvf nasm-2.11.08.tar.gz

  #cd nasm-2.11.08

  #./configure

  #make

  #make install

3.编写第一个汇编程序

新建hello.asm文件夹并编写如下代码

section .data
msg     db      "Hello, world!",0xA    
len     equ     $ - msg
section .text

   global _start

_start:

       mov     eax,4
       mov     ebx,1
       mov     ecx,msg
       mov     edx,len
       int     0x80
       mov     eax,1
       xor     ebx,ebx
       int     0x80

section .data
msg     db      "Hello, world!",0xA    
len     equ     $ - msg
section .text

   global _start

_start:

       mov     eax,4
       mov     ebx,1
       mov     ecx,msg
       mov     edx,len
       int     0x80
       mov     eax,1
       xor     ebx,ebx
       int     0x80
section .data
msg     db      "Hello, world!",0xA   
len     equ     $ - msg
section .text

   global _start

_start:

       mov     eax,4
       mov     ebx,1
       mov     ecx,msg
       mov     edx,len
       int     0x80
       mov     eax,1
       xor     ebx,ebx
       int     0x80
section .data
msg     db      "Hello, world!",0xA   
len     equ     $ - msg
section .text

   global _start

_start:

       mov     eax,4
       mov     ebx,1
       mov     ecx,msg
       mov     edx,len
       int     0x80
       mov     eax,1
       xor     ebx,ebx
       int     0x80

section .data
msg     db      "Hello, world!",0xA    
len     equ     $ - msg
section .text

   global _start

_start:

       mov     eax,4
       mov     ebx,1
       mov     ecx,msg
       mov     edx,len
       int     0x80
       mov     eax,1
       xor     ebx,ebx
       int     0x80
section .data
msg     db      "Hello, world!",0xA   
len     equ     $ - msg
section .text

   global _start

_start:

       mov     eax,4
       mov     ebx,1
       mov     ecx,msg
       mov     edx,len
       int     0x80
       mov     eax,1
       xor     ebx,ebx
       int     0x80
section .data
msg     db      "Hello, world!",0xA   
len     equ     $ - msg
section .text

   global _start

_start:

       mov     eax,4
       mov     ebx,1
       mov     ecx,msg
       mov     edx,len
       int     0x80
       mov     eax,1
       xor     ebx,ebx
       int     0x80
section .data
msg     db      "Hello, world!",0xA   
len     equ     $ - msg
section .text

   global _start

_start:

       mov     eax,4
       mov     ebx,1
       mov     ecx,msg
       mov     edx,len
       int     0x80
       mov     eax,1
       xor     ebx,ebx
       int     0x80

section .data
msg     db      "Hello, world!",0xA    
len     equ     $ - msg
section .text

   global _start

_start:

       mov     eax,4
       mov     ebx,1
       mov     ecx,msg
       mov     edx,len
       int     0x80
       mov     eax,1
       xor     ebx,ebx
       int     0x80
section .data
msg     db      "Hello, world!",0xA   
len     equ     $ - msg
section .text

   global _start

_start:

       mov     eax,4
       mov     ebx,1
       mov     ecx,msg
       mov     edx,len
       int     0x80
       mov     eax,1
       xor     ebx,ebx
       int     0x80

4.编译并链接

  #nasm -f elf64 hello.asm (linux是64位的,如果是32,请使用elf32)

  #ld -s -o hello hello.o

  #ls hello

5.运行程序

  #./hello

猜你喜欢

转载自blog.csdn.net/ITlanyue/article/details/84989070