概要
中古ノート買ってみた。
wsl1のubuntu18.04にnasm入れてみた。
zundoko、やってみた。
サンプルコード
global main
extern printf, scanf
section .text
main:
push rbp
mov rbp, rsp
sub rsp, 16
mov rax, 0
mov AL, 234
mov rcx, 0
loop:
mov AH, 5
mul AH
inc AL
cmp AL, 120
jc _doko
_zun:
inc rcx
push rax
push rcx
mov rdi, fmt
mov rsi, zun
mov rax, 0
call printf
pop rcx
pop rax
cmp rcx, 4
jz _kiyoshi
jmp loop
_doko:
mov rcx, 0
push rax
push rcx
mov rdi, fmt
mov rsi, doko
mov rax, 0
call printf
pop rcx
pop rax
jmp loop
_kiyoshi:
mov rdi, fmt
mov rsi, kiyo
mov rax, 0
call printf
mov rsp, rbp
pop rbp
ret
section .data
zun: db "zun ", 0
doko: db "doko ", 0
kiyo: db "doko kiyoshi!!", 0
fmt: db "%s ", 0
コンパイル、実行結果
# nasm -f elf64 zun0.s
# gcc -o zun0 zun0.o
# ./zun0
zun zun doko zun zun zun doko doko zun doko zun zun doko doko doko doko zun zun doko doko zun doko doko zun zun doko doko doko doko doko zun zun zun zun doko kiyoshi!!
以上。