Subversion Repositories pentevo

Rev

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

  1.         cpu     78214
  2.  
  3. saddr   equ     0fe34h
  4. saddr2  equ     saddr+2
  5. sfr     equ     0ff34h
  6.  
  7. b_saddr bit     saddr.2
  8. b_sfr   bit     sfr.3
  9. b_a     bit     a.4
  10. b_x     bit     x.5
  11. b_psw   bit     psw.6
  12.  
  13.         nop
  14.         di
  15.         ei
  16.         brk
  17.         ret
  18.         reti
  19.         retb
  20.  
  21.         mov     a,#12h
  22.  
  23.         mov     saddr,#12h
  24.  
  25.         mov     sfr,#12h
  26.  
  27.         mov     a,l
  28.         mov     b,c
  29.         mov     d,e
  30.         mov     h,l
  31.  
  32.         mov     a,a
  33.         mov     a,x
  34.         mov     a,b
  35.         mov     a,c
  36.         mov     a,d
  37.         mov     a,e
  38.         mov     a,h
  39.         mov     a,l
  40.  
  41.         mov     a,saddr
  42.  
  43.         mov     saddr,a
  44.  
  45.         mov     a,sfr
  46.  
  47.         mov     sfr,a
  48.  
  49.         mov     saddr2,saddr
  50.  
  51.         mov     a,[de]
  52.         mov     a,[hl]
  53.         mov     a,[de+]
  54.         mov     a,[de-]
  55.         mov     a,[hl+]
  56.         mov     a,[hl-]
  57.  
  58.         mov     a,[de+2]
  59.         mov     a,[sp+5]
  60.         mov     a,[hl+7]
  61.         mov     a,17[de]
  62.         mov     a,1234h[a]
  63.         mov     a,10000[hl]
  64.         mov     a,1[b]
  65.  
  66.         mov     a,&[de]
  67.         mov     a,&[hl]
  68.         mov     a,&[de+]
  69.         mov     a,&[de-]
  70.         mov     a,&[hl+]
  71.         mov     a,&[hl-]
  72.  
  73.         mov     a,&[de+2]
  74.         mov     a,&[sp+5]
  75.         mov     a,&[hl+7]
  76.         mov     a,&17[de]
  77.         mov     a,&1234h[a]
  78.         mov     a,&10000[hl]
  79.         mov     a,&1[b]
  80.  
  81.         mov     [de],a
  82.         mov     [hl],a
  83.         mov     [de+],a
  84.         mov     [de-],a
  85.         mov     [hl+],a
  86.         mov     [hl-],a
  87.  
  88.         mov     [de+2],a
  89.         mov     [sp+5],a
  90.         mov     [hl+7],a
  91.         mov     17[de],a
  92.         mov     1234h[a],a
  93.         mov     10000[hl],a
  94.         mov     1[b],a
  95.  
  96.         mov     &[de],a
  97.         mov     &[hl],a
  98.         mov     &[de+],a
  99.         mov     &[de-],a
  100.         mov     &[hl+],a
  101.         mov     &[hl-],a
  102.  
  103.         mov     &[de+2],a
  104.         mov     &[sp+5],a
  105.         mov     &[hl+7],a
  106.         mov     &17[de],a
  107.         mov     &1234h[a],a
  108.         mov     &10000[hl],a
  109.         mov     &1[b],a
  110.  
  111.         mov     a,1234h
  112.         mov     a,!saddr
  113.  
  114.         mov     a,&1234h
  115.         mov     a,&!saddr
  116.  
  117.         mov     1234h,a
  118.         mov     !saddr,a
  119.  
  120.         mov     &1234h,a
  121.         mov     &!saddr,a
  122.  
  123.         mov     psw,#12h
  124.  
  125.         mov     psw,a
  126.  
  127.         mov     a,psw
  128.  
  129. ;
  130.  
  131.         xch     a,a
  132.         xch     a,x
  133.         xch     a,b
  134.         xch     a,c
  135.         xch     a,d
  136.         xch     a,e
  137.         xch     a,h
  138.         xch     a,l
  139.  
  140.         xch     d,e
  141.  
  142.         xch     a,saddr
  143.         xch     saddr,a
  144.  
  145.         xch     a,sfr
  146.         xch     sfr,a
  147.  
  148.         xch     saddr,saddr2
  149.  
  150.         xch     a,[de]
  151.         xch     [de],a
  152.         xch     a,[hl]
  153.         xch     [hl],a
  154.         xch     a,[de+]
  155.         xch     [de+],a
  156.         xch     a,[de-]
  157.         xch     [de-],a
  158.         xch     a,[hl+]
  159.         xch     [hl+],a
  160.         xch     a,[hl-]
  161.         xch     [hl-],a
  162.  
  163.         xch     a,[de+2]
  164.         xch     [de+2],a
  165.         xch     a,[sp+5]
  166.         xch     [sp+5],a
  167.         xch     a,[hl+7]
  168.         xch     [hl+7],a
  169.         xch     a,17[de]
  170.         xch     17[de],a
  171.         xch     a,1234h[a]
  172.         xch     1234h[a],a
  173.         xch     a,10000[hl]
  174.         xch     10000[hl],a
  175.         xch     a,1[b]
  176.         xch     1[b],a
  177.  
  178.         xch     a,&[de]
  179.         xch     &[de],a
  180.         xch     a,&[hl]
  181.         xch     &[hl],a
  182.         xch     a,&[de+]
  183.         xch     &[de+],a
  184.         xch     a,&[de-]
  185.         xch     &[de-],a
  186.         xch     a,&[hl+]
  187.         xch     &[hl+],a
  188.         xch     a,&[hl-]
  189.         xch     &[hl-],a
  190.  
  191.         xch     a,&[de+2]
  192.         xch     &[de+2],a
  193.         xch     a,&[sp+5]
  194.         xch     &[sp+5],a
  195.         xch     a,&[hl+7]
  196.         xch     &[hl+7],a
  197.         xch     a,&17[de]
  198.         xch     &17[de],a
  199.         xch     a,&1234h[a]
  200.         xch     &1234h[a],a
  201.         xch     a,&10000[hl]
  202.         xch     &10000[hl],a
  203.         xch     a,&1[b]
  204.         xch     &1[b],a
  205.  
  206. ;
  207.  
  208.         movw    ax,#1234h
  209.         movw    bc,#1234h
  210.         movw    de,#1234h
  211.         movw    hl,#1234h
  212.  
  213.         movw    saddr,#1234h
  214.  
  215.         movw    sfr,#1234h
  216.  
  217.         irp     reg1,ax,bc,de,hl
  218.         irp     reg2,ax,bc,de,hl
  219.         movw    reg1,reg2
  220.         endm
  221.         endm
  222.  
  223.         movw    ax,saddr
  224.  
  225.         movw    saddr,ax
  226.  
  227.         movw    ax,sfr
  228.  
  229.         movw    sfr,ax
  230.  
  231.         movw    ax,[de]
  232.         movw    ax,[hl]
  233.  
  234.         movw    [de],ax
  235.         movw    [hl],ax
  236.  
  237.         movw    ax,&[de]
  238.         movw    ax,&[hl]
  239.  
  240.         movw    &[de],ax
  241.         movw    &[hl],ax
  242.  
  243. ;
  244.  
  245.         irp     op,add,addc,sub,subc,and,or,xor,cmp
  246.  
  247.         op      a,#'a'
  248.  
  249.         op      saddr,#'0'
  250.  
  251.         op      sfr,#0aah
  252.  
  253.         irp     reg1,x,a,c,b,e,d,l,h
  254.         irp     reg2,x,a,c,b,e,d,l,h
  255.         op      reg1,reg2
  256.         endm
  257.         endm
  258.  
  259.         op      a,saddr
  260.  
  261.         op      a,sfr
  262.  
  263.         op      saddr,saddr2
  264.  
  265.         op      a,[de]
  266.         op      a,[hl]
  267.         op      a,[de+]
  268.         op      a,[de-]
  269.         op      a,[hl+]
  270.         op      a,[hl-]
  271.  
  272.         op      a,[de+2]
  273.         op      a,[sp+5]
  274.         op      a,[hl+7]
  275.         op      a,1234h[a]
  276.         op      a,10000[hl]
  277.         op      a,1[b]
  278.  
  279.         op      a,&[de]
  280.         op      a,&[hl]
  281.         op      a,&[de+]
  282.         op      a,&[de-]
  283.         op      a,&[hl+]
  284.         op      a,&[hl-]
  285.  
  286.         op      a,&[de+2]
  287.         op      a,&[sp+5]
  288.         op      a,&[hl+7]
  289.         op      a,&17[de]
  290.         op      a,&1234h[a]
  291.         op      a,&10000[hl]
  292.         op      a,&1[b]
  293.  
  294.         endm
  295.  
  296.         irp     op,addw,subw,cmpw
  297.  
  298.         op      ax,#1234h
  299.  
  300.         irp     reg,ax,bc,de,hl
  301.         op      ax,reg
  302.         endm
  303.  
  304.         op      ax,saddr
  305.  
  306.         op      ax,sfr
  307.  
  308.         endm
  309.  
  310.         irp     reg,x,a,c,b,e,d,l,h
  311.         mulu    reg
  312.         divuw   reg
  313.         endm
  314.  
  315.         irp     reg,x,a,c,b,e,d,l,h,saddr
  316.         inc     reg
  317.         dec     reg
  318.         endm
  319.  
  320.         irp     reg,ax,bc,de,hl
  321.         incw    reg
  322.         decw    reg
  323.         endm
  324.  
  325. __cnt   set     0
  326.         irp     reg,x,a,c,b,e,d,l,h
  327.         irp     op,ror,rol,rorc,rolc,shr,shl
  328.         op      reg,__cnt
  329.         endm
  330. __cnt   set     __cnt+1
  331.         endm
  332.  
  333. __cnt   set     0
  334.         irp     reg,ax,bc,de,hl
  335.         irp     op,shrw,shlw
  336.         op      reg,__cnt
  337.         endm
  338. __cnt   set     __cnt+1
  339.         endm
  340.  
  341.         irp     op,ror4,rol4
  342.         irp     reg,de,hl
  343.         op      [reg]
  344.         op      &[reg]
  345.         endm
  346.         endm
  347.  
  348.         adjba
  349.         adjbs
  350.  
  351.         mov1    cy,saddr.2
  352.         mov1    cy,b_saddr
  353.         mov1    cy,sfr.3
  354.         mov1    cy,b_sfr
  355.         mov1    cy,a.4
  356.         mov1    cy,b_a
  357.         mov1    cy,x.5
  358.         mov1    cy,b_x
  359.         mov1    cy,psw.6
  360.         mov1    cy,b_psw
  361.         mov1    saddr.2,cy
  362.         mov1    b_saddr,cy
  363.         mov1    sfr.3,cy
  364.         mov1    b_sfr,cy
  365.         mov1    a.4,cy
  366.         mov1    b_a,cy
  367.         mov1    x.5,cy
  368.         mov1    b_x,cy
  369.         mov1    psw.6,cy
  370.         mov1    b_psw,cy
  371.  
  372.         and1    cy,saddr.2
  373.         and1    cy,/saddr.2
  374.         and1    cy,b_saddr
  375.         and1    cy,/b_saddr
  376.         and1    cy,sfr.3
  377.         and1    cy,/sfr.3
  378.         and1    cy,b_sfr
  379.         and1    cy,/b_sfr
  380.         and1    cy,a.4
  381.         and1    cy,/a.4
  382.         and1    cy,b_a
  383.         and1    cy,/b_a
  384.         and1    cy,x.5
  385.         and1    cy,/x.5
  386.         and1    cy,b_x
  387.         and1    cy,/b_x
  388.         and1    cy,psw.6
  389.         and1    cy,/psw.6
  390.         and1    cy,b_psw
  391.         and1    cy,/b_psw
  392.  
  393.         or1     cy,saddr.2
  394.         or1     cy,/saddr.2
  395.         or1     cy,b_saddr
  396.         or1     cy,/b_saddr
  397.         or1     cy,sfr.3
  398.         or1     cy,/sfr.3
  399.         or1     cy,b_sfr
  400.         or1     cy,/b_sfr
  401.         or1     cy,a.4
  402.         or1     cy,/a.4
  403.         or1     cy,b_a
  404.         or1     cy,/b_a
  405.         or1     cy,x.5
  406.         or1     cy,/x.5
  407.         or1     cy,b_x
  408.         or1     cy,/b_x
  409.         or1     cy,psw.6
  410.         or1     cy,/psw.6
  411.         or1     cy,b_psw
  412.         or1     cy,/b_psw
  413.  
  414.         xor1    cy,saddr.2
  415.         xor1    cy,b_saddr
  416.         xor1    cy,sfr.3
  417.         xor1    cy,b_sfr
  418.         xor1    cy,a.4
  419.         xor1    cy,b_a
  420.         xor1    cy,x.5
  421.         xor1    cy,b_x
  422.         xor1    cy,psw.6
  423.         xor1    cy,b_psw
  424.  
  425.         irp     op,set1,clr1,not1
  426.         op      saddr.2
  427.         op      b_saddr
  428.         op      sfr.3
  429.         op      b_sfr
  430.         op      a.4
  431.         op      b_a
  432.         op      x.5
  433.         op      b_x
  434.         op      psw.6
  435.         op      b_psw
  436.         op      cy
  437.         endm
  438.  
  439.         irp     op,bt,bf,btclr
  440.         op      saddr.2,$pc
  441.         op      b_saddr,$pc
  442.         op      sfr.3,$pc
  443.         op      b_sfr,$pc
  444.         op      a.4,$pc
  445.         op      b_a,$pc
  446.         op      x.5,$pc
  447.         op      b_x,$pc
  448.         op      psw.6,$pc
  449.         op      b_psw,$pc
  450.         endm
  451.  
  452.         call    1234h
  453.         call    !1234h
  454.         irp     reg,ax,bc,de,hl
  455.         call    reg
  456.         endm
  457.  
  458.         callf   800h
  459.         callf   !0abch
  460.  
  461.         callt   [40h]
  462.         callt   [60h]
  463.         callt   [7eh]
  464.  
  465. ;-----
  466.  
  467.         irp     op,push,pop
  468.         irp     reg,ax,bc,de,hl
  469.         op      reg
  470.         endm
  471.         op      psw
  472.         op      sfr
  473.         endm
  474.  
  475.         movw    sp,#1234h
  476.         movw    sp,ax
  477.         movw    ax,sp
  478.  
  479.         incw    sp
  480.         decw    sp
  481.  
  482.         br      1234h
  483.         br      !1234h
  484.         irp     reg,ax,bc,de,hl
  485.         br      reg
  486.         endm
  487.         br      pc
  488.         br      $pc
  489.  
  490.         irp     op,bc,bl,bnc,bnl,bz,be,bnz,bne
  491.         op      pc
  492.         op      $pc
  493.         endm
  494.  
  495. ;-----
  496.  
  497.         dbnz    b,pc
  498.         dbnz    c,pc
  499.         dbnz    saddr,pc
  500.  
  501.         mov     stbc,#55h
  502.  
  503.         sel     rb2
  504.         sel     rb1
  505.  
  506. ;-----
  507.  
  508. r8      equ     0fe30h
  509. rp4     equ     0fe32h
  510.  
  511.         mov     a,r0
  512.         mov     a,r8
  513.         movw    ax,rp2
  514.         movw    ax,rp4
  515.  
  516.