blob: 43dc77ee64b9955ea2e7ae13b9b02934050608c8 [file] [log] [blame]
.global main
.global foo
.global bar
main:
nop
nop
lb $5, foo($3)
bsr foo
repeat $5, foo
nop
nop
lb $5, (-foo & 0xffff)($3)
bsr -foo
repeat $5, -foo
nop
nop
lb $5, (foo + bar)($3)
bsr (foo + bar)
repeat $5, (foo + bar)
jmp (foo << 3)
jmp (foo >> 3)
jmp (foo - bar) & 0x7fffff
jmp (foo - main) & 0x7fffff
jmp (.text - foo) & 0x7fffff
jmp (.data - foo) & 0x7fffff
jmp (foo - %sizeof(.text))
jmp (foo * 7)
jmp (foo / 7)
jmp (foo % 7)
jmp (foo ^ bar)
jmp (foo | bar)
jmp (foo & bar)
jmp (foo == bar) << 5
jmp (foo < bar) << 5
jmp (foo <= bar) << 5
jmp (foo > bar) << 5
jmp (foo >= bar) << 5
# jmp (foo != bar) # FIXME this appears to not work atm.
jmp (foo && bar) << 5
jmp (foo || bar) << 5
nop
nop
nop
nop
jmp %sizeof(.data) >> (((main ^ (bar + 0xf)) - ((foo | .text) << 2)) / 3)
nop
nop
nop