Sep 14th, 2016 Update
Revision 2.6. Some changes
- change "newline" to "prnline" to avoid potential nameclash with other foreign libs
- "dumpreg" now takes one argument. Other dumpregxx are deleted.
- introduced few more routines
- Documentation format is open and configurable to your needs
Please ignore the other attachments and pick this latest versions.
LIST OF ROUTINES
Notes : The number in braces shows the # of arguments required
: /Followed by the return value(s) (if applicable)
: The list is for 64-bit versions only
------------------------------------------------------------------
Routines(167) Descriptions
------------------------------------------------------------------
prnline - Print a new line
halt - Pause screen
prnstreg(1) - Display short string off RAX
prnreg(1) - Display register (hex)
prnregd(1) - Display register (decimal)
prnregdu(1) - Display register (unsigned decimal)
dumpreg(1) - Display register dump (hex)
dumpseg - Display segment registers dump (hex)
stackview(1) - Display stack
memview(2) - Display memory dump
memviewc(2) - Display memory dump, emphasis on string
mem_reset(2) - Reset memory content
mem_set(3) - Fill up memory content
mem_insertr(2) - Insert register content into memory
mem_copy(3) - Copy memory block
mem_load(1)/2 - Load a file to memory
opcode(2) - Display encoding between 2 labels
opsize(2)/1 - Get code size between 2 labels.
flags(1) - Display RFLAG
prnint(1) - Display signed integer
prnintu(1) - Display unsigned integer
prnhex(1) - Display hexadecimal
prnhexu(1) - Display unsigned hexadecimal
prnoct(2) - Display octal
prnoctu(2) - Display unsigned octal
prnbin(1) - Display signed binary
prnbinu(1) - Display unsigned binary
prnbinf(3) - Display formatted binary
prnbinb(1) - Display binary with byte separators
fpbin(1) - Display 64-bit Floating Point binary
fpbind(1) - Display 32-bit Floating Point binary
prndbl(1) - Display 64-bit precision value
prndblr(1) - Display 64-bit precision value (rounded)
prndble(2) - Display 64-bit precision with decimal places
prndblx(1) - Display 80-bit precision value
prnflt(1) - Display 32-bit float value
prnfltr(1) - Display 32-bit float value (rounded)
dblsplit(1)/2 - Split a real8 into parts.
fpdinfo(1) - Display Double binary information
fpfinfo(1) - Display Float binary information
dec2str(2) - Convert signed decimal to 0-ended string.
dec2stru(2) - Convert unsigned decimal to 0-ended string.
hex2str(2) - Convert signed hex to 0-ended string.
hex2stru(2) - Convert signed hex to 0-ended string.
bin2str(2) - Convert signed binary to 0-ended string.
bin2stru(2) - Convert unsigned binary to 0-ended string.
dbl2str(3) - Convert double to 0-ended string.
readint/1 - Get an integer from kboard.
readdbl/1 - Get a double from kboard.
readflt/1 - Get a float from kboard.
fpu_stack - Display FPU stack
fpu_sflag - Display FPU Status flag
fpu_cflag - Display FPU Control flag
fpu_tag - Display FPU Tag Word status
fpu_reg(1) - Display one FPU register
fpu_copy(1)/1 - Copy a FPU register.
fpu_precision(1)- Set FPU precision
fpu_round(1) - Set FPU rounding control.
sse_round(1) - Set SSE rounding control.
sse_flags - Display SSE flags
prnmmx(2) - Display one MMX register.
dumpmmx(1) - Display MMX dump.
prnxmm(2) - Display one XMM register.
dumpxmm(1) - Display XMM dump.
clearxmm - Clear all xmm registers
prnymm(2) - Display one yMM register.
dumpymm(1) - Display yMM dump.
clearymm - Clear all ymm registers
prnintd(2) - Display 32-bit integer
prnintw(2) - Display 16-bit integer
prnintb(2) - Display byte integer
str2int(1)/1 - Convert 0-ended string to integer.
str2dbl(1)/1 - Convert 0-ended string to double.
str2flt(1)/1 - Contert 0-ended string to float.
dbl2int(1)/1 - Convert double to integer.
int2dbl(1)/1 - Convert integer to double.
isint(1)/1 - Check if an FP is a qualified integer.
digitprob(2)/1 - Extract digit from a signed integer
digitprobu(2)/1 - Extract digit from a signed integer
digithprob(2)/1 - Extract digit from a signed integer
digithprobu(2)/1- Extract digit from a signed integer
digitscan(2)/1 - Extract digit from a signed integer
digitscanu(2)/1 - Extract digit from a signed integer
digithscan(2)/1 - Extract digit from a signed integer
digithscanu(2)/1- Extract digit from a signed integer
digitcount(1)/1 - Extract digit from a signed integer
digitcountu(1)/1 - Extract digit from a signed integer
digithcount(1)/1 - Extract digit from a signed integer
digithcountu(1)/1- Extract digit from a signed integer
rndigit(1)/1 - Get one random digit of normal bases.
rndint(1) - Generate 1 random integer.
factorial(1)/1 - Get factorial.
powint(2)/1 - Calculate x ^ n (Integer).
pow2(1)/1 - Calculate 2 ^ n (Integer).
iseven(1)/1 - Check if a number is even.
isodd(1)/1 - Check if a number is odd.
bconv(2) - Convert & display from normal bases to other bases
bitfield(3) - Extract bitfield of a given data
addf(2)/1 - Floating Point ADD
subf(2)/1 - Floating Point SUB
mulf(2)/1 - Floating Point MUL
divf(2)/1 - Floating Point DIV
sqroot(1)/1 - Get square root.
fcalc(3)/1 - Two-operands floating point calculator
rad2deg(1)/1 - Convert radian to degree.
deg2rad(1)/1 - Convert degree to radian.
sine(1)/1 - Get sine of a radian.
tangent(1)/1 - Get tangent of a radian.
cosine(1)/1 - Get cosine of a radian.
sincos(1)/2 - Get Sine and Cosine.
atangent(1)/1 - Get arc-tangent of a radian.
log10(1)/1 - Get a common log for a FP value
ln10(1)/1 - Get a natural log for a FP value
pow(2)/1 - Calculate x ^ n (precision).
chr_isdigit(1)/1- Check if a char byte is a digit.
chr_isalpha(1)/1- Check if a char is an alphabet.
chr_islower(1)/1- Check if a char is a lower case.
chr_isupper(1)/1- Check if a char is an upper case.
chr_chcase(1)/1 - Change a char's case.
chr_toupper(1)/1- Convert a char to uppercase.
chr_tolower(1)/1- Convert a char to lowercase.
chr_find(2)/1 - Find a char from a 0-ended string.
chr_count(2)/1 - Count a char from a 0-ended string.
chr_shuffle(1) - Shuffle a 0-ended string
ascii(1) - Simple ascii byte conversion
str_copy(3) - Copy a string to another string
str_length(1)/1 - Find string length.
str_cmpz(2)/1 - Compare 2 0-ended strings.
str_cmps(3)/1 - Compare 2 strings, with size.
str_toupper(1) - Up the case of a 0-ended string
str_tolower(1) - Lower the case of a 0-ended string
str_reverse(1) - Reverse a 0-ended string
str_trim(2) - Trim a 0-ended string
str_wordcnt(1)/1- Word count of a 0-ended string
str_token(2) - Display tokens off a 0-ended string
str_find(3)/1 - Find a sub-string from a 0-ended string
str_findz(2)/1 - Find a sub-string from a 0-ended string
str_append(5)/1 - Appends two 0-ended strings, with size
str_appendz(4)/1- Appends two 0-ended strings
sort_int(2) - Sort integer
sort_byte(3) - Sort char/byte array
sort_dbl(3) - Sort double
sort_dblx(3) - Sort real10
sort_flt(3) - Sort integer
;----- OS SPECIFICS -----
prnchr(1) - Display char in AL
prnchrs(1) - Display a character from the stack
prnchar(1) - Display a character variable
prnstr(2) - Display string with size
prnstrz(1) - Display 0-ended string
prnstrd(2) - Display delimiter-ended string
readch/1 - Get a char from kboard. Return in AL
readchr(1) - Get a character and save to variable
readstr(1)/1 - Get a string with size
delay(1) - Delay execution in milliseconds.
mem_alloc(1)/1 - Get memory
mem_free(1)/1 - Release memory
timer_start - Start a timer (win only)
timer_stop/1 - Stop a timer (win only)
file_new(1) - Create a new file
file_open(2) - Open a file with options for read or write
file_read(3)/1 - Read from an opened file
file_write(3)/1 - Write to an opened file
file_close(1) - Close file handle
file_size(1)/1 - Get file size
file_copy(2) - Copy a file to a new file
exitp - Pause before exit to system
exit - Exit to system
Happy learning and good luck.