mirror of
https://github.com/netwide-assembler/nasm.git
synced 2025-03-13 17:57:12 +08:00
test: nasm-t -- Add lnxhello
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
This commit is contained in:
parent
88ef14eed8
commit
fa747e71a8
49
travis/test/lnxhello.asm
Normal file
49
travis/test/lnxhello.asm
Normal file
@ -0,0 +1,49 @@
|
||||
;
|
||||
; Assembly "Hello, World!" for Linux
|
||||
;
|
||||
|
||||
|
||||
; Properly defined in <sys/syscall.h>
|
||||
%define SYS_exit 1
|
||||
%define SYS_write 4
|
||||
|
||||
section .text
|
||||
|
||||
global _start
|
||||
_start:
|
||||
; gdb doesn't like to stop at the entry point address, so
|
||||
; we put a nop here for pure convenience
|
||||
nop
|
||||
|
||||
|
||||
write_hello:
|
||||
mov edx, hello_len
|
||||
mov ecx, hello
|
||||
|
||||
.loop:
|
||||
mov eax, SYS_write
|
||||
mov ebx, 1 ; stdout
|
||||
int 80h
|
||||
|
||||
cmp eax, -4096
|
||||
ja error
|
||||
|
||||
add ecx, eax
|
||||
sub edx, eax
|
||||
jnz .loop
|
||||
|
||||
ok:
|
||||
mov eax, SYS_exit
|
||||
xor ebx, ebx
|
||||
int 80h
|
||||
hlt
|
||||
|
||||
error:
|
||||
mov eax, SYS_exit
|
||||
mov ebx, 1 ; Error
|
||||
int 80h
|
||||
hlt
|
||||
|
||||
section .rodata
|
||||
hello: db "Hello, World!", 10
|
||||
hello_len equ $-hello
|
11
travis/test/lnxhello.json
Normal file
11
travis/test/lnxhello.json
Normal file
@ -0,0 +1,11 @@
|
||||
[
|
||||
{
|
||||
"description": "Assembly 'Hello, World! for Linux",
|
||||
"id": "lnxhello",
|
||||
"format": "elf32",
|
||||
"source": "lnxhello.asm",
|
||||
"target": [
|
||||
{ "output": "lnxhello.o" }
|
||||
]
|
||||
}
|
||||
]
|
BIN
travis/test/lnxhello.o.t
Normal file
BIN
travis/test/lnxhello.o.t
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user