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