Subversion Repositories pentevo

Rev

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

  1.         cpu     6800
  2.         page    0
  3.         include "bitfuncs.inc"
  4.  
  5. def16   macro   NEWINST,LOINST,HIINST
  6. NEWINST macro   ARG1,ARG2
  7.         if      "ARG2" != ""            ; indexed?
  8.          LOINST  (ARG1)+1,ARG2
  9.          HIINST  ARG1,ARG2
  10.         elseif                          ; not indexed?
  11. _SARG1   set     "ARG1"                 ; convert to string
  12.          if      substr(_SARG1,0,1)='#' ; immediate?
  13. _SARG1    set     substr(_SARG1,1,strlen(_SARG1)-1)     ; yes->strip off leading #...
  14.           LOINST  #lo(VAL(_SARG1))      ; ...and subtract lo/hi bytes
  15.           HIINST  #hi(VAL(_SARG1))
  16.          elseif                         ; no immediate, i.e absolute/direct
  17.           LOINST  (ARG1)+1              ; ...and subtract lo/hi bytes
  18.           HIINST  ARG1
  19.          endif
  20.         endif
  21.         endm
  22.         endm
  23.  
  24.         def16   addd,adda,adcb
  25.         def16   subd,suba,sbcb
  26.         def16   andd,anda,andb
  27.         def16   ord,ora,orb
  28.         def16   eord,eora,eorb
  29.  
  30.         addd    $0007                   ; direct
  31.         addd    $1234                   ; absolute
  32.         addd    #$55aa                  ; immediate
  33.         addd    $12,x                   ; indexed
  34.  
  35.         subd    $0007                   ; direct
  36.         subd    $1234                   ; absolute
  37.         subd    #$55aa                  ; immediate
  38.         subd    $12,x                   ; indexed
  39.  
  40.         andd    $0007                   ; direct
  41.         andd    $1234                   ; absolute
  42.         andd    #$55aa                  ; immediate
  43.         andd    $12,x                   ; indexed
  44.  
  45.         ord     $0007                   ; direct
  46.         ord     $1234                   ; absolute
  47.         ord     #$55aa                  ; immediate
  48.         ord     $12,x                   ; indexed
  49.  
  50.         eord    $0007                   ; direct
  51.         eord    $1234                   ; absolute
  52.         eord    #$55aa                  ; immediate
  53.         eord    $12,x                   ; indexed
  54.