home *** CD-ROM | disk | FTP | other *** search
/ kermit.columbia.edu / kermit.columbia.edu.tar / kermit.columbia.edu / appleii / apxa1.c / assmtest next >
Text File  |  2018-01-01  |  3KB  |  129 lines

  1. ;******************************************
  2. ; Test file for the 6502 assembler - as6502
  3. ; assemble as
  4. ;     as6502 -nisv assmtest
  5. ; and compare output with assmtest.l
  6. ;******************************************
  7. ;; comment treatment
  8. ;******************************************
  9. aa = $10; ';' immediately after the '0'
  10. B = $20 space to comment subfield
  11. C = $30    tab to comment subfield
  12. DEFGHIjkl = $FFEE
  13. D =DEFGHIjkl
  14. ;******************************************
  15. ; Number formats
  16. ;******************************************
  17. start *= $4 ; location counter adjust
  18.  .byte %0101 ; binary number
  19.  .byte 022,@22 ; octal numbers - two forms
  20.  .byte 22 ; decimal number
  21.  .byte $22,$ff,$FF ; hex - upper/lower case
  22.  .byte 'a,'b ; single ASCII characters
  23. ;******************************************
  24. ;; ASCII character string
  25. ;******************************************
  26.  .byte "abcd\t\n",0 ;   tab and new line escaped
  27. ;******************************************
  28. ; Operation checks
  29. ;******************************************
  30.  .word aa+B ; addition
  31.  .word aa-B ; subtraction
  32.  .word aa*B ; multiplication
  33.  .word B/aa ; division
  34.  .word C%B ; modulo
  35.  .word B^C ; exclusive OR
  36.  .word ~C ; one's complement
  37.  .word B&C ; logical AND
  38.  .word aa|B ; logical OR
  39.  .word <D ; high byte
  40.  .word >D ; low byte
  41.  .word * ; current location
  42.  .word aa,B,C
  43.  .word B*[aa+C] ; one level of parenthesis
  44.  .dbyt D ; high byte-low byte word
  45.  .word D/256,D%256
  46. ;******************************************
  47. ; Addressing Mode Check
  48. ;******************************************
  49.  *=$0100
  50.  lda =aa ; immediate addressing
  51.  lda #aa ; immediate addressing, alternate
  52.  lda D ; direct addessing
  53.  LDA aa ; page zero addressing, aa < 256
  54. a1 = 512
  55. a2 = 500
  56.  lda a1-a2 ; also page zero
  57.  asl A ; accumulator addressing
  58.  AsL a ; accumulator addressing also
  59.  brk ; implied addressing
  60.  lda (aa,X) ; indirect,X addressing
  61.  lda (aa),Y ; indirect,Y addressing
  62.  lda aa,X ; zero page,X addressing
  63.  lda D,X ; absolute,X addressing
  64.  lda D,Y ; absolute,Y addressing
  65.  bcc *-$10 ; relative addressing
  66.  jmp (D) ; indirect addressing
  67.  ldx aa,Y ; zero page,Y addressing
  68.  ldx aa,y ; alternate index name
  69.  .nlst
  70. ;******************************************
  71. ; opcode check
  72. ;******************************************
  73.  adc =01
  74.  and =01
  75.  asl A
  76.  bcc *+2
  77.  bcs *+2
  78.  beq *+2
  79.  bit $01
  80.  bmi *+2
  81.  bne *+2
  82.  bpl *+2
  83.  brk
  84.  bvc *+2
  85.  bvs *+2
  86.  clc
  87.  cld
  88.  cli
  89.  clv
  90.  cmp =01
  91.  cpx =01
  92.  cpy =01
  93.  dec $01
  94.  dex
  95.  dey
  96.  eor =01
  97.  inc $01
  98.  inx
  99.  iny
  100.  jmp *+3
  101.  jsr *+3
  102.  lda =01
  103.  ldx =01
  104.  ldy =01
  105.  lsr A
  106.  nop
  107.  ora =01
  108.  pha
  109.  php
  110.  pla
  111.  plp
  112.  rol A
  113.  ror A
  114.  rti
  115.  rts
  116.  sbc =01
  117.  sec
  118.  sed
  119.  sei
  120.  sta $01
  121.  stx $01
  122.  sty $01
  123.  tax
  124.  tay
  125.  tsx
  126.  txa
  127.  txs
  128.  tya
  129.