Documentation for calc-pi-arm64-asm
Debug Functions
Command Input Output Description
D.fill Int
0-12
typed
Usage: D.fill <handle>
Description: This is a debug command to fill a variable with sequential byte value numbers.
It starts with the integer part
0102030405060708 1011121314151617
followed by the fraction part
2122232425262728 292A2B2C2D2E2F30...
This is very useful to check low level functions,
such as shifting memory left or right 1 bit.
Use the "hex" command to display handle numbers.
D.ofst This shows the offset values of the variables in both hexadecimal and decimal. This is intended for use with the gdb debugger to identify the memory map.
D.vars This shows the current value of internal varaibles used to specify the size of a number and it's different parts, such as integer part, fraction part, guard words, etc.
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 12 will show a specific register. The index numbers are different from register name. (Reg2 is index 11).
test This will do a subroutine call the "Command_test" label in parser.s. Custom assembly code can be inserted at this location, then executed from inside the program using the "test" command.
Debug Notes

The typical method to debug this type of mathematics is to run the program inside the Linux gdb debugger. If you try this, the D.ofst and D.vars commands will be helpful to determine a memory map of the variables.

A simpler approach is to use the hex command to display a summary of each internal fixed point variable. If the handle number 0 to 12 is provided, the full variable will be displayed. A lot of this is demonstrated in the youtube video.