;; $Id: writehex.inc,v 1.3 2005/01/18 13:13:50 hpa Exp $ ;; ----------------------------------------------------------------------- ;; ;; Copyright 1994-2002 H. Peter Anvin - All Rights Reserved ;; ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation, Inc., 53 Temple Place Ste 330, ;; Boston MA 02111-1307, USA; either version 2 of the License, or ;; (at your option) any later version; incorporated herein by reference. ;; ;; ----------------------------------------------------------------------- ;; ;; writehex.inc ;; ;; Write hexadecimal numbers to the console ;; section .text ; ; writehex[248]: Write a hex number in (AL, AX, EAX) to the console ; writehex2: pushfd pushad rol eax,24 mov cx,2 jmp short writehex_common writehex4: pushfd pushad rol eax,16 mov cx,4 jmp short writehex_common writehex8: pushfd pushad mov cx,8 writehex_common: .loop: rol eax,4 push eax and al,0Fh cmp al,10 jae .high .low: add al,'0' jmp short .ischar .high: add al,'A'-10 .ischar: call writechr pop eax loop .loop popad popfd ret