結果
| 問題 | No.9000 Hello World! (テスト用) |
| ユーザー |
alpha_virginis
|
| 提出日時 | 2016-03-31 15:18:05 |
| 言語 | Assembler (nasm 3.01) |
| 結果 |
CE
(最新)
AC
(最初)
|
| 実行時間 | - |
| コード長 | 2,457 bytes |
| 記録 | |
| コンパイル時間 | 247 ms |
| コンパイル使用メモリ | 6,528 KB |
| 最終ジャッジ日時 | 2026-05-31 00:38:40 |
| 合計ジャッジ時間 | 850 ms |
|
ジャッジサーバーID (参考情報) |
judge3_0 / judge1_0 |
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
コンパイルメッセージ
Main.asm:35: error: implicit DEFAULT ABS is deprecated [-w+error=implicit-abs-deprecated]
ソースコード
section .data
;; static
hellow: db "Hello World!"
hellow_len: equ $ - hellow
section .bss
common stdinbuf 1048576:1
common stdinbuf_size 1:8
common stdinbuf_seek 1:8
common stdoutbuf 1048576:1
common stdoutbuf_size 1:8
section .text
global _start
_start:
call readstdin
call setupstdout
mov rdi, hellow
mov rsi, hellow_len
call putStrLn
call writestdout
mov rax, 60
mov rdi, 0
syscall
ret
readstdin:
mov rax, 0
mov rdi, 0
mov rsi, stdinbuf
mov rdx, 1048576
syscall
mov [stdinbuf_size], rax
mov rax, 0
mov [stdinbuf_seek], rax
ret
setupstdout:
mov rax, 0
mov [stdoutbuf_size], rax
ret
writestdout:
mov rax, 1
mov rdi, 1
mov rsi, stdoutbuf
mov rdx, [stdoutbuf_size]
syscall
ret
;;; rdi : dest
;;; rsi : src
;;; rdx : size
strncpy:
cmp rdx, 0
jne strncpy_L1
ret
strncpy_L1:
mov al, [rsi]
mov [rdi], al
add rsi, 1
add rdi, 1
sub rdx, 1
jne strncpy_L1
ret
;;; dil char
putChar:
mov rax, stdoutbuf
add rax, [stdoutbuf_size]
mov [rax], dil
mov rax, [stdoutbuf_size]
add rax, 1
mov [stdoutbuf_size], rax
ret
;;; rdi str
;;; rsi size
putStr:
cmp rsi, 0
jne putStr_L1
ret
putStr_L1:
mov rax, stdoutbuf
add rax, [stdoutbuf_size]
mov rdx, [stdoutbuf_size]
add rdx, rsi
mov [stdoutbuf_size], rdx
putStr_L2:
mov dl, [rdi]
mov [rax], dl
add rax, 1
add rdi, 1
sub rsi, 1
jne putStr_L2
ret
;;; rdi str
;;; rsi size
putStrLn:
push rdi
push rsi
call putStr
pop rsi
pop rdi
mov dil, 10
call putChar
ret
alpha_virginis