概要
中古ノート買ってみた。
wsl1のubuntu18.04にnasm入れてみた。
練習問題、やってみた。
練習問題
九九を表示せよ。
実行結果
# gcc -o kuku kuku.s -no-pie
# ./kuku
1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81
サンプルコード
.intel_syntax noprefix
.global main
.text
main:
push rbp
mov rbp, rsp
_start:
mov r15, 0
mov r14, 1
_loop:
inc r15
mov eax, r14d
mov ecx, r15d
mul ecx
mov esi, eax
mov rdi, OFFSET FLAT:fmt
mov rax, 0
call printf
cmp r15, 9
jne _loop
inc r14
mov esi, eax
mov rdi, OFFSET FLAT:fmtn
mov rax, 0
call printf
mov r15, 0
cmp r14, 10
jne _loop
_end:
mov eax, 0
leave
ret
.data
fmt: .string "%d "
fmtn: .string "\n"
以上。