Inspect Manual
Using Inspect on a TNS/R System
Inspect Manual—429164-006
15-14
TNS/R Machine-Level Commands
For example:
This example shows three blocks of corresponding TNS and TNS/R code. Each
“block” begins with a memory-exact or a register-exact point. All intermediate code
within the block is non-exact.
MODIFY REGISTER
The MODIFY REGISTER command can be used to modify the value of a specific
TNS/R machine register.
SELECT DEBUGGER DEBUG
When debugging native and accelerated programs, especially at the machine level, it
may be necessary or desirable to use Debug rather than Inspect. You can switch
between Inspect and Debug during the same debugging session with the SELECT
DEBUGGER DEBUG command. To return control of the program to Inspect, issue the
Debug command “INSPECT.”
For more information about the SELECT DEBUGGER DEBUG command, see
Section 6, High-Level Inspect Commands
.
When debugging an accelerated program at a TNS/R machine level, Debug is
particularly useful for setting breakpoints on TNS/R instructions. The Inspect
breakpoint list is updated from the breakpoint table when a process first enters Inspect
and when control returns to Inspect from Debug; it will reflect any breakpoints you set
or cleared while in Debug.
For more information, see the Debug Manual.
-ICODE AT #15 FOR 3 BOTH
#15
%001354: > LOAD L+002 %h7042003C: LH s0,4(fp)
%001355: LDI +005 %h70420040: NOP
%001356: IMPY %h70420044: SLL s0,s0,16
%001357: STOR L+001 %h70420048: ANDI t9,t9,0xFFDF
%h7042004C: MOVE at,s0
%h70420050: ADD s0,at,at
%h70420054: ADD s0,s0,s0
%h70420058: ADD s0,s0,at
%h7042005C: SRL s0,s0,16
%h70420060: SH s0,2(fp)
#16
%001360: > LDI +001 %h70420064: LI s0,1
%001361: STOR L+002 %h70420068: SH s0,4(fp)
#17
%001362: > LDI +000 %h7042006C: LI s0,0
%001363: EXIT 03 %h70420070: LI t7,0
%h70420074: LI a1,8
%h70420078: JAL $m_EXIT
%h7042007C: ADDIU sp,fp,-6
%h70420080: ADDIU sp,sp,4