NAME=amd29k fib analysis
ARGS=-m 0x101a0
FILE==
CMDS=<<EOF
e asm.arch=amd29k
e asm.bytes=true
wx 250101105e40017e49608602ac0060041581011ca000000903006001a8ff80f9258286011583600070400101704001017040010170400101c80080607040010170400101704001017040010170400101704001017040010170400101ffffffff
af
pdf
ao @ 0x000101b4
agf
EOF
EXPECT=<<EOF
/ fcn.000101a0();
|           0x000101a0      25010110       sub   rsp rsp 0x10
|           0x000101a4      5e40017e       asgeu 0x40 rsp rab
|           0x000101a8      49608602       cpgt  v0 p4 0x2
|       ,=< 0x000101ac      ac006004       jmpt  v0 0x101bc
|       |   0x000101b0      1581011c       add   lr1 rsp 0x1c
|      ,==< 0x000101b4      a0000009       jmp   0x101d8
|      ||   0x000101b8      03006001       const v0 0x1
|      |`-> 0x000101bc      a8ff80f9       call  lr0 fcn.000101a0
|      |    0x000101c0      25828601       sub   p0 p4 0x1
|      |    0x000101c4      15836000       add   p1 v0 0x0
|      |    0x000101c8      70400101       nop
|      |    0x000101cc      70400101       nop
|      |    0x000101d0      70400101       nop
|      |    0x000101d4      70400101       nop
|      |    ; CODE XREF from fcn.000101a0 @ 0x101b4
|      `--> 0x000101d8      c8008060       calli lr0 v0
\           0x000101dc      70400101       nop
address: 0x101b4
opcode: jmp 0x101d8
disasm: jmp 0x101d8
mnemonic: jmp
mask: ff000000
prefix: 0
id: 0
bytes: a0000009
refptr: 0
size: 4
sign: false
type: jmp
cycles: 0
opex:
  operands:
    - type: "imm"
      value: 66008
jump: 0x000101d8
delay: 1
family: cpu
              .--------------------.
              |  0x101a0           |
              | fcn.000101a0();    |
              | sub rsp rsp 0x10   |
              | asgeu 0x40 rsp rab |
              | cpgt v0 p4 0x2     |
              | jmpt v0 0x101bc    |
              | add lr1 rsp 0x1c   |
              `--------------------'
                    t f
                    | |
    .---------------' |
    |                 '---------.
    |                           |
.-----------------------.   .------------------.
|  0x101bc              |   |  0x101b0         |
| call lr0 fcn.000101a0 |   | add lr1 rsp 0x1c |
| sub p0 p4 0x1         |   | jmp 0x101d8      |
| add p1 v0 0x0         |   | const v0 0x1     |
| nop                   |   `------------------'
| nop                   |       v
| nop                   |       |
| nop                   |       |
`-----------------------'       |
    v                           |
    |                           |
    '-----.                     |
          | .-------------------'
          | |
    .-----------------------------------------.
    |  0x101d8                                |
    | ; CODE XREF from fcn.000101a0 @ 0x101b4 |
    | calli lr0 v0                            |
    | nop                                     |
    `-----------------------------------------'
EOF
RUN

