Calculations
The debugger allows usage of basic math
operations, just type an expression in the
command window and the result will be displayed in the console. Apart from
calculations, it allows quick variable changes using a C-like syntax.
Operators
You can use the
following operators in your expression. They are processed in the following order:
0:negative : Negative numbers can be prefixed by a '-' sign.
1:brackets: '(' and ')' Brackets are resolved first, there is no need for a terminating bracket, unless you want to use one.
2:not: '~' The not operator can be used before a number of a variable, like in C.
3:muliplication/devision: '*' = regular multiplication (signed/unsigned), '`' = get the higher part of the multiplication, '/' = regular devision (signed/unsigned, devide by zero=error) and '%' = get the modulo (remainder) of the devision.
4:addition/substraction: '+' and '-'
5:shift: '<' = shift left (shl for unsigned, sal for signed), '>' = shift right (shr for unsigned, sar for signed).
6:and: '&' Just the regular AND operation like in C.
7:xor: '^' Just the regular XOR operation like in C.
8:or: '|' Just the regular OR operation like in C.
Quick-Assigning
Changing memory, a
variable, register or flag can be easily done using a C-like
syntax:
a?=b: '?' can be any mathematical operation. 'a' can be any register, flag, variable or memory location. 'b' can be anything that is recognized as a mathmatical input.
a++/a--: 'a' can be any register, flag, variable or memory location.