pkg(nasm-2.15.5): Add nasm 2.15.5
This commit is contained in:
parent
a5ba0f5ee6
commit
05dc79d9f8
|
@ -0,0 +1,20 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Put instructions to build your package in here
|
||||||
|
PREFIX=$(realpath $(dirname $0))
|
||||||
|
|
||||||
|
mkdir -p build
|
||||||
|
|
||||||
|
cd build
|
||||||
|
|
||||||
|
curl -L "https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/nasm-2.15.05.tar.gz" -o nasm.tar.gz
|
||||||
|
|
||||||
|
tar xzf nasm.tar.gz --strip-components=1
|
||||||
|
|
||||||
|
# === autoconf based ===
|
||||||
|
./configure --prefix "$PREFIX"
|
||||||
|
|
||||||
|
make -j$(nproc)
|
||||||
|
make install -j$(nproc)
|
||||||
|
cd ../
|
||||||
|
rm -rf build
|
|
@ -0,0 +1,21 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Put instructions to compile source code, remove this file if the language does not require this stage
|
||||||
|
|
||||||
|
|
||||||
|
case "${PISTON_ALIAS}" in
|
||||||
|
nasm)
|
||||||
|
nasm -f elf32 -o binary.o $*
|
||||||
|
ld -m elf_i386 binary.o -o binary
|
||||||
|
;;
|
||||||
|
nasm64)
|
||||||
|
nasm -f elf64 -o binary.o $*
|
||||||
|
ld -m elf_x86_64 binary.o -o binary
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "How did you get here? (${PISTON_ALIAS})"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
chmod +x ./binary
|
|
@ -0,0 +1,4 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Put 'export' statements here for environment variables
|
||||||
|
export PATH=$PWD/bin:$PATH
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"language": "nasm",
|
||||||
|
"version": "2.15.5",
|
||||||
|
"aliases": ["nasm64"],
|
||||||
|
"author": "Thomas Hobson <git@hexf.me>"
|
||||||
|
}
|
|
@ -0,0 +1,5 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Put instructions to run the runtime
|
||||||
|
shift
|
||||||
|
./binary $*
|
|
@ -0,0 +1,16 @@
|
||||||
|
SECTION .DATA
|
||||||
|
good: db 'OK',10
|
||||||
|
txtlen: equ $-good
|
||||||
|
|
||||||
|
SECTION .TEXT
|
||||||
|
GLOBAL _start
|
||||||
|
|
||||||
|
_start:
|
||||||
|
mov eax,4
|
||||||
|
mov ebx,1
|
||||||
|
mov ecx,good
|
||||||
|
mov edx,txtlen
|
||||||
|
int 80h
|
||||||
|
mov eax,1
|
||||||
|
mov ebx,0
|
||||||
|
int 80h
|
|
@ -0,0 +1,18 @@
|
||||||
|
SECTION .data
|
||||||
|
good: db "OK", 0x0
|
||||||
|
txtlen: equ $ - good
|
||||||
|
|
||||||
|
SECTION .text
|
||||||
|
GLOBAL _start
|
||||||
|
|
||||||
|
_start:
|
||||||
|
;sys_write
|
||||||
|
mov rax, 1
|
||||||
|
mov rdi, 1
|
||||||
|
mov rsi, good
|
||||||
|
mov rdx, txtlen
|
||||||
|
syscall
|
||||||
|
;sys_exit
|
||||||
|
mov rax, 60
|
||||||
|
mov rdi, 0
|
||||||
|
syscall
|
Loading…
Reference in New Issue