Synthetic instructions


At this point, we've covered every instruction in the SPARC Version 8 instruction set. However, during system crash dump analysis, you may run into several additional SPARC instructions that are referred to as synthetic instructions. These instructions may be provided in a SPARC assembler for the convenience of assembly language programmers. They tend to be more suitable, some have easier-to-remember instruction names , and the syntax is often slimmed down. As you read the table, you'll see what we mean:

Table B-25. Common SPARC synthetic instructions

Synthetic Instruction

Actual Instruction

Description

jmp address

jmpl address , %g0

Jump

call address

jmpl address , %o7

Call a subroutine

tst reg

orcc %g0, reg , %g0

Test

ret

jmpl %i7+8, %g0

Return from subroutine

restore

restore %g0, %g0, %g0

Trivial restore

save

save %g0, %g0, %g0

Trivial save

set value, reg

sethi %hi (value), reg

When (value&0x1ffff)==0

 

OR or %g0, value, reg

When (-4096<=value<=4095)

 

OR sethi %hi (value), reg

Otherwise. Warning: Do not use

 

or reg, %lo (value), reg

set as a delay instruction.

not s reg, dreg

xnor s reg , %g0, dreg

One's complement

not reg

xnor reg , %g0,

One's complement

neg s reg, dreg

sub %g0, reg, reg

Two's complement

neg reg

sub %g0, reg, reg

Two's complement

inc reg

add reg , 1, reg

Increment by 1

inc const13, reg

add reg, const13, reg

Increment by const13

inccc reg

addcc reg , 1,

Increment by 1 and set ICC

inccc const13, reg

addcc reg , const13,

Increment by const13 and set ICC

dec reg

sub reg , 1, reg

Decrement by 1

dec const13, reg

sub reg, const13, reg

Decrement by const13

deccc reg

subcc reg , 1,

Decrement by 1 and set ICC

deccc const13, reg

subcc reg, const13, reg

Decrement by const13 and set ICC

btst reg_or_imm, reg

andcc reg, reg_or_imm , %g0

Bit test

bset reg_or_imm, reg

or reg, reg_or_imm, reg

Bit set

bclr reg_or_imm, reg

andn reg , reg_or_imm , reg

Bit clear

btog reg_or_imm, reg

xor, reg_or_imm, reg

Bit toggle

clr reg

or %g0, %g0, reg

Clear (zero) register

clrb [ address ]

stb %g0, [ address ]

Clear byte

clrh [ address ]

sth %g0, [ address ]

Clear half-word

clr [ address ]

st %g0, [ address ]

Clear word

mov reg_or_imm, reg

or %g0, reg_or_imm, reg

Move value into register

mov %y, reg

rd %y, reg

Move %y into reg (Variations exist for %asm , %psr , %wim , %tbr )

mov reg_or_imm , %y

wr %g0, reg_or_imm , %y

Move reg into %y (Variations exist for %asm , %psr , %wim , %tbr )



PANIC. UNIX System Crash Dump Analysis Handbook
PANIC! UNIX System Crash Dump Analysis Handbook (Bk/CD-ROM)
ISBN: 0131493868
EAN: 2147483647
Year: 1994
Pages: 289
Authors: Chris Drake

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net