Command | Input | Output | Description |
---|---|---|---|
cmdlist | Dynaically generate a listing of all commands in the command parser. | ||
comment | "comment <a>" followed by a comment string will echo the comment string <a> to the program output. This is useful when capturing output text to a file. | ||
desc descnew |
"descnew" command will prompt the user to enter a short (31 character) description string. The description is included into variable metadata that is saved to a disk file with the save and load commands. "desc" will show the current string. | ||
exit q |
Quit the program. Commands "exit" and "q" are synonymous. |
||
head headoff |
(Experimental) Enable display of some non-scrollable status numbers on the top of the console terminal. | ||
help help <c> helpall |
"help" displays basic help on the program. "help <command>" for help on one command "helpall" to print the full list Some commands do not have help. |
||
load <f> |
Read Xreg from file. Get filename <f> from input line File extension ".num" is appended to filename Example: load myfile Data read from file myfile.num With path: load ~/numbers/mynumber Registers rotated up like number input. |
||
log logoff |
The command 'log' starts a terminal log session. The filenames are sequential as follows: out/out001.txt, out/out002.txt, out/out003.txt ... the folder 'out' must exist in the working directory. Logging is stopped with the 'logoff' command. | ||
hex hex <r> |
"hex" will print summary of all registers in abbreviated hexadecimal format. This will also show register index numbers. Adding an integer index number from 0 to 16 will show a specific register. The index numbers are different from register name. (Reg2 is index 11). | ||
mmode |
Set or View mmode (Math Mode) See Configuration |
||
profile profile i |
TBD (internal function statistics) | ||
q exit |
Quit the program. Commands "exit" and "q" are synonymous. |
||
sand | Development function hook. | ||
sandbox | Development function hook. | ||
save <f> |
Save Xreg to file. Filename <f> from input line File extension ".num" is appended to filename Example: save myfile With path: load ~/numbers/mynumber Generated file will be myfile.num |
||
show showoff |
"show" enables the progress bar. "showoff" disables it. The progress bar is updated each time the term counter reaches sstep (see sstep below). The tutorial has an example. | ||
slimit slimit <a> |
"slimit" will display or accept new value for slimit value. For some loop functions, the slimit variable provides an upper limit to break out of the loop. | ||
sstep sstep <a> |
"sstep" will display or accept a new value for sstep value. This is the counter used to update the progress bar when summing an infinite series. |
The command "cmdlist" will automatically extract a list of all text commands from the program command parser. Within the program, the "help <command> function can be combined with a text <command> to view detail information on any specific command. Example: "help print".
External to the program, these help pages are available from the github repositiory at: cotarr.github.io/calc-pi-x86-64-asm/.
The "sandbox <arg>" command is a hook that allows a keyboard command to call a section of arbitrary assembly language. Sandbox will accept a single argument, typically a number such as 1, 2, or 3. This allows more than one hook to call development code. The sandbox is mainly used to experiment with new functions or alternate version of existing functions.
In general, sandbox code should PUSH registers to the stack, execute some custom code, then POP the registers back off the stack execute a RET return.
Sandbox_test_1: ; Save Registers push rax push rbx push rcx push rdx ; ----------------------------------------------- ; Some code here mov rax, .Msg call StrOut ; ----------------------------------------------- ; Restore registers pop rdx pop rcx pop rbx pop rax ; return to command parser ret ; String constant to be output. .Msg: db "Hello World", 0xD, 0xA, 0
Where sandbox is intended to run a complete function, there is an alternate command "sand". The sand command is intended as a hook to run one or two arbitrary assembly language instructions. This is used mainly for debugging, such as changing data inside the variables for a specific test.