HP (Hewlett-Packard) IA-64 Computer Accessories User Manual


 
4-2 Command Language Copyright © 2000 Hewlett-Packard Co.
Ski IA-64 Simulator Reference Manual 1.0L
the commands “step 100” and “eval my_buffer”. This pair of commands would execute one hundred instructions and
then print the value of (your) variable named my_buffer”. By combining these two commands into one command
sequence, i.e., “step 100 ; eval my_buffer”, you can use the Command History or command repetition mechanism
to run these commands over and over. (The spaces around the semicolon are optional but improve readability.)
There is no grouping construct in Ski. This can be important when you write command files: when you want to execute
commands conditionally using the if command, you cannot use the semicolon to group several commands into the “then”
or “else” clauses. Instead, you must use labels and the goto command. Chapter 9, “Command Files” discusses command
files in depth.
Most commands may be abbreviated, some to a single letter. A command may be abbreviated to the shortest prefix which
is not also a prefix of a command which precedes it in the command menu. (See Appendix A, “Command Reference”.)
4.4 Argument Specification
The arguments which are given with commands are, in general, obvious and natural. The description which follows
should clarify those cases which are not. The terms defined here are used in the command summaries throughout the
remainder of this manual.
4.4.1 Numeric Arguments
Many commands accept numeric arguments. The argument may be an address, a value, an execution count, or some other
variable which is best expressed numerically.
4.4.1.1 Numbers and Counts
Some commands take arguments that are naturally expressed in hexadecimal: addresses, for example. Other commands
take arguments that are naturally expressed in decimal, such as the number of instructions to simulate with the step com-
mand. To make using Ski easier, some Ski commands default to interpreting their arguments as (hexadecimal) numbers
and some default to interpreting their arguments as (decimal) counts. You can always override the default interpretation by
specifying a radix override, as described below.
Hexadecimal digits may be upper or lower case. The default radix may be overridden by preceding the number or count
with 0D or 0d for decimal, 0X or 0x for hexadecimal, 0O or 0o (zero-oh) for octal, and 0B or 0b for binary. Since both the
decimal and binary prefixes look like hexadecimal, hexadecimal values such as 0d600000 and 0b100000 must be speci-
fied either with an explicit hexadecimal prefix, as in 0x0d600000 and 0x0b100000, or without the leading 0,asin
d600000 and b100000.
4.4.1.2 Expressions
Wherever a number or count is needed, you can use a numeric expression instead, with parenthesis as needed for group-
ing. No spaces are allowed in an expression. In an expression whose result will be used as a number, numbers not pre-
ceded by a radix override are assumed to be hexadecimal. If the result will be used as a count, numbers not preceded by a
radix override are assumed to be decimal. For example, the step command expects a count operand, so the command
step r0+10
steps (decimal) ten instructions. On the other hand, the pj command expects an address operand, which is a number,so
the command
pj r0+10
displays (hexadecimal) address 0x10 in the Program Window. (r0 is hardwired to always return a zero when read.)
The available operators are shown in order from higher to lower precedence in Table 4-1. Operator precedence rules fol-
low the C language rules.