| ;; ----------------------------------------------------------------------- |
| ;; |
| ;; Copyright 1994-2008 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. |
| ;; |
| ;; ----------------------------------------------------------------------- |
| |
| ;; |
| ;; writedec.inc |
| ;; |
| ;; Write decimal numbers to the console |
| ;; |
| |
| section .text16 |
| ; |
| ; writedec[bwl]: Write an unsigned decimal number in (AL, AX, EAX) |
| ; to the console |
| ; |
| writedecb: |
| pushad |
| movzx eax,al |
| jmp short writedec_common |
| writedecw: |
| pushad |
| movzx eax,ax |
| jmp short writedec_common |
| writedecl: |
| pushad |
| writedec_common: |
| pushfd |
| mov ebx,10 ; Conversion base |
| xor cx,cx ; Number of digits |
| |
| .cloop: |
| mov edx,0 |
| div ebx |
| inc cx |
| push dx |
| and eax,eax |
| jnz .cloop |
| |
| .dloop: |
| pop ax |
| add al,'0' |
| call writechr |
| loop .dloop |
| |
| popfd |
| popad |
| ret |
| |
| ; writechr: |
| ; ret |