Subversion Repositories pentevo

Rev

Blame | Last modification | View Log | Download | RSS feed | ?url?

  1.         cpu     s912zvh128f2clq
  2.         page    0
  3.         padding off
  4.  
  5. bstruct struct  dots
  6. value   ds.b    1
  7. bflg    defbit  value,5
  8. bfld    defbitfield value,3:1
  9.         ends
  10.         org     $123
  11. myb     bstruct
  12.  
  13. wstruct struct  dots
  14. value   ds.w    1
  15. wflg    defbit  value,12
  16. wfld    defbitfield value,5:7
  17.         ends
  18.         org     $240
  19. myw     wstruct
  20.  
  21. lstruct struct  dots
  22. value   ds.l    1
  23. lflg    defbit  value,25
  24. lfld    defbitfield value,5:26
  25.         ends
  26.         org     $280
  27. myl     lstruct
  28.  
  29. pstruct struct  dots
  30. value   ds.p    1
  31. pfld    defbitfield value,5:18
  32.         ends
  33.         org     $380
  34. myp     pstruct
  35.  
  36.         org     $1000
  37.  
  38.         nop
  39.         bgnd
  40.         clc
  41.         cli
  42.         clv
  43.         rti
  44.         rts
  45.         sec
  46.         sei
  47.         sev
  48.         stop
  49.         swi
  50.         sys
  51.         wai
  52.  
  53.         irp     op,bcc,bcs,beq,bge,bgt,bhi,bhs,ble,blo,bls,blt,bmi,bne,bpl,bra,bsr,bvc,bvs
  54.         op      *+10
  55.         op      *+100
  56.         op.s    *+10
  57.         op.l    *+10
  58.         op      *+100
  59.         endm
  60.  
  61.         abs     d0
  62.         abs.b   d0
  63.         abs     d1
  64.         abs.b   d1
  65.         abs     d2
  66.         abs.w   d2
  67.         abs     d3
  68.         abs.w   d3
  69.         abs     d4
  70.         abs.w   d4
  71.         abs     d5
  72.         abs.w   d5
  73.         abs     d6
  74.         abs.l   d6
  75.         abs     d7
  76.         abs.l   d7
  77.  
  78.         irp     instr,adc,add,and,bit,eor,or,sbc,sub,cmp
  79.         instr   d0,d1
  80.         instr   d0,#-1
  81.         instr   d0,#1
  82.         instr   d0,#2
  83.         instr   d0,#3
  84.         instr   d0,#4
  85.         instr   d0,#5
  86.         instr   d0,#6
  87.         instr   d0,#7
  88.         instr   d0,#8
  89.         instr   d0,#9
  90.         instr   d0,#10
  91.         instr   d0,#11
  92.         instr   d0,#12
  93.         instr   d0,#13
  94.         instr   d0,#14
  95.         instr   d0,#15
  96.         instr   d0,#$ff
  97.         instr   d0,#$fe
  98.         instr   d0,#$40
  99.         instr   d3,d5
  100.         instr   d3,#-1
  101.         instr   d3,#1
  102.         instr   d3,#2
  103.         instr   d3,#3
  104.         instr   d3,#4
  105.         instr   d3,#5
  106.         instr   d3,#6
  107.         instr   d3,#7
  108.         instr   d3,#8
  109.         instr   d3,#9
  110.         instr   d3,#10
  111.         instr   d3,#11
  112.         instr   d3,#12
  113.         instr   d3,#13
  114.         instr   d3,#14
  115.         instr   d3,#15
  116.         instr   d3,#$ffff
  117.         instr   d3,#$ff
  118.         instr   d3,#$fffe
  119.         instr   d3,#$3040
  120.         instr   d6,d7
  121.         instr   d6,#-1
  122.         instr   d6,#1
  123.         instr   d6,#2
  124.         instr   d6,#3
  125.         instr   d6,#4
  126.         instr   d6,#5
  127.         instr   d6,#6
  128.         instr   d6,#7
  129.         instr   d6,#8
  130.         instr   d6,#9
  131.         instr   d6,#10
  132.         instr   d6,#11
  133.         instr   d6,#12
  134.         instr   d6,#13
  135.         instr   d6,#14
  136.         instr   d6,#15
  137.         instr   d6,#$ffffffff
  138.         instr   d6,#$ffffff
  139.         instr   d6,#$ffff
  140.         instr   d6,#$ff
  141.         instr   d6,#$fffffffe
  142.         instr   d6,#$30405060
  143.         instr   d6,( -x)
  144.         instr   d6,(-y )
  145.         instr   d6,(-s)
  146.         instr   d6,(x-)
  147.         instr   d6,(y-)
  148.         instr   d6,(+x)
  149.         instr   d6,(+y)
  150.         instr   d6,(x+)
  151.         instr   d6,(y+)
  152.         instr   d6,(s+)
  153.         instr   d6,(2 ,x)
  154.         instr   d6,(y)
  155.         instr   d6,(s,7)
  156.         instr   d6,(20,x)
  157.         instr   d6,(-100,y)
  158.         instr   d6,(255,s)
  159.         instr   d6,(*+2,pc)
  160.         instr   d6,(10000,x)
  161.         instr   d6,(-10000,y)
  162.         instr   d6,(100000,s)
  163.         instr   d6,(*+100000,pc)
  164.         instr   d6,(d0 ,x)
  165.         instr   d6,(d1, y)
  166.         instr   d6,(s,d6)
  167.         instr   d6,(d6)
  168.         instr   d6,(100,d7)
  169.         instr   d6,(100000,d0)
  170.         instr   d6,(1000000,d6)
  171.         instr   d6,(1000000,d7)
  172.         instr   d6,(1000000,d0)
  173.         instr   d6,[d0,x]
  174.         instr   d6,[y,d1]
  175.         instr   d6,[x]
  176.         instr   d6,[y,2]
  177.         instr   d6,[-25,s]
  178.         instr   d6,[*-10,pc]
  179.         instr   d6,[10000,x]
  180.         instr   d6,[y,10000]
  181.         instr   d6,[10000,s]
  182.         instr   d6,[*+10000,pc]
  183.         instr   d6,[0]
  184.         instr   d6,[10000000]
  185.         instr   d6,$123
  186.         instr   d6,$1234
  187.         instr   d6,$12345
  188.         instr   d6,$22345
  189.         instr   d6,$32345
  190.         instr   d6,$123456
  191.         endm
  192.  
  193.         ; additional forms of SUB
  194.  
  195.         sub     d6,x,y
  196.         sub     d6,y,x
  197.         ;sub    d5,y,x
  198.         ;sub    d6,y,y
  199.  
  200.         ; additional forms of CMP
  201.  
  202.         cmp     x,y
  203.         irp     reg,x,y,s
  204.         cmp     reg,d3
  205.         cmp     reg,#-1
  206.         cmp     reg,#1
  207.         cmp     reg,#2
  208.         cmp     reg,#3
  209.         cmp     reg,#4
  210.         cmp     reg,#5
  211.         cmp     reg,#6
  212.         cmp     reg,#7
  213.         cmp     reg,#8
  214.         cmp     reg,#9
  215.         cmp     reg,#10
  216.         cmp     reg,#11
  217.         cmp     reg,#12
  218.         cmp     reg,#13
  219.         cmp     reg,#14
  220.         cmp     reg,#15
  221.         cmp     reg,#$ffffff
  222.         cmp     reg,#$ffff
  223.         cmp     reg,#$ff
  224.         cmp     reg,#$fffffe
  225.         cmp     reg,#$304050
  226.         cmp     reg,(-x)
  227.         cmp     reg,(-y)
  228.         cmp     reg,(-s)
  229.         cmp     reg,(x-)
  230.         cmp     reg,(y-)
  231.         cmp     reg,(+x)
  232.         cmp     reg,(+y)
  233.         cmp     reg,(x+)
  234.         cmp     reg,(y+)
  235.         cmp     reg,(s+)
  236.         cmp     reg,(2,x)
  237.         cmp     reg,(y)
  238.         cmp     reg,(s,7)
  239.         cmp     reg,(20,x)
  240.         cmp     reg,(-100,y)
  241.         cmp     reg,(255,s)
  242.         cmp     reg,(*+2,pc)
  243.         cmp     reg,(10000,x)
  244.         cmp     reg,(-10000,y)
  245.         cmp     reg,(100000,s)
  246.         cmp     reg,(*+100000,pc)
  247.         cmp     reg,(d0,x)
  248.         cmp     reg,(d1,y)
  249.         cmp     reg,(s,d6)
  250.         cmp     reg,(x)
  251.         cmp     reg,(100,d7)
  252.         cmp     reg,(100000,d0)
  253.         cmp     reg,(1000000,x)
  254.         cmp     reg,(1000000,d7)
  255.         cmp     reg,(1000000,d0)
  256.         cmp     reg,[d0,x]
  257.         cmp     reg,[y,d1]
  258.         cmp     reg,[x]
  259.         cmp     reg,[y,2]
  260.         cmp     reg,[-25,s]
  261.         cmp     reg,[*-10,pc]
  262.         cmp     reg,[10000,x]
  263.         cmp     reg,[y,10000]
  264.         cmp     reg,[10000,s]
  265.         cmp     reg,[*+10000,pc]
  266.         cmp     reg,[0]
  267.         cmp     reg,[10000000]
  268.         cmp     reg,$123
  269.         cmp     reg,$1234
  270.         cmp     reg,$12345
  271.         cmp     reg,$22345
  272.         cmp     reg,$32345
  273.         cmp     reg,$123456
  274.         endm
  275.  
  276.         andcc   #$55
  277.         orcc    #$aa
  278.  
  279.         irp     instr,asl,asr,lsl,lsr
  280.         instr   d6,d5,d0        ; REG-REG
  281.         instr   d6,d5,#5        ; REG-IMM (general)
  282.         instr   d6,d5,#1        ; REG-IMM (n=1..2)
  283.         instr   d6,d5,#2        ; REG-IMM (n=1..2)
  284.         instr   d6,d5,(-x)      ; REG-OPR1/2/3 (ASL) OPR/1/2/3-OPR/1/2/3 (others)
  285.         instr   d6,d5,$123456   ; REG-OPR1/2/3 (ASL) OPR/1/2/3-OPR/1/2/3 (others)
  286.         instr.b d6,(x),#2       ; OPR/1/2/3-IMM
  287.         instr.w d6,(x),#2       ; OPR/1/2/3-IMM
  288.         instr.p d6,(x),#2       ; OPR/1/2/3-IMM
  289.         instr.l d6,(x),#2       ; OPR/1/2/3-IMM
  290.         instr.b d6,$1234,#5     ; OPR/1/2/3-IMM
  291.         instr.w d6,$1234,#6     ; OPR/1/2/3-IMM
  292.         instr.p d6,$1234,#7     ; OPR/1/2/3-IMM
  293.         instr.l d6,$1234,#8     ; OPR/1/2/3-IMM
  294.         instr.b d6,(100,x),(200,y)      ; OPR/1/2/3-OPR/1/2/3
  295.         instr.w d6,(1000,x),(2000,y)    ; OPR/1/2/3-OPR/1/2/3
  296.         instr.p d6,(10000,x),(20000,y)  ; OPR/1/2/3-OPR/1/2/3
  297.         instr.l d6,(100000,x),(200000,y)        ; OPR/1/2/3-OPR/1/2/3
  298.         instr   d6,d6,d0        ; REG-REG
  299.         instr   d6,d0
  300.         instr   d6,d6,#5        ; REG-IMM (general)
  301.         instr   d6,#5
  302.         instr   d6,d6,#1        ; REG-IMM (n=1..2)
  303.         instr   d6,#1
  304.         instr   d6,d6,#2        ; REG-IMM (n=1..2)
  305.         instr   d6,#2
  306.         instr   d6,d6,(-x)      ; REG-OPR1/2/3 (ASL) OPR/1/2/3-OPR/1/2/3 (others)
  307.         instr   d6,(-x)
  308.         instr   d6,d6,$123456   ; REG-OPR1/2/3 (ASL) OPR/1/2/3-OPR/1/2/3 (others)
  309.         instr   d6,$123456
  310.         instr.b (x),#1          ; OPR/1/2/3-IMM (n=1..2)
  311.         instr.w (y),#2
  312.         instr.p (x+),#1
  313.         instr.l (y+),#2
  314.         endm
  315.  
  316.         irp     instr,bclr,bset,btgl
  317.         instr   d1,#7           ; REG-IMM
  318.         instr   d5,#15
  319.         instr   d7,#31
  320.         instr   d1,d0           ; REG-REG
  321.         instr   d5,d4
  322.         instr   d7,d6
  323.         instr.b (100,x),#7      ; OPR/1/2/3-IMM
  324.         instr.w (100,x),#15
  325.         instr.l (100,x),#31
  326.         instr.b $123456,d0      ; OPR/1/2/3-REG
  327.         instr.w $123456,d4
  328.         instr.l $123456,d6
  329.         endm
  330.  
  331.         irp     instr,bfext,bfins
  332.         instr   d3,d4,d5        ; REG-REG-REG
  333.         instr   d3,d4,#10:3     ; REG-REG-IMM
  334.         instr.b d6,(10,x),d5    ; REG-OPR1/2/3-REG
  335.         instr.w d6,(10,x),d5
  336.         instr.p d6,(10,x),d5
  337.         instr.l d6,(10,x),d5
  338.         instr.b d6,(10,s),#10:3 ; REG-OPR1/2/3-IMM
  339.         instr.w d6,(10,s),#10:3
  340.         instr.p d6,(10,s),#10:3
  341.         instr.l d6,(10,s),#10:3
  342.         instr.b (10,x),d6,d5    ; OPR1/2/3-REG-REG
  343.         instr.w (10,x),d6,d5
  344.         instr.p (10,x),d6,d5
  345.         instr.l (10,x),d6,d5
  346.         instr.b (10,s),d6,#10:3 ; OPR1/2/3-REG-IMM
  347.         instr.w (10,s),d6,#10:3
  348.         instr.p (10,s),d6,#10:3
  349.         instr.l (10,s),d6,#10:3
  350.         endm
  351.  
  352.         irp     instr,brclr,brset
  353.         instr   d1,#7,*+20              ; REG-IMM-REL
  354.         instr   d5,#15,*-30
  355.         instr   d7,#31,*+40
  356.         instr   d1,d0,*-50              ; REG-REG-REL
  357.         instr   d5,d4,*+60
  358.         instr   d7,d6,*+70
  359.         instr.b (100,x),#7,*-80         ; OPR/1/2/3-IMM-REL
  360.         instr.w (100,x),#15,*+90
  361.         instr.l (100,x),#31,*-100
  362.         instr.b $123456,d0,*+110        ; OPR/1/2/3-REG-REL
  363.         instr.w $123456,d4,*-120
  364.         instr.l $123456,d6,*+130
  365.         endm
  366.  
  367.         clb     d7,d0
  368.  
  369.         clr     d1
  370.         clr.b   d1
  371.         clr     d3
  372.         clr.w   d3
  373.         clr     d6
  374.         clr.l   d6
  375.         clr     x
  376.         clr.p   x
  377.         clr     y
  378.         clr.p   y
  379.         clr.b   (10,x)
  380.         clr.w   $123
  381.         clr.p   (-y)
  382.         clr.l   ($123456,x)
  383.  
  384.         irp     instr,com,neg
  385.         instr   d1
  386.         instr.b d1
  387.         instr   d3
  388.         instr.w d3
  389.         instr   d6
  390.         instr.l d6
  391.         instr.b (10,x)
  392.         instr.w $123
  393.         instr.l ($123456,x)
  394.         endm
  395.  
  396.         irp     instr,dbne,dbeq,dbpl,dbmi,dbgt,dble
  397.         instr   d1,*+10
  398.         instr.b d1,*+10
  399.         instr   d3,*-20
  400.         instr.w d3,*-20
  401.         instr   d6,*+30
  402.         instr.l d6,*+30
  403.         instr   x,*-40
  404.         instr.p x,*-40
  405.         instr   y,*+50
  406.         instr.p y,*+50
  407.         instr.b (10,x),*-60
  408.         instr.w $123,*+70
  409.         instr.p (-y),*-80
  410.         instr.l ($123456,x),*+90
  411.         endm
  412.  
  413.         irp     instr,dec,inc
  414.         instr   d1
  415.         instr.b d1
  416.         instr   d3
  417.         instr.w d3
  418.         instr   d6
  419.         instr.l d6
  420.         instr.b (10,x)
  421.         instr.w $123
  422.         instr.l ($123456,x)
  423.         endm
  424.  
  425.         irp     instr,divs,divu,mods,modu,macs,macu,muls,mulu,qmuls,qmulu
  426.         instr   d7,d6,d3
  427.         instr.b d7,d6,#30
  428.         instr.w d7,d6,#30
  429.         instr.l d7,d6,#30
  430.         instr.b d7,d6,(16,s)
  431.         instr.w d7,d6,(16,s)
  432.         instr.l d7,d6,(16,s)
  433.         instr.bb d7,(100,x),(16,s)
  434.         instr.bw d7,(100,x),(16,s)
  435.         instr.bl d7,(100,x),(16,s)
  436.         instr.wb d7,(100,x),(16,s)
  437.         instr.ww d7,(100,x),(16,s)
  438.         instr.wl d7,(100,x),(16,s)
  439.         instr.lb d7,(100,x),(16,s)
  440.         instr.lw d7,(100,x),(16,s)
  441.         instr.ll d7,(100,x),(16,s)
  442.         endm
  443.  
  444.         irp     src,d2,d3,d4,d5,d0,d1,d6,d7,x,y,s,cch,ccl,ccw
  445.         irp     dest,d2,d3,d4,d5,d0,d1,d6,d7,x,y,s,cch,ccl,ccw
  446.         exg     src,dest
  447.         tfr     src,dest
  448.         endm
  449.         endm
  450.  
  451.         irp     instr,jmp,jsr
  452.         instr   $12
  453.         instr   $123
  454.         instr   $1234
  455.         instr   $12345
  456.         instr   $123456
  457.         instr   (100,x)
  458.         endm
  459.  
  460.         ld      d1,#3           ; REG-IMM and REG-OPR1/2/3 equally good
  461.         ld.b    d1,#3
  462.         ld      d1,#$23         ; REG-IMM
  463.         ld.b    d1,#$23
  464.         ld      d3,#$1234
  465.         ld.w    d3,#$1234
  466.         ld      d6,#$12345678
  467.         ld.l    d6,#$12345678
  468.         ld      d1,$123456      ; REG-EXT3
  469.         ld.b    d1,$123456
  470.         ld      d3,$123456
  471.         ld.w    d3,$123456
  472.         ld      d6,$123456
  473.         ld.l    d6,$123456
  474.         ld      d1,(100,x)      ; REG-OPR1/2/3
  475.         ld.b    d1,(100,x)
  476.         ld      d3,(100,y)
  477.         ld.w    d3,(100,y)
  478.         ld      d6,(100,s)
  479.         ld.l    d6,(100,s)
  480.         ld      x,#$12345       ; XREG-IMM2
  481.         ld.p    x,#$12345
  482.         ld      y,#$12345
  483.         ld.p    y,#$12345
  484.         ld      x,#$123456      ; XREG-IMM3
  485.         ld.p    x,#$123456
  486.         ld      y,#$123456
  487.         ld.p    y,#$123456
  488.         ld      x,$123456       ; XREG-EXT3
  489.         ld      y,$123456
  490.         ld      x,#3            ; XREG-OPR1/2/3
  491.         ld.p    x,#3
  492.         ld      y,#3
  493.         ld.p    y,#3
  494.         ld      x,(100,y)
  495.         ld.p    x,(100,y)
  496.         ld      y,(100,x)
  497.         ld.p    y,(100,x)
  498.         ld      s,#$123456      ; S-IMM3
  499.         ld.p    s,#$123456
  500.         ld      s,#3            ; S-OPR1/2/3
  501.         ld.p    s,#3
  502.         ld      s,(100,x)
  503.         ld.p    s,(100,x)
  504.  
  505.         lea     d6,(x,100)
  506.         lea     d7,$123456
  507.         lea     s,(100,s)
  508.         lea     s,(-100,s)
  509.         lea     x,(100,x)
  510.         lea     x,(-100,x)
  511.         lea     y,(100,y)
  512.         lea     y,(-100,y)
  513.         lea     s,(*+100,pc)
  514.         lea     s,(*-100,pc)
  515.         lea     x,(100,y)
  516.         lea     x,(-100,y)
  517.         lea     y,(100,x)
  518.         lea     y,(-100,x)
  519.  
  520.         irp     instr,mins,minu,maxs,maxu
  521.         instr   d1,(x)
  522.         instr.b d1,(x)
  523.         instr   d4,(100,x)
  524.         instr.w d4,(100,x)
  525.         instr   d6,$123456
  526.         instr.l d6,$123456
  527.         endm
  528.  
  529.         mov     d0,d1           ; REG-REG (may also use TFR)
  530.         mov.b   d0,d1
  531.         mov     d4,d5
  532.         mov.w   d4,d5
  533.         mov     d6,d7
  534.         mov.l   d6,d7
  535.         mov     #$aa,d0         ; IMM-REG (no simm4 possible)
  536.         mov.b   #$aa,d0
  537.         mov     #$55aa,d5
  538.         mov.w   #$55aa,d5
  539.         mov     #$113355aa,d6
  540.         mov.l   #$113355aa,d6
  541.         mov.b   #$aa,(100,x)    ; IMM-OPR1/2/3 (no simm4 possible)
  542.         mov.w   #$55aa,(100,x)
  543.         mov.p   #$3355aa,(100,x)
  544.         mov.l   #$113355aa,(100,x)
  545.         mov     #$ff,d0         ; IMM-OPR1/2/3 (simm4 possible)
  546.         mov.b   #$ff,d0
  547.         mov     #$ffff,d5
  548.         mov.w   #$ffff,d5
  549.         mov     #$ffffffff,d6
  550.         mov.l   #$ffffffff,d6
  551.         mov.b   #$ff,(100,x)    ; IMM-OPR1/2/3 (simm4 possible)
  552.         mov.w   #$ffff,(100,x)
  553.         mov.p   #$ffffff,(100,x)
  554.         mov.l   #$ffffffff,(100,x)
  555.         mov.b   (100,y),(100,x) ; OPR1/2/3-OPR1/2/3
  556.         mov.w   (100,y),(100,x)
  557.         mov.p   (100,y),(100,x)
  558.         mov.b   (100,y),(100,x)
  559.  
  560.         irp     instr,psh,pul
  561.         instr   all
  562.         instr   cch,ccl,d0,d1,d2,d3,d4,d5,d6,d7,x,y
  563.         instr   all16b
  564.         instr   d2,d3,d4,d5
  565.         instr   cch
  566.         instr   ccl
  567.         instr   d0
  568.         instr   d1
  569.         instr   d2
  570.         instr   d3
  571.         instr   d4
  572.         instr   d5
  573.         instr   d6
  574.         instr   d7
  575.         instr   x
  576.         instr   y
  577.         instr   cch,ccl,d0,d1,d2,d3
  578.         instr   d4,d5,d6,d7,x,y
  579.         ;instr  s               ; not possible
  580.         ;instr  d3,d4           ; needs two separate instructions
  581.         endm
  582.  
  583.         irp     instr,rol,ror
  584.         instr   d1
  585.         instr.b d1
  586.         instr   d3
  587.         instr.w d3
  588.         instr   d6
  589.         instr.l d6
  590.         instr.b (200,x)
  591.         instr.w (200,x)
  592.         instr.p (200,x)
  593.         instr.l (200,x)
  594.         instr.b $123456
  595.         instr.w $123456
  596.         instr.p $123456
  597.         instr.l $123456
  598.         endm
  599.  
  600.         sat     d1
  601.         sat     d4
  602.         sat     d7
  603.  
  604.         irp     instr,sex,zex
  605.         instr   d0,d3
  606.         instr   d0,y
  607.         instr   d0,d6
  608.         instr   d3,y
  609.         instr   d3,d6
  610.         instr   y,d6
  611.         endm
  612.  
  613.         st      d1,$123456      ; REG-EXT3
  614.         st.b    d1,$123456
  615.         st      d3,$123456
  616.         st.w    d3,$123456
  617.         st      d6,$123456
  618.         st.l    d6,$123456
  619.         st      d1,(100,x)      ; REG-OPR1/2/3
  620.         st.b    d1,(100,x)
  621.         st      d3,(100,y)
  622.         st.w    d3,(100,y)
  623.         st      d6,(100,s)
  624.         st.l    d6,(100,s)
  625.         st      x,$123456       ; XREG-EXT3
  626.         st.p    y,$123456
  627.         st      x,(100,y)
  628.         st.p    x,(100,y)
  629.         st      y,(100,x)
  630.         st.p    y,(100,x)
  631.         st      s,(100,x)
  632.         st.p    s,(100,x)
  633.  
  634.         irp     instr,tbne,tbeq,tbpl,tbmi,tbgt,tble
  635.         instr   d1,*+20
  636.         instr.b d1,*+20
  637.         instr   d1,*+200
  638.         instr.b d1,*+200
  639.         instr.bl d1,*+20
  640.         instr   d3,*+20
  641.         instr.w d3,*+20
  642.         instr   d3,*+200
  643.         instr.w d3,*+200
  644.         instr.wl d3,*+20
  645.         instr   d6,*+20
  646.         instr.l d6,*+20
  647.         instr   d6,*+200
  648.         instr.l d6,*+200
  649.         instr.ll d6,*+20
  650.         instr   y,*+20
  651.         instr.p y,*+20
  652.         instr   y,*+200
  653.         instr.p y,*+200
  654.         instr.pl y,*+20
  655.         instr.b (50,x),*+20
  656.         instr.bl (50,x),*+20
  657.         instr.w (50,x),*+20
  658.         instr.wl (50,x),*+20
  659.         instr.p (50,x),*+20
  660.         instr.pl (50,x),*+20
  661.         instr.l (50,x),*+20
  662.         instr.ll (50,x),*+20
  663.         endm
  664.  
  665.         trap    #$ff
  666.         spare
  667.  
  668.         ; define some bit symbols and see if using them results in the same
  669.         ; code as writing register address & bit position explicitly
  670.  
  671. myreg   equ             $123
  672. mybit   defbit.b        myreg,5
  673. myfld   defbitfield.b   myreg,3:1
  674.         bclr.b          $123,#5
  675.         bclr.b          myreg,#5
  676.         bclr            mybit
  677.         bclr            myb.bflg
  678.         bfins.b         $123,d4,#3:1
  679.         bfins.b         myreg,d4,#3:1
  680.         bfins           myfld,d4
  681.         bfins           myb.bfld,d4
  682.         bfext.b         d4,$123,#3:1
  683.         bfext.b         d4,myreg,#3:1
  684.         bfext           d4,myfld
  685.         bfext           d4,myb.bfld
  686.  
  687. mywreg  equ             $240
  688. mywbit  defbit.w        mywreg,12
  689. mywfld  defbitfield.w   mywreg,5:7
  690.         bset.w          $240,#12
  691.         bset.w          mywreg,#12
  692.         bset            mywbit
  693.         bset            myw.wflg
  694.         bfins.w         $240,d4,#5:7
  695.         bfins.w         mywreg,d4,#5:7
  696.         bfins           mywfld,d4
  697.         bfins           myw.wfld,d4
  698.         bfext.w         d4,$240,#5:7
  699.         bfext.w         d4,mywreg,#5:7
  700.         bfext           d4,mywfld
  701.         bfext           d4,myw.wfld
  702.  
  703. mylreg  equ             $280
  704. mylbit  defbit.l        mylreg,25
  705. mylfld  defbitfield.l   mylreg,5:26
  706.         bset.l          $280,#25
  707.         bset.l          mylreg,#25
  708.         bset            mylbit
  709.         bset            myl.lflg
  710.         bfins.l         $280,d4,#5:26
  711.         bfins.l         mylreg,d4,#5:26
  712.         bfins           mylfld,d4
  713.         bfins           myl.lfld,d4
  714.         bfext.l         d4,$280,#5:26
  715.         bfext.l         d4,mylreg,#5:26
  716.         bfext           d4,mylfld
  717.         bfext           d4,myl.lfld
  718.  
  719. mypreg  equ             $380
  720. mypfld  defbitfield.p   mypreg,5:18
  721.         bfins.p         $380,d4,#5:18
  722.         bfins.p         mypreg,d4,#5:18
  723.         bfins           mypfld,d4
  724.         bfins           myp.pfld,d4
  725.         bfext.p         d4,$380,#5:18
  726.         bfext.p         d4,mypreg,#5:18
  727.         bfext           d4,mypfld
  728.         bfext           d4,myp.pfld
  729.