home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Simtel MSDOS - Coast to Coast
/
simteldosarchivecoasttocoast2.iso
/
asmutil
/
stdlib.zip
/
ISIZE.ASM
< prev
next >
Wrap
Assembly Source File
|
1990-04-29
|
1KB
|
60 lines
stdlib segment para public 'slcode'
assume cs:stdlib
;
; ISize- Returns the number of print positions required by an integer value.
; On Input:
; AX: Integer to get the size of.
;
; On Output:
; AX: Digit count for the integer.
;
public sl_ISize
sl_ISize proc far
cmp ax, 0
jge ISize2
neg ax
call GetUSize
inc ax
ret
;
ISize2: call GetUSize
ret
sl_ISize endp
;
; USize- Same as above, except for unsigned numbers.
;
public sl_USize
sl_USize proc far
call GetUSize
ret
sl_USize endp
;
; GetUSize- Does the actual size comparison.
;
GetUSize proc near
cmp ax, 10
ja GUS1
mov ax, 1
ret
;
GUS1: cmp ax, 100
ja GUS2
mov ax, 2
ret
;
GUS2: cmp ax, 1000
ja GUS3
mov ax, 3
ret
GUS3: cmp ax, 10000
ja GUS4
mov ax, 4
ret
;
GUS4: mov ax, 5
ret
GetUSize endp
;
stdlib ends
end