+++ /dev/null
-; This code is adapted from Kernel Toolkit 0.2
-; and Linux version 2.2.x, so the following copyrights apply:
-
-; Copyright (C) 1991, 1992 Linus Torvalds
-; modified by Drew Eckhardt
-; modified by Bruce Evans (bde)
-; adapted for Kernel Toolkit by Luigi Sgro
-
-%ifndef UTIL_ASM
-%define UTIL_ASM
-%include "defs.asm"
-%include "symbol.asm"
-
-[BITS 16]
-
-; The following were copied from ktk-0.2 bootsect.asm, and were presumably
-; from the Linux bootsect code. I changed them a little so they
-; don't clobber the caller's registers.
-
-EXPORT PrintHex
-
-[SECTION .text]
-; Print the word contained in the dx register to the screen.
-align 8
-PrintHex:
- pusha
- mov cx, 4 ; 4 hex digits
-.PrintDigit:
- rol dx, 4 ; rotate so that lowest 4 bits are used
- mov ax, 0E0Fh ; ah = request, al = mask for nybble
- and al, dl
- add al, 90h ; convert al to ascii hex (four instructions)
- daa ; I've spent 1 hour to understand how it works..
- adc al, 40h
- daa
- int 10h
- loop .PrintDigit
- popa
- ret
-
-; Print a newline.
-align 8
-PrintNL: ; print CR and NL
- push ax
- mov ax, 0E0Dh ; CR
- int 10h
- mov al, 0Ah ; LF
- int 10h
- pop ax
- ret
-
-
-%endif