# 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