HP Ski Simulator, IA-64 Argument Specification, Numeric Arguments, Numbers and Counts, Expressions

Page 54

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.

Image 54
Contents Ski IA-64 Simulator Reference Manual Copyright 2000 Hewlett-Packard CoPrinting History TrademarksFont Conventions How to Use This ManualPreface Syntax ConventionsItalic+ Table of Contents Ski IA-64 Simulator Reference Manual Vii Ski IA-64 Simulator Reference Manual Viii Table of Contents List of Figures Ski IA-64 Simulator Reference Manual 1.0L List of Tables Ski IA-64 Simulator Reference Manual 1.0L Xii List of Tables Ski Simulator How to Run an IA-64 Application ProgramGetting Started a Ski Tutorial Starting xskiStarting xski From the Command Line Exiting Ski Loading Your ProgramLoading the hello Program Inspecting Data Xski Data WindowChanging the Data Window Display Data Window Showing argv and envp Strings in Hexadecimal Viewing Data in Ascii Looking at CodeViewing Source Code Mixed In with Assembly Code 12. Jumping the Program Window to the Beginning of mainControlling Breakpoints 14. The Program Window Showing a Breakpoint at mainRunning a Program 15. The Breakpoint List WindowSingle-stepping a Program 16. The Terminal Window After the hello Program is RunChanging Registers and Memory 18. The Main Window After Reaching the Breakpoint at main+10Ski IA-64 Simulator Reference Manual 1.0L 20. The xski Register Window After Changing the ip Register 21. The xski Data Window Widened to Show Ascii Getting Help Next StepsCopyright 2000 Hewlett-Packard Co What You Need to Know to Use This Manual OverviewIntroduction Defects and Defect ReportingUsing bski for Batch Simulations Ski VariationsX Window System, Motif-based xski Interface Command Line Flags Starting SkiXSki File 1.1 Summary of FlagsSummary of the Quit Command Quitting SkiQuit expression Screen Presentation Ski’s Use of WindowsRegister Window User Registers Pane Register Window in xskiGeneral Registers Pane Floating Point Registers PaneSystem Registers Pane IA-32 Registers PaneResizing Register Window Panes with xski Register Window and skiProgram Window 1 IA-64 Instruction DisplaySki IA-64 Simulator Reference Manual 1.0L 2 IA-32 Instruction Display Changing the Range of Locations Shown in the Program Window Invalid Code and the Program WindowData Window 12. xski’s Program Window Showing Illegal InstructionsChanging the Range of Locations Shown in the Data Window Command/Main Window Invalid Code and the Data WindowXski Main Window Ski Command Window 16. xski’s Main Command Window17. ski’s Command Window at Bottom Other Windows 18. xski’s Symbol List Window Copyright 2000 Hewlett-Packard Co Command Arguments Command LanguageCommand Entry Command Sequences, Repetition, and AbbreviationNumbers and Counts Argument SpecificationNumeric Arguments ExpressionsSki Simulator Arithmetic and Logic Operators Xski Evaluating ExpressionsSymbolic Arguments Program-Defined SymbolsAddresses Labels Resolving Ambiguous Symbols and NumbersInternal Variables FilenamesSki IA-64 Simulator Reference Manual 1.0L Summary of Register Window Commands Screen Manipulation CommandsRegister Window Commands Xski Register Window CommandsProgram Window Commands Summary of Program Window CommandsXski’s Program Window Showing IA-64 Assembly Language Code Xski’s Assembly Language Dump Window Pd startingaddress endingaddress filenameDj address Data Window CommandsSummary of Data Window Commands Df countXski Showing Data in Raw Hexadecimal and Ascii Dd startingaddress endingaddress filenameSki Support for Application-Mode Programs Program SimulationApplication-Mode and System-Mode Simulation Ski Support for System-Mode ProgramsSystem-Mode IA-32 Programs Summary of TLB Display CommandsSystem-Mode IA-64 Programs System-Mode TLB SimulationMisaligned Data Access Trap How to Load a ProgramProgram Loading Adding Information after Loading Summary of Program Loading CommandsLoad filename args+ Creating the argc, argv, and envp ParametersSummary of Program Execution Commands Program ExecutionSki IA-64 Simulator Reference Manual 1.0L Program Simulation Linux and MS-DOS ABI Emulation InterruptionsLinux Application Environment Linux System Calls Supported by Ski Linux System Calls Accepted but Ignored by SkiMS-DOS Application Environment Program I/OMS-DOS System Calls in Hexadecimal Supported by Ski Copyright 2000 Hewlett-Packard Co Examples of Assignment Commands Changing Registers and Memory with Assignment CommandsSummary of Assignment Commands DebuggingOriginal Program Loaded in ski Bit-encoded Registers AllocationEvaluating Formulas and Formatting Data Summary of The eval CommandSetting Program Breakpoints Program BreakpointsDeleting Program Breakpoints Listing Program BreakpointsSummary of Program Breakpoint Commands Unexpected BreakpointsBs address Data Breakpoints Setting Data BreakpointsSummary of Data Breakpoint Commands Deleting Data BreakpointsSummary of Symbol Commands Symbol Table CommandsSummary of Save and Restore Commands Dumping Registers and Memory to a FileSymlist Output from xski Isyms filenameSki IA-64 Simulator Reference Manual 1.0L Debugging Goto Command and Labels Command FilesLabels and Control Flow in Command Files Initialization FileComments in Command Files An Example Command FileIf Command # comment Summary of Command File Commandsfilename LabelSki IA-64 Simulator Reference Manual 1.0L Command Files Command Reference =s address stringwithoutspacesDbs address length rwrw Dbd breakpointnumberHelp commandname Eval expressionwithoutspaces+Quit returnvalueforshell Rest filenameStep until expressionwithoutspaces Ski IA-64 Simulator Reference Manual 1.0L Register Names IA-64 RegistersRegister Names Copyright 2000 Hewlett-Packard Co Register Names B-3 Ski IA-64 Simulator Reference Manual 1.0L Copyright 2000 Hewlett-Packard Co Register Names B-5 Ski IA-64 Simulator Reference Manual 1.0L Register Names Internal Variable Names Internal VariablesCopyright 2000 Hewlett-Packard Co Simulator Status and Error Messages All breakpoints deletedSimulator Status and Error Messages Expression Help Unknown command %s Missing ELF header Not an IA-64 file Stopping at %s due to unimplemented instruction Usage %s options file args