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.4Argument 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.1Numeric 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.1Numbers 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, as in d600000 and b100000.

4.4.1.2Expressions

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.

4-2 Command Language

Copyright © 2000 Hewlett-Packard Co.

Page 54
Image 54
HP Ski Simulator, IA-64 manual Argument Specification, Numeric Arguments, Numbers and Counts, Expressions