NAME=amd29k regs
FILE=
CMDS=<<EOF
e asm.arch=amd29k
ar
EOF
EXPECT=<<EOF
gr0 = 0x00000000
rsp = 0x00000000
gr2 = 0x00000000
gr3 = 0x00000000
gr4 = 0x00000000
gr5 = 0x00000000
gr6 = 0x00000000
gr7 = 0x00000000
gr8 = 0x00000000
gr9 = 0x00000000
gr10 = 0x00000000
gr11 = 0x00000000
gr12 = 0x00000000
gr13 = 0x00000000
gr14 = 0x00000000
gr15 = 0x00000000
gr16 = 0x00000000
gr17 = 0x00000000
gr18 = 0x00000000
gr19 = 0x00000000
gr20 = 0x00000000
gr21 = 0x00000000
gr22 = 0x00000000
gr23 = 0x00000000
gr24 = 0x00000000
gr25 = 0x00000000
gr26 = 0x00000000
gr27 = 0x00000000
gr28 = 0x00000000
gr29 = 0x00000000
gr30 = 0x00000000
gr31 = 0x00000000
gr32 = 0x00000000
gr33 = 0x00000000
gr34 = 0x00000000
gr35 = 0x00000000
gr36 = 0x00000000
gr37 = 0x00000000
gr38 = 0x00000000
gr39 = 0x00000000
gr40 = 0x00000000
gr41 = 0x00000000
gr42 = 0x00000000
gr43 = 0x00000000
gr44 = 0x00000000
gr45 = 0x00000000
gr46 = 0x00000000
gr47 = 0x00000000
gr48 = 0x00000000
gr49 = 0x00000000
gr50 = 0x00000000
gr51 = 0x00000000
gr52 = 0x00000000
gr53 = 0x00000000
gr54 = 0x00000000
gr55 = 0x00000000
gr56 = 0x00000000
gr57 = 0x00000000
gr58 = 0x00000000
gr59 = 0x00000000
gr60 = 0x00000000
gr61 = 0x00000000
gr62 = 0x00000000
gr63 = 0x00000000
it0 = 0x00000000
it1 = 0x00000000
it2 = 0x00000000
it3 = 0x00000000
kt0 = 0x00000000
kt1 = 0x00000000
kt2 = 0x00000000
kt3 = 0x00000000
kt4 = 0x00000000
kt5 = 0x00000000
kt6 = 0x00000000
kt7 = 0x00000000
kt8 = 0x00000000
kt9 = 0x00000000
kt10 = 0x00000000
kt11 = 0x00000000
ks0 = 0x00000000
ks1 = 0x00000000
ks2 = 0x00000000
ks3 = 0x00000000
ks4 = 0x00000000
ks5 = 0x00000000
ks6 = 0x00000000
ks7 = 0x00000000
ks8 = 0x00000000
ks9 = 0x00000000
ks10 = 0x00000000
ks11 = 0x00000000
ks12 = 0x00000000
ks13 = 0x00000000
ks14 = 0x00000000
ks15 = 0x00000000
v0 = 0x00000000
v1 = 0x00000000
v2 = 0x00000000
v3 = 0x00000000
v4 = 0x00000000
v5 = 0x00000000
v6 = 0x00000000
v7 = 0x00000000
v8 = 0x00000000
v9 = 0x00000000
v10 = 0x00000000
v11 = 0x00000000
v12 = 0x00000000
v13 = 0x00000000
v14 = 0x00000000
v15 = 0x00000000
r1 = 0x00000000
r2 = 0x00000000
r3 = 0x00000000
r4 = 0x00000000
x0 = 0x00000000
x1 = 0x00000000
x2 = 0x00000000
x3 = 0x00000000
x4 = 0x00000000
tav = 0x00000000
tpc = 0x00000000
lrp = 0x00000000
slp = 0x00000000
msp = 0x00000000
rab = 0x00000000
rfb = 0x00000000
lr0 = 0x00000000
lr1 = 0x00000000
p0 = 0x00000000
p1 = 0x00000000
p2 = 0x00000000
p3 = 0x00000000
p4 = 0x00000000
p5 = 0x00000000
p6 = 0x00000000
p7 = 0x00000000
p8 = 0x00000000
p9 = 0x00000000
p10 = 0x00000000
p11 = 0x00000000
p12 = 0x00000000
p13 = 0x00000000
p14 = 0x00000000
p15 = 0x00000000
lr18 = 0x00000000
lr19 = 0x00000000
lr20 = 0x00000000
lr21 = 0x00000000
lr22 = 0x00000000
lr23 = 0x00000000
lr24 = 0x00000000
lr25 = 0x00000000
lr26 = 0x00000000
lr27 = 0x00000000
lr28 = 0x00000000
lr29 = 0x00000000
lr30 = 0x00000000
lr31 = 0x00000000
lr32 = 0x00000000
lr33 = 0x00000000
lr34 = 0x00000000
lr35 = 0x00000000
lr36 = 0x00000000
lr37 = 0x00000000
lr38 = 0x00000000
lr39 = 0x00000000
lr40 = 0x00000000
lr41 = 0x00000000
lr42 = 0x00000000
lr43 = 0x00000000
lr44 = 0x00000000
lr45 = 0x00000000
lr46 = 0x00000000
lr47 = 0x00000000
lr48 = 0x00000000
lr49 = 0x00000000
lr50 = 0x00000000
lr51 = 0x00000000
lr52 = 0x00000000
lr53 = 0x00000000
lr54 = 0x00000000
lr55 = 0x00000000
lr56 = 0x00000000
lr57 = 0x00000000
lr58 = 0x00000000
lr59 = 0x00000000
lr60 = 0x00000000
lr61 = 0x00000000
lr62 = 0x00000000
lr63 = 0x00000000
lr64 = 0x00000000
lr65 = 0x00000000
lr66 = 0x00000000
lr67 = 0x00000000
lr68 = 0x00000000
lr69 = 0x00000000
lr70 = 0x00000000
lr71 = 0x00000000
lr72 = 0x00000000
lr73 = 0x00000000
lr74 = 0x00000000
lr75 = 0x00000000
lr76 = 0x00000000
lr77 = 0x00000000
lr78 = 0x00000000
lr79 = 0x00000000
lr80 = 0x00000000
lr81 = 0x00000000
lr82 = 0x00000000
lr83 = 0x00000000
lr84 = 0x00000000
lr85 = 0x00000000
lr86 = 0x00000000
lr87 = 0x00000000
lr88 = 0x00000000
lr89 = 0x00000000
lr90 = 0x00000000
lr91 = 0x00000000
lr92 = 0x00000000
lr93 = 0x00000000
lr94 = 0x00000000
lr95 = 0x00000000
v0 = 0x00000000
v1 = 0x00000000
v2 = 0x00000000
v3 = 0x00000000
v4 = 0x00000000
v5 = 0x00000000
v6 = 0x00000000
v7 = 0x00000000
v8 = 0x00000000
v9 = 0x00000000
v10 = 0x00000000
v11 = 0x00000000
v12 = 0x00000000
v13 = 0x00000000
v14 = 0x00000000
v15 = 0x00000000
lr112 = 0x00000000
lr113 = 0x00000000
lr114 = 0x00000000
lr115 = 0x00000000
lr116 = 0x00000000
lr117 = 0x00000000
lr118 = 0x00000000
lr119 = 0x00000000
lr120 = 0x00000000
lr121 = 0x00000000
lr122 = 0x00000000
lr123 = 0x00000000
lr124 = 0x00000000
lr125 = 0x00000000
lr126 = 0x00000000
lr127 = 0x00000000
EOF
RUN
