59 lines
1.2 KiB
PHP
59 lines
1.2 KiB
PHP
;; -----------------------------------------------------------------------
|
|
;;
|
|
;; 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
|