入力文字の文字コードを表示する。

;; 1文字を入力し、その文字コードを出力する。
;;
;; ビルド:  nasm -f bin 05.asm -o 05.bin
;; テスト実行:  qemu-system-i386 -fda 05.bin

main:
	; ALレジスタに1文字入力
	mov ah, 0x00
	int 0x16

	; ALレジスタの値を表示
	mov bl, al
	shr al, 4
	call put_hex
	mov al, bl
	call put_hex
	call put_nl

	jmp main

; ALレジスタの下位4ビットを16進数で表示
put_hex:
	and al, 0x0f
	cmp al, 0x09
	ja  _put_hex_1
	add al, '0'
	jmp _put_hex_2
_put_hex_1:
	sub al, 0x0a
	add al, 'A'
_put_hex_2:
	mov ah, 0x0e
	int 0x10
	ret

; 改行する
put_nl:
	mov ah, 0x0e
	mov al, 0x0d
	int 0x10

	mov ah, 0x0e
	mov al, 0x0a
	int 0x10

	ret

	times 510-($-$$) db 0
	db 0x55
	db 0xAA