nasm随笔

发布时间 2023-06-30 21:47:51作者: huh&uh

masm X86

assume cs:code
code segment
  org 100h
  mov ax,0xb800h
  mov ds,ax
  mov bx,0
  mov byte ptr ds:[bx],0x61h ;'a'
  add bx,2
  mov byte ptr ds:[bx],0x6dh ;'s'
  add bx,2
  mov byte ptr ds:[bx],0x73h ;'m'

  jmp $ ;死循环
code ends
end
section .data
    message db 'This is a debug message', 10
    len equ $ - message

section .text
    global _start

_start:
    mov eax, 4       ; 设置系统调用号
    mov ebx, 1       ; 设置文件描述符为标准输出
    mov ecx, message ; 设置要输出的消息的内存地址
    mov edx, len     ; 设置要输出的消息的大小
    int 0x80 

bash

nasm -f elf32 program.asm -o program.o
ld -m elf_i386 program.o -o program
./program