273 lines
5.8 KiB
ArmAsm
273 lines
5.8 KiB
ArmAsm
# Test handling of MIT and Motorola syntax operands
|
|
# If you change this file, see also op68000.d.
|
|
.text
|
|
foo:
|
|
| Data register direct
|
|
tstl %d0
|
|
|
|
| Address register direct
|
|
tstl %a0
|
|
|
|
| Address register indirect
|
|
tstl %a0@
|
|
tstl (%a0)
|
|
|
|
| Address register indirect with postincrement
|
|
tstl %a0@+
|
|
tstl (%a0)+
|
|
|
|
| Address register indirect with predecrement
|
|
tstl %a0@-
|
|
tstl -(%a0)
|
|
|
|
| Address register indirect with displacement
|
|
tstl %a0@(8)
|
|
tstl (8,%a0)
|
|
tstl 8(%a0)
|
|
|
|
| Address register indirect with index (8-bit displacement)
|
|
tstl %a0@(8,%d0)
|
|
tstl %a0@(8,%d0:w)
|
|
tstl %a0@(8,%d0:w:1)
|
|
tstl %a0@(8,%d0:w:2)
|
|
tstl %a0@(8,%d0:w:4)
|
|
tstl %a0@(8,%d0:w:8)
|
|
tstl %a0@(8,%d0:l)
|
|
tstl %a0@(8,%d0:l:1)
|
|
tstl %a0@(8,%d0:l:2)
|
|
tstl %a0@(8,%d0:l:4)
|
|
tstl %a0@(8,%d0:l:8)
|
|
tstl %a0@(%d0:w:2)
|
|
tstl (8,%a0,%d0)
|
|
tstl (8,%a0,%d0*1)
|
|
tstl (8,%a0,%d0*2)
|
|
tstl (8,%a0,%d0*4)
|
|
tstl (8,%a0,%d0*8)
|
|
tstl (8,%a0,%d0.w)
|
|
tstl (8,%a0,%d0.w*1)
|
|
tstl (8,%a0,%d0.w*2)
|
|
tstl (8,%a0,%d0.w*4)
|
|
tstl (8,%a0,%d0.w*8)
|
|
tstl (8,%a0,%d0.l)
|
|
tstl (8,%a0,%d0.l*1)
|
|
tstl (8,%a0,%d0.l*2)
|
|
tstl (8,%a0,%d0.l*4)
|
|
tstl (8,%a0,%d0.l*8)
|
|
tstl (8,%d0,%a0)
|
|
tstl (8,%a1.w*2,%a0)
|
|
tstl (8,%a1,%a0)
|
|
tstl 8(%a0,%d0.w*2)
|
|
tstl 8(%d0.w*2,%a0)
|
|
tstl 8(%a1.w*2,%a0)
|
|
tstl (%a0,%d0.w*2)
|
|
tstl (%d0.w*2,%a0)
|
|
|
|
| Address register indirect with index (base displacement)
|
|
tstl %a0@(1000,%d0:w:2)
|
|
tstl @(1000,%d0:w:2)
|
|
tstl @(%d0:w:2)
|
|
tstl @(1000)
|
|
tstl %a0@(100000)
|
|
tstl (1000,%a0,%d0.w*2)
|
|
tstl (1000,%d0,%a0)
|
|
tstl (1000,%a1.w*2,%a0)
|
|
tstl 1000(%a0,%d0.w*2)
|
|
tstl 1000(%d0,%a0)
|
|
tstl (1000,%d0.w*2)
|
|
tstl 1000(%d0.w*2)
|
|
tstl (%d0.w*2)
|
|
tstl (100000,%a0)
|
|
tstl 100000(%a0)
|
|
tstl %za1@(1000,%d0:w:2)
|
|
tstl %za1@(100000)
|
|
tstl (1000,%za1,%d0.w*2)
|
|
tstl (1000,%d0,%za1)
|
|
tstl (1000,%a1.w*2,%za1)
|
|
tstl 1000(%za1,%d0.w*2)
|
|
tstl 1000(%d0,%za1)
|
|
tstl (100000,%za1)
|
|
tstl 100000(%za1)
|
|
tstl %a0@(1000,%zd1:w:2)
|
|
tstl @(1000,%zd1:w:2)
|
|
tstl @(%zd1:w:2)
|
|
tstl (1000,%a0,%zd1.w*2)
|
|
tstl (1000,%zd1,%a0)
|
|
tstl (1000,%za1.w*2,%a0)
|
|
tstl 1000(%a0,%zd1.w*2)
|
|
tstl 1000(%zd1,%a0)
|
|
tstl (1000,%zd1.w*2)
|
|
tstl 1000(%zd1.w*2)
|
|
tstl (%zd1.w*2)
|
|
|
|
| Memory indirect postindexed
|
|
tstl %a0@(1000)@(2000,%d0:w:2)
|
|
tstl %a0@(1000)@(%d0:w:2)
|
|
tstl %a0@(1000)@(2000)
|
|
tstl @(1000)@(2000,%d0:w:2)
|
|
tstl @(1000)@(%d0:w:2)
|
|
tstl @(1000)@(2000)
|
|
tstl %a0@(0)@(2000,%d0:w:2)
|
|
tstl %a0@(0)@(%d0:w:2)
|
|
tstl %a0@(0)@(2000)
|
|
tstl @(0)@(2000,%d0:w:2)
|
|
tstl @(0)@(%d0:w:2)
|
|
tstl @(0)@(2000)
|
|
tstl ([1000,%a0],%d0:w:2,2000)
|
|
tstl ([1000,%a0],%d0:w:2)
|
|
tstl ([1000,%a0],2000)
|
|
tstl ([1000],%d0:w:2,2000)
|
|
tstl ([1000],%d0:w:2)
|
|
tstl ([1000],2000)
|
|
tstl ([%a0],%d0:w:2,2000)
|
|
tstl ([%a0],%d0:w:2)
|
|
tstl ([%a0],2000)
|
|
tstl ([0],%d0:w:2,2000)
|
|
tstl ([0],%d0:w:2)
|
|
tstl ([0],2000)
|
|
|
|
| Memory indirect preindexed
|
|
tstl %a0@(1000,%d0:w:2)@(2000)
|
|
tstl %a0@(1000,%d0:w:2)@(0)
|
|
tstl @(1000,%d0:w:2)@(2000)
|
|
tstl @(1000,%d0:w:2)@(0)
|
|
tstl %a0@(%d0:w:2)@(2000)
|
|
tstl %a0@(%d0:w:2)@(0)
|
|
tstl @(%d0:w:2)@(2000)
|
|
tstl @(%d0:w:2)@(0)
|
|
tstl ([1000,%a0,%d0:w:2],2000)
|
|
tstl ([1000,%d0:w:2,%a0],2000)
|
|
tstl ([1000,%d0,%a0],2000)
|
|
tstl ([1000,%a1,%a0],2000)
|
|
tstl ([1000,%a1:w:2,%a0],2000)
|
|
tstl ([1000,%a0,%d0:w:2])
|
|
tstl ([1000,%d0,%a0])
|
|
tstl ([1000,%d0:w:2],2000)
|
|
tstl ([1000,%d0:w:2])
|
|
tstl ([%a0,%d0:w:2],2000)
|
|
tstl ([%d0,%a0],2000)
|
|
tstl ([%a0,%d0:w:2])
|
|
tstl ([%d0,%a0])
|
|
tstl ([%d0:w:2],2000)
|
|
tstl ([%d0:w:2])
|
|
|
|
| Program counter indirect with displacement
|
|
pea %pc@(8)
|
|
pea (8,%pc)
|
|
pea 8(%pc)
|
|
pea foo
|
|
|
|
| Program counter indirect with index (8-bit displacement)
|
|
pea %pc@(8,%d0:w:2)
|
|
pea %pc@(%d0:w:2)
|
|
pea (8,%pc,%d0.w*2)
|
|
pea (8,%d0,%pc)
|
|
pea (8,%a0,%pc)
|
|
pea 8(%pc,%d0.w*2)
|
|
pea 8(%d0,%pc)
|
|
pea 8(%a0,%pc)
|
|
pea (%pc,%d0.w*2)
|
|
pea (%d0,%pc)
|
|
pea (%a0,%pc)
|
|
|
|
| Program counter indirect with index (base displacement)
|
|
pea %pc@(1000,%d0:w:2)
|
|
pea %pc@(100000)
|
|
pea (1000,%pc,%d0.w*2)
|
|
pea (1000,%d0,%pc)
|
|
pea (1000,%a1.w*2,%pc)
|
|
pea (1000,%a1,%pc)
|
|
pea 1000(%pc,%d0.w*2)
|
|
pea 1000(%d0,%pc)
|
|
pea 1000(%a1,%pc)
|
|
pea (100000,%pc)
|
|
pea 100000(%pc)
|
|
pea %zpc@(1000,%d0:w:2)
|
|
pea %zpc@(100000)
|
|
pea (1000,%zpc,%d0.w*2)
|
|
pea (1000,%d0,%zpc)
|
|
pea (1000,%a1.w*2,%zpc)
|
|
pea (1000,%a1,%zpc)
|
|
pea 1000(%zpc,%d0.w*2)
|
|
pea 1000(%d0,%zpc)
|
|
pea 1000(%a1,%zpc)
|
|
pea (100000,%zpc)
|
|
pea 100000(%zpc)
|
|
|
|
| Program counter memory indirect postindexed
|
|
pea %pc@(1000)@(2000,%d0:w:2)
|
|
pea %pc@(1000)@(%d0:w:2)
|
|
pea %pc@(1000)@(2000)
|
|
pea %pc@(0)@(2000,%d0:w:2)
|
|
pea %pc@(0)@(%d0:w:2)
|
|
pea %pc@(0)@(2000)
|
|
pea ([1000,%pc],%d0:w:2,2000)
|
|
pea ([1000,%pc],%d0:w:2)
|
|
pea ([1000,%pc],2000)
|
|
pea ([%pc],%d0:w:2,2000)
|
|
pea ([%pc],%d0:w:2)
|
|
pea ([%pc],2000)
|
|
pea %zpc@(1000)@(2000,%d0:w:2)
|
|
pea %zpc@(1000)@(%d0:w:2)
|
|
pea %zpc@(1000)@(2000)
|
|
pea %zpc@(0)@(2000,%d0:w:2)
|
|
pea %zpc@(0)@(%d0:w:2)
|
|
pea %zpc@(0)@(2000)
|
|
pea ([1000,%zpc],%d0:w:2,2000)
|
|
pea ([1000,%zpc],%d0:w:2)
|
|
pea ([1000,%zpc],2000)
|
|
pea ([%zpc],%d0:w:2,2000)
|
|
pea ([%zpc],%d0:w:2)
|
|
pea ([%zpc],2000)
|
|
|
|
| Program counter memory indirect preindexed
|
|
pea %pc@(1000,%d0:w:2)@(2000)
|
|
pea %pc@(1000,%d0:w:2)@(0)
|
|
pea %pc@(%d0:w:2)@(2000)
|
|
pea %pc@(%d0:w:2)@(0)
|
|
pea ([1000,%pc,%d0:w:2],2000)
|
|
pea ([1000,%d0:w:2,%pc],2000)
|
|
pea ([1000,%d0,%pc],2000)
|
|
pea ([1000,%a1,%pc],2000)
|
|
pea ([1000,%pc,%a1],2000)
|
|
pea ([1000,%a1:w:2,%pc],2000)
|
|
pea ([1000,%pc,%d0:w:2])
|
|
pea ([1000,%d0,%pc])
|
|
pea ([1000,%a1,%pc])
|
|
pea ([%pc,%d0:w:2],2000)
|
|
pea ([%pc,%a0],2000)
|
|
pea ([%pc,%d0:w:2])
|
|
pea ([%d0,%pc])
|
|
pea %zpc@(1000,%d0:w:2)@(2000)
|
|
pea %zpc@(1000,%d0:w:2)@(0)
|
|
pea %zpc@(%d0:w:2)@(2000)
|
|
pea %zpc@(%d0:w:2)@(0)
|
|
pea ([1000,%zpc,%d0:w:2],2000)
|
|
pea ([1000,%d0:w:2,%zpc],2000)
|
|
pea ([1000,%d0,%zpc],2000)
|
|
pea ([1000,%a1,%zpc],2000)
|
|
pea ([1000,%zpc,%a1],2000)
|
|
pea ([1000,%a1:w:2,%zpc],2000)
|
|
pea ([1000,%zpc,%d0:w:2])
|
|
pea ([1000,%d0,%zpc])
|
|
pea ([1000,%a1,%zpc])
|
|
pea ([%zpc,%d0:w:2],2000)
|
|
pea ([%zpc,%a0],2000)
|
|
pea ([%zpc,%d0:w:2])
|
|
pea ([%d0,%zpc])
|
|
|
|
| Absolute short
|
|
tstl 4
|
|
tstl 4.w
|
|
tstl (4).w
|
|
|
|
| Absolute long
|
|
tstl 100000
|
|
tstl 8.l
|
|
tstl (8).l
|
|
|
|
| Immediate
|
|
addib &1,%d0
|
|
addiw &1,%d0
|
|
addil &1,%d0
|
|
addqb &1,%d0
|