请问下Windbg help里的这条指令什么意思?
MASM Numbers and Operators
Numeric Operators in MASM Expressions
Any component of an expression can be modified with a unary operator, and any two components can be combined with a binary operator. Unary operators take precedence over binary operators. When multiple binary operators are used, they follow fixed precedence rules.
Parentheses can always be used to override precedence rules.
If part of a MASM expression is enclosed in parentheses and prefixed by a double at sign — @@( ... ) — it will be interpreted according to C++ expression rules. There can be no space between the double at sign and the opening parenthesis. You can also specify the expression evaluator by using @@c++( ... ) or @@masm( ... ).
When performing arithmetic computations, the MASM expression evaluator will treat all numbers and symbols as ULONG64 types.
Unary address operators assume DS as the default segment for addresses. Expressions are evaluated in order of operator precedence. If adjacent operators have equal precedence, the expression is evaluated from left to right.
The unary operators are:
Operator |
Meaning |
+ |
Unary plus |
- |
Unary minus |
not |
Returns 1 if the argument is zero; returns zero for any nonzero argument |
hi |
High 16 bits |
low |
Low 16 bits |
by |
Low-order byte from specified address |
wo |
Low-order word from specified address |
dwo |
Double-word from specified address |
qwo |
Quad-word from specified address |
poi |
Pointer-sized data from specified address. The pointer size is either 32 bits or 64 bits. In kernel debugging, this is based on the processor of the target computer. In user-mode debugging on an Intel Itanium computer, this will be either 32 bits or 64 bits in size, depending on the target application. Therefore poi is the best operator to use if you want pointer-sized data. |
不明白其中的by指令做什么用的,什么叫Low-order byte from specified address?
至于poi似乎是用来做指针的,具体如何使用能给我个例子么?
抱歉提这类基本问题。
|