Subversion Repositories pentevo

Rev

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

  1.         cpu     xag3
  2.  
  3.         page    0
  4.  
  5.         include stddefxa
  6.  
  7.         segment io
  8.  
  9. port1   ds.b    1
  10. port2   ds.b    1
  11.  
  12.         segment code
  13.  
  14.         supmode on
  15.  
  16. regbit1 bit     r3l.4
  17. regbit2 bit     sp.5
  18. regbit3 bit     r5h.5
  19. regbit4 bit     sp.14
  20. membit1 bit     22h.5
  21. membit2 bit     50023h.5
  22. iobit1  bit     port1.2
  23. regbit5 bit     regbit4+1
  24.  
  25.         add.b   r4h,r1l
  26.         add.w   r5,r3
  27.         add.b   r5l,[r6]
  28.         add.w   r4,[sp]
  29.         add.b   [r6],r5l
  30.         add.w   [sp],r4
  31.         add.b   r3h,[r6+2]
  32.         add.w   r4,[r3+100]
  33.         add.b   [r6+2],r3h
  34.         add.w   [r3+100],r4
  35.         add.b   r3h,[r6+200]
  36.         add.w   r4,[r3+1000]
  37.         add.b   [r6+200],r3h
  38.         add.w   [r3+1000],r4
  39.         add.b   r4h,[r1+]
  40.         add.w   r5,[r6+]
  41.         add.b   [r1+],r4h
  42.         add.w   [r6+],r5
  43.         add.b   200h,r2l
  44.         add.w   123h,r6
  45.         add.b   r2l,200h
  46.         add.w   r6,123h
  47.         add.b   r5h,#34h
  48.         add.w   r3,#1234h
  49.         add.b   [r5],#34h
  50.         add.w   [r3],#1234h
  51.         add.b   [r5+],#34h
  52.         add.w   [r3+],#1234h
  53.         add.b   [r5+2],#34h
  54.         add.w   [r3+100],#1234h
  55.         add.b   [r5+200],#34h
  56.         add.w   [r3+1000],#1234h
  57.         add.b   200h,#34h
  58.         add.w   123h,#1234h
  59.  
  60.         addc.b  r4h,r1l
  61.         addc.w  r5,r3
  62.         addc.b  r5l,[r6]
  63.         addc.w  r4,[sp]
  64.         addc.b  [r6],r5l
  65.         addc.w  [sp],r4
  66.         addc.b  r3h,[r6+2]
  67.         addc.w  r4,[r3+100]
  68.         addc.b  [r6+2],r3h
  69.         addc.w  [r3+100],r4
  70.         addc.b  r3h,[r6+200]
  71.         addc.w  r4,[r3+1000]
  72.         addc.b  [r6+200],r3h
  73.         addc.w  [r3+1000],r4
  74.         addc.b  r4h,[r1+]
  75.         addc.w  r5,[r6+]
  76.         addc.b  [r1+],r4h
  77.         addc.w  [r6+],r5
  78.         addc.b  200h,r2l
  79.         addc.w  123h,r6
  80.         addc.b  r2l,200h
  81.         addc.w  r6,123h
  82.         addc.b  r5h,#34h
  83.         addc.w  r3,#1234h
  84.         addc.b  [r5],#34h
  85.         addc.w  [r3],#1234h
  86.         addc.b  [r5+],#34h
  87.         addc.w  [r3+],#1234h
  88.         addc.b  [r5+2],#34h
  89.         addc.w  [r3+100],#1234h
  90.         addc.b  [r5+200],#34h
  91.         addc.w  [r3+1000],#1234h
  92.         addc.b  200h,#34h
  93.         addc.w  123h,#1234h
  94.  
  95.         adds.b  r5h,#3
  96.         adds.w  r6,#5
  97.         adds.b  [r4],#3
  98.         adds.w  [sp],#5
  99.         adds.b  [r4+],#3
  100.         adds.w  [sp+],#5
  101.         adds.b  [r4+20],#3
  102.         adds.w  [sp+20],#5
  103.         adds.b  [r4-200],#3
  104.         adds.w  [sp-200],#5
  105.         adds.b  200h,#3
  106.         adds.w  123h,#5
  107.  
  108.         and.b   r4h,r1l
  109.         and.w   r5,r3
  110.         and.b   r5l,[r6]
  111.         and.w   r4,[sp]
  112.         and.b   [r6],r5l
  113.         and.w   [sp],r4
  114.         and.b   r3h,[r6+2]
  115.         and.w   r4,[r3+100]
  116.         and.b   [r6+2],r3h
  117.         and.w   [r3+100],r4
  118.         and.b   r3h,[r6+200]
  119.         and.w   r4,[r3+1000]
  120.         and.b   [r6+200],r3h
  121.         and.w   [r3+1000],r4
  122.         and.b   r4h,[r1+]
  123.         and.w   r5,[r6+]
  124.         and.b   [r1+],r4h
  125.         and.w   [r6+],r5
  126.         and.b   200h,r2l
  127.         and.w   123h,r6
  128.         and.b   r2l,200h
  129.         and.w   r6,123h
  130.         and.b   r5h,#34h
  131.         and.w   r3,#1234h
  132.         and.b   [r5],#34h
  133.         and.w   [r3],#1234h
  134.         and.b   [r5+],#34h
  135.         and.w   [r3+],#1234h
  136.         and.b   [r5+2],#34h
  137.         and.w   [r3+100],#1234h
  138.         and.b   [r5+200],#34h
  139.         and.w   [r3+1000],#1234h
  140.         and.b   200h,#34h
  141.         and.w   123h,#1234h
  142.  
  143.         anl     c,regbit1
  144.         anl     c,/iobit1
  145.         anl     c,r5.12
  146.         anl     c,/r4h.1
  147.  
  148.         asl.b   r4h,r1l
  149.         asl.w   r6,r3h
  150.         asl.d   r2,r4l
  151.         asl.b   r4h,#6
  152.         asl.w   r6,#12
  153.         asl.d   r2,#24
  154.  
  155.         asr.b   r4h,r1l
  156.         asr.w   r6,r3h
  157.         asr.d   r2,r4l
  158.         asr.b   r4h,#6
  159.         asr.w   r6,#12
  160.         asr.d   r2,#24
  161.  
  162.         bcc     label1
  163.         nop
  164.         bcc     label2
  165.         nop
  166.         bcs     label1
  167.         beq     label1
  168.         bg      label1
  169.         bge     label1
  170.         bgt     label1
  171.         ble     label1
  172.         blt     label1
  173.         bmi     label1
  174.         bne     label1
  175.         bnv     label1
  176.         bov     label1
  177.         bpl     label1
  178.         br      label1
  179.  
  180.         call    label1
  181.         call    label1
  182.         call    [r4]
  183.  
  184.         cjne    r5l,123h,label1
  185.         cjne    r6,456h,label1
  186.         cjne    r5l,#34h,label1
  187.         cjne    r6,#1234h,label1
  188.         cjne.b  [r6],#34h,label1
  189.         cjne.[r6],#1234h,label1
  190.  
  191. label1: nop
  192. label2: nop
  193.  
  194.         clr     regbit1
  195.  
  196.         cmp.b   r4h,r1l
  197.         cmp.w   r5,r3
  198.         cmp.b   r5l,[r6]
  199.         cmp.w   r4,[sp]
  200.         cmp.b   [r6],r5l
  201.         cmp.w   [sp],r4
  202.         cmp.b   r3h,[r6+2]
  203.         cmp.w   r4,[r3+100]
  204.         cmp.b   [r6+2],r3h
  205.         cmp.w   [r3+100],r4
  206.         cmp.b   r3h,[r6+200]
  207.         cmp.w   r4,[r3+1000]
  208.         cmp.b   [r6+200],r3h
  209.         cmp.w   [r3+1000],r4
  210.         cmp.b   r4h,[r1+]
  211.         cmp.w   r5,[r6+]
  212.         cmp.b   [r1+],r4h
  213.         cmp.w   [r6+],r5
  214.         cmp.b   200h,r2l
  215.         cmp.w   123h,r6
  216.         cmp.b   r2l,200h
  217.         cmp.w   r6,123h
  218.         cmp.b   r5h,#34h
  219.         cmp.w   r3,#1234h
  220.         cmp.b   [r5],#34h
  221.         cmp.w   [r3],#1234h
  222.         cmp.b   [r5+],#34h
  223.         cmp.w   [r3+],#1234h
  224.         cmp.b   [r5+2],#34h
  225.         cmp.w   [r3+100],#1234h
  226.         cmp.b   [r5+200],#34h
  227.         cmp.w   [r3+1000],#1234h
  228.         cmp.b   200h,#34h
  229.         cmp.w   123h,#1234h
  230.  
  231.         cpl     r4l
  232.         cpl     sp
  233.  
  234.         da      r4l
  235.  
  236.         div.w   r4,r1h
  237.         div.w   r5,#23
  238.         div.d   r2,r5
  239.         div.d   r6,#1234h
  240.  
  241.         divu.b  r4l,r5l
  242.         divu.b  r4l,#23
  243.         divu.w  r4,r1h
  244.         divu.w  r5,#23
  245.         divu.d  r2,r5
  246.         divu.d  r6,#1234h
  247.  
  248. d1:     djnz    r5l,d1
  249. d2:     djnz.b  123h,d2
  250. d3:     djnz    r5,d3
  251. d4:     djnz.123h,d4
  252.  
  253.         fcall   123456h
  254.  
  255.         fjmp    123456h
  256.  
  257.         jb      regbit1,d1
  258.         jbc     regbit1,d2
  259.  
  260.         jmp     1234h
  261.         jmp     [r3]
  262.         jmp     [a+dptr]
  263.         jmp     [[r5+]]
  264.  
  265.         jnb     regbit1,d3
  266.  
  267.         jnz     d3
  268.  
  269.         jz      d3
  270.  
  271.         lea     r5,r4+4
  272.         lea     r6,r1+1000
  273.  
  274.         lsr.b   r4h,r1l
  275.         lsr.w   r6,r3h
  276.         lsr.d   r2,r4l
  277.         lsr.b   r4h,#6
  278.         lsr.w   r6,#12
  279.         lsr.d   r2,#24
  280.  
  281.         mov     c,regbit1
  282.         mov     regbit1,c
  283.         mov     usp,r4
  284.         mov     sp,usp
  285.         mov.b   r4h,r1l
  286.         mov.w   r5,r3
  287.         mov.b   r5l,[r6]
  288.         mov.w   r4,[sp]
  289.         mov.b   [r6],r5l
  290.         mov.w   [sp],r4
  291.         mov.b   r3h,[r6+2]
  292.         mov.w   r4,[r3+100]
  293.         mov.b   [r6+2],r3h
  294.         mov.w   [r3+100],r4
  295.         mov.b   r3h,[r6+200]
  296.         mov.w   r4,[r3+1000]
  297.         mov.b   [r6+200],r3h
  298.         mov.w   [r3+1000],r4
  299.         mov.b   r4h,[r1+]
  300.         mov.w   r5,[r6+]
  301.         mov.b   [r1+],r4h
  302.         mov.w   [r6+],r5
  303.         mov.b   [r3+],[r4+]
  304.         mov.w   [r3+],[r4+]
  305.         mov.b   200h,r2l
  306.         mov.w   123h,r6
  307.         mov.b   r2l,200h
  308.         mov.w   r6,123h
  309.         mov.b   123h,[r5]
  310.         mov.w   456h,[sp]
  311.         mov.b   [r5],123h
  312.         mov.w   [sp],456h
  313.         mov.b   r5h,#34h
  314.         mov.w   r3,#1234h
  315.         mov.b   [r5],#34h
  316.         mov.w   [r3],#1234h
  317.         mov.b   [r5+],#34h
  318.         mov.w   [r3+],#1234h
  319.         mov.b   [r5+2],#34h
  320.         mov.w   [r3+100],#1234h
  321.         mov.b   [r5+200],#34h
  322.         mov.w   [r3+1000],#1234h
  323.         mov.b   200h,#34h
  324.         mov.w   123h,#1234h
  325.         mov.b   123h,200h
  326.         mov.w   123h,200h
  327.  
  328.         movc    r4l,[r5+]
  329.         movc    r4,[r5+]
  330.         movc    a,[a+dptr]
  331.         movc    a,[a+pc]
  332.  
  333.         movs.b  r5h,#3
  334.         movs.w  r6,#5
  335.         movs.b  [r4],#3
  336.         movs.w  [sp],#5
  337.         movs.b  [r4+],#3
  338.         movs.w  [sp+],#5
  339.         movs.b  [r4+20],#3
  340.         movs.w  [sp+20],#5
  341.         movs.b  [r4-200],#3
  342.         movs.w  [sp-200],#5
  343.         movs.b  200h,#3
  344.         movs.w  123h,#5
  345.  
  346.         movx    r3l,[r6]
  347.         movx    r3,[sp]
  348.         movx    [r6],r3l
  349.         movx    [sp],r3
  350.  
  351.         mul     r0,r5
  352.         mul     r6,#1234h
  353.  
  354.         mulu    r3l,r4h
  355.         mulu    r5l,#100
  356.         mulu    r0,r5
  357.         mulu    r6,#1234h
  358.  
  359.         neg     r4l
  360.         neg     sp
  361.  
  362.         nop
  363.  
  364.         norm.b  r4h,r1l
  365.         norm.w  r6,r3h
  366.         norm.d  r2,r4l
  367.  
  368.         or.b    r4h,r1l
  369.         or.w    r5,r3
  370.         or.b    r5l,[r6]
  371.         or.w    r4,[sp]
  372.         or.b    [r6],r5l
  373.         or.w    [sp],r4
  374.         or.b    r3h,[r6+2]
  375.         or.w    r4,[r3+100]
  376.         or.b    [r6+2],r3h
  377.         or.w    [r3+100],r4
  378.         or.b    r3h,[r6+200]
  379.         or.w    r4,[r3+1000]
  380.         or.b    [r6+200],r3h
  381.         or.w    [r3+1000],r4
  382.         or.b    r4h,[r1+]
  383.         or.w    r5,[r6+]
  384.         or.b    [r1+],r4h
  385.         or.w    [r6+],r5
  386.         or.b    200h,r2l
  387.         or.w    123h,r6
  388.         or.b    r2l,200h
  389.         or.w    r6,123h
  390.         or.b    r5h,#34h
  391.         or.w    r3,#1234h
  392.         or.b    [r5],#34h
  393.         or.w    [r3],#1234h
  394.         or.b    [r5+],#34h
  395.         or.w    [r3+],#1234h
  396.         or.b    [r5+2],#34h
  397.         or.w    [r3+100],#1234h
  398.         or.b    [r5+200],#34h
  399.         or.w    [r3+1000],#1234h
  400.         or.b    200h,#34h
  401.         or.w    123h,#1234h
  402.  
  403.         orl     c,regbit1
  404.         orl     c,/iobit1
  405.         orl     c,r5.12
  406.         orl     c,/r4h.1
  407.  
  408.         pop.b   123h
  409.         pop.w   200h
  410.         pop     r2l
  411.         pop     r2l,r3l
  412.         pop     r4h
  413.         pop     r4h,r5h
  414.         pop     r2l,r3l,r4h,r5h
  415.         pop     r1
  416.         pop     r2,r5;,sp
  417.  
  418.         popu.b  123h
  419.         popu.w  200h
  420.         popu    r2l
  421.         popu    r2l,r3l
  422.         popu    r4h
  423.         popu    r4h,r5h
  424.         popu    r2l,r3l,r4h,r5h
  425.         popu    r1
  426.         popu    r2,r5,sp
  427.  
  428.         push.b  123h
  429.         push.w  200h
  430.         push    r2l
  431.         push    r2l,r3l
  432.         push    r4h
  433.         push    r4h,r5h
  434.         push    r2l,r3l,r4h,r5h
  435.         push    r1
  436.         push    r2,r5,sp
  437.  
  438.         pushu.b 123h
  439.         pushu.w 200h
  440.         pushu   r2l
  441.         pushu   r2l,r3l
  442.         pushu   r4h
  443.         pushu   r4h,r5h
  444.         pushu   r2l,r3l,r4h,r5h
  445.         pushu   r1
  446.         pushu   r2,r5,sp
  447.  
  448.         reset
  449.  
  450.         ret
  451.  
  452.         reti
  453.  
  454.         rl      r3h,#3
  455.         rl      r5,#12
  456.  
  457.         rlc     r3h,#3
  458.         rlc     r5,#12
  459.  
  460.         rr      r3h,#3
  461.         rr      r5,#12
  462.  
  463.         rrc     r3h,#3
  464.         rrc     r5,#12
  465.  
  466.         setb    regbit1
  467.  
  468.         sext    r1l
  469.         sext    r2
  470.  
  471.         sub.b   r4h,r1l
  472.         sub.w   r5,r3
  473.         sub.b   r5l,[r6]
  474.         sub.w   r4,[sp]
  475.         sub.b   [r6],r5l
  476.         sub.w   [sp],r4
  477.         sub.b   r3h,[r6+2]
  478.         sub.w   r4,[r3+100]
  479.         sub.b   [r6+2],r3h
  480.         sub.w   [r3+100],r4
  481.         sub.b   r3h,[r6+200]
  482.         sub.w   r4,[r3+1000]
  483.         sub.b   [r6+200],r3h
  484.         sub.w   [r3+1000],r4
  485.         sub.b   r4h,[r1+]
  486.         sub.w   r5,[r6+]
  487.         sub.b   [r1+],r4h
  488.         sub.w   [r6+],r5
  489.         sub.b   200h,r2l
  490.         sub.w   123h,r6
  491.         sub.b   r2l,200h
  492.         sub.w   r6,123h
  493.         sub.b   r5h,#34h
  494.         sub.w   r3,#1234h
  495.         sub.b   [r5],#34h
  496.         sub.w   [r3],#1234h
  497.         sub.b   [r5+],#34h
  498.         sub.w   [r3+],#1234h
  499.         sub.b   [r5+2],#34h
  500.         sub.w   [r3+100],#1234h
  501.         sub.b   [r5+200],#34h
  502.         sub.w   [r3+1000],#1234h
  503.         sub.b   200h,#34h
  504.         sub.w   123h,#1234h
  505.  
  506.         subb.b  r4h,r1l
  507.         subb.w  r5,r3
  508.         subb.b  r5l,[r6]
  509.         subb.w  r4,[sp]
  510.         subb.b  [r6],r5l
  511.         subb.w  [sp],r4
  512.         subb.b  r3h,[r6+2]
  513.         subb.w  r4,[r3+100]
  514.         subb.b  [r6+2],r3h
  515.         subb.w  [r3+100],r4
  516.         subb.b  r3h,[r6+200]
  517.         subb.w  r4,[r3+1000]
  518.         subb.b  [r6+200],r3h
  519.         subb.w  [r3+1000],r4
  520.         subb.b  r4h,[r1+]
  521.         subb.w  r5,[r6+]
  522.         subb.b  [r1+],r4h
  523.         subb.w  [r6+],r5
  524.         subb.b  200h,r2l
  525.         subb.w  123h,r6
  526.         subb.b  r2l,200h
  527.         subb.w  r6,123h
  528.         subb.b  r5h,#34h
  529.         subb.w  r3,#1234h
  530.         subb.b  [r5],#34h
  531.         subb.w  [r3],#1234h
  532.         subb.b  [r5+],#34h
  533.         subb.w  [r3+],#1234h
  534.         subb.b  [r5+2],#34h
  535.         subb.w  [r3+100],#1234h
  536.         subb.b  [r5+200],#34h
  537.         subb.w  [r3+1000],#1234h
  538.         subb.b  200h,#34h
  539.         subb.w  123h,#1234h
  540.  
  541.         trap    #5
  542.  
  543.         xch     r3h,r5l
  544.         xch     r5l,r3h
  545.         xch     r3,r5
  546.         xch     r5,r3
  547.         xch     r3h,[r5]
  548.         xch     [r5],r3h
  549.         xch     r3,[r5]
  550.         xch     [r5],r3
  551.         xch     r3h,123h
  552.         xch     123h,r3h
  553.         xch     r3,200h
  554.         xch     200h,r3
  555.  
  556.         xor.b   r4h,r1l
  557.         xor.w   r5,r3
  558.         xor.b   r5l,[r6]
  559.         xor.w   r4,[sp]
  560.         xor.b   [r6],r5l
  561.         xor.w   [sp],r4
  562.         xor.b   r3h,[r6+2]
  563.         xor.w   r4,[r3+100]
  564.         xor.b   [r6+2],r3h
  565.         xor.w   [r3+100],r4
  566.         xor.b   r3h,[r6+200]
  567.         xor.w   r4,[r3+1000]
  568.         xor.b   [r6+200],r3h
  569.         xor.w   [r3+1000],r4
  570.         xor.b   r4h,[r1+]
  571.         xor.w   r5,[r6+]
  572.         xor.b   [r1+],r4h
  573.         xor.w   [r6+],r5
  574.         xor.b   200h,r2l
  575.         xor.w   123h,r6
  576.         xor.b   r2l,200h
  577.         xor.w   r6,123h
  578.         xor.b   r5h,#34h
  579.         xor.w   r3,#1234h
  580.         xor.b   [r5],#34h
  581.         xor.w   [r3],#1234h
  582.         xor.b   [r5+],#34h
  583.         xor.w   [r3+],#1234h
  584.         xor.b   [r5+2],#34h
  585.         xor.w   [r3+100],#1234h
  586.         xor.b   [r5+200],#34h
  587.         xor.w   [r3+1000],#1234h
  588.         xor.b   200h,#34h
  589.         xor.w   123h,#1234h
  590.  
  591.         expect  140
  592.          mov.b   [r5+],[r5+]
  593.         endexpect
  594.         expect  140
  595.          xch     r4l,r4l
  596.         endexpect
  597.         expect  140
  598.          pop     r7
  599.         endexpect
  600.         expect  140
  601.          norm.b  r4l,r4l
  602.         endexpect
  603.         expect  140
  604.          norm.w  r4,r4h
  605.         endexpect
  606.         expect  140
  607.          norm.d  r4,r5l
  608.         endexpect
  609.         expect  140
  610.          mov     [r4+],r4l
  611.         endexpect
  612.         expect  140
  613.          mov     r4h,[r4+]
  614.         endexpect
  615.         expect  140
  616.          movc    r4h,[r4+]
  617.         endexpect
  618.         expect  140
  619.          add     [r4+],r4l
  620.         endexpect
  621.         expect  140
  622.          add     r4h,[r4+]
  623.         endexpect
  624.         expect  140
  625.          mov     r5,[r5+]
  626.         endexpect
  627.  
  628.         ; register aliases
  629.  
  630. regr0l  equ     r0l
  631. regr0h  equ     r0h
  632. regr1l  equ     r1l
  633. regr1h  equ     r1h
  634. regr2l  equ     r2l
  635. regr2h  equ     r2h
  636. regr3l  equ     r3l
  637. regr3h  equ     r3h
  638. regr4l  equ     r4l
  639. regr4h  equ     r4h
  640. regr5l  equ     r5l
  641. regr5h  equ     r5h
  642. regr6l  equ     r6l
  643. regr6h  equ     r6h
  644. regr7l  equ     r7l
  645. regr7h  equ     r7h
  646.  
  647. regr0   reg     r0
  648. regr1   reg     r1
  649. regr2   reg     r2
  650. regr3   reg     r3
  651. regr4   reg     r4
  652. regr5   reg     r5
  653. regr6   reg     r6
  654. regr7   reg     r7
  655.  
  656. regr0d  equ.d   r0
  657. regr2d  equ.d   r2
  658. regr4d  equ.d   r4
  659. regr6d  equ.d   r6
  660.  
  661. regsp   equ     sp
  662.  
  663.         add.b   r4h,r1l
  664.         add.b   regr4h,regr1l
  665.         add.w   r4,[r3+100]
  666.         add.w   regr4,[regr3+100]
  667.         asl.d   r2,r4l
  668.         asl.d   regr2d,regr4l
  669.         expect  1131
  670.         asl.d   regr2,regr4l
  671.         endexpect
  672.