home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / a / apxa1.c / assmtest.l < prev    next >
Text File  |  2020-01-01  |  7KB  |  143 lines

  1. as6502 - version 4.1b - 11/22/84 - JHV [gvw]
  2.    1                   ;******************************************
  3.    2                   ; Test file for the 6502 assembler - as6502
  4.    3                   ; assemble as
  5.    4                   ;     as6502 -nisv assmtest
  6.    5                   ; and compare output with assmtest.l
  7.    6                   ;******************************************
  8.    7                   ;                      ; comment treatment
  9.    8                   ;******************************************
  10.    9         0010      aa      =     $10      ; ';' immediately after the '0'
  11.   10         0020      B       =     $20      space to comment subfield
  12.   11         0030      C       =     $30      tab to comment subfield
  13.   12         FFEE      DEFGHIjkl =   $FFEE
  14.   13         FFEE      D       =DEFGHIjkl
  15.   14                   ;******************************************
  16.   15                   ; Number formats
  17.   16                   ;******************************************
  18.   17         0004      start   *=    $4        ; location counter adjust
  19.   18  0004   05                .byte %0101     ; binary number
  20.   19  0005   12 12             .byte 022,@22   ; octal numbers - two forms
  21.   20  0007   16                .byte 22        ; decimal number
  22.   21  0008   22 FF FF          .byte $22,$ff,$FF  ; hex - upper/lower case
  23.   22  000B   61 62             .byte 'a,'b     ; single ASCII characters
  24.   23                   ;******************************************
  25.   24                   ;                      ; ASCII character string
  26.   25                   ;******************************************
  27.   26  000D   61 62 63          .byte "abcd\t\n",0  ;   tab and new line escaped
  28.       0010   64 09 0A  
  29.       0013   00        
  30.   27                   ;******************************************
  31.   28                   ; Operation checks
  32.   29                   ;******************************************
  33.   30  0014   30 00             .word aa+B      ; addition
  34.   31  0016   F0 FF             .word aa-B      ; subtraction
  35.   32  0018   00 02             .word aa*B      ; multiplication
  36.   33  001A   02 00             .word B/aa      ; division
  37.   34  001C   10 00             .word C%B       ; modulo
  38.   35  001E   10 00             .word B^C       ; exclusive OR
  39.   36  0020   CF FF             .word ~C        ; one's complement
  40.   37  0022   20 00             .word B&C       ; logical AND
  41.   38  0024   30 00             .word aa|B      ; logical OR
  42.   39  0026   FF 00             .word <D        ; high byte
  43.   40  0028   EE 00             .word >D        ; low byte
  44.   41  002A   2A 00             .word *         ; current location
  45.   42  002C   10 00             .word aa,B,C
  46.       002E   20 00     
  47.       0030   30 00     
  48.   43  0032   00 08             .word B*[aa+C]  ; one level of parenthesis
  49.   44  0034   FF EE             .dbyt D         ; high byte-low byte word
  50.   45  0036   FF 00             .word D/256,D%256
  51.       0038   EE 00     
  52.   46                   ;******************************************
  53.   47                   ; Addressing Mode Check
  54.   48                   ;******************************************
  55.   49         0100              *=$0100
  56.   50  0100   A9 10             lda   =aa       ; immediate addressing
  57.   51  0102   A9 10             lda   #aa       ; immediate addressing, alternate
  58.   52  0104   AD EE FF          lda   D         ; direct addessing
  59.   53  0107   A5 10             LDA   aa        ; page zero addressing, aa < 256
  60.   54         0200      a1      =     512
  61.   55         01F4      a2      =     500
  62.   56  0109   A5 0C             lda   a1-a2     ; also page zero
  63.   57  010B   0A                asl   A         ; accumulator addressing
  64.   58  010C   0A                AsL   a         ; accumulator addressing also
  65.   59  010D   00                brk            ; implied addressing
  66.   60  010E   A1 10             lda   (aa,X)    ; indirect,X addressing
  67.   61  0110   B1 10             lda   (aa),Y    ; indirect,Y addressing
  68.   62  0112   B5 10             lda   aa,X      ; zero page,X addressing
  69.   63  0114   BD EE FF          lda   D,X       ; absolute,X addressing
  70.   64  0117   B9 EE FF          lda   D,Y       ; absolute,Y addressing
  71.   65  011A   90 EE             bcc   *-$10     ; relative addressing
  72.   66  011C   6C EE FF          jmp   (D)       ; indirect addressing
  73.   67  011F   B6 10             ldx   aa,Y      ; zero page,Y addressing
  74.   68  0121   B6 10             ldx   aa,y      ; alternate index name
  75.   70                   ;******************************************
  76.   71                   ; opcode check
  77.   72                   ;******************************************
  78.   73  0123   69 01             adc   =01
  79.   74  0125   29 01             and   =01
  80.   75  0127   0A                asl   A
  81.   76  0128   90 00             bcc   *+2
  82.   77  012A   B0 00             bcs   *+2
  83.   78  012C   F0 00             beq   *+2
  84.   79  012E   24 01             bit   $01
  85.   80  0130   30 00             bmi   *+2
  86.   81  0132   D0 00             bne   *+2
  87.   82  0134   10 00             bpl   *+2
  88.   83  0136   00                brk
  89.   84  0137   50 00             bvc   *+2
  90.   85  0139   70 00             bvs   *+2
  91.   86  013B   18                clc
  92.   87  013C   D8                cld
  93.   88  013D   58                cli
  94.   89  013E   B8                clv
  95.   90  013F   C9 01             cmp   =01
  96.   91  0141   E0 01             cpx   =01
  97.   92  0143   C0 01             cpy   =01
  98.   93  0145   C6 01             dec   $01
  99.   94  0147   CA                dex
  100.   95  0148   88                dey
  101.   96  0149   49 01             eor   =01
  102.   97  014B   E6 01             inc   $01
  103.   98  014D   E8                inx
  104.   99  014E   C8                iny
  105.  100  014F   4C 52 01          jmp   *+3
  106.  101  0152   20 55 01          jsr   *+3
  107.  102  0155   A9 01             lda   =01
  108.  103  0157   A2 01             ldx   =01
  109.  104  0159   A0 01             ldy   =01
  110.  105  015B   4A                lsr   A
  111.  106  015C   EA                nop
  112.  107  015D   09 01             ora   =01
  113.  108  015F   48                pha
  114.  109  0160   08                php
  115.  110  0161   68                pla
  116.  111  0162   28                plp
  117.  112  0163   2A                rol   A
  118.  113  0164   6A                ror   A
  119.  114  0165   40                rti
  120.  115  0166   60                rts
  121.  116  0167   E9 01             sbc   =01
  122.  117  0169   38                sec
  123.  118  016A   F8                sed
  124.  119  016B   78                sei
  125.  120  016C   85 01             sta   $01
  126.  121  016E   86 01             stx   $01
  127.  122  0170   84 01             sty   $01
  128.  123  0172   AA                tax
  129.  124  0173   A8                tay
  130.  125  0174   BA                tsx
  131.  126  0175   8A                txa
  132.  127  0176   9A                txs
  133.  128  0177   98                tya
  134.  
  135. aa                      10:00    0010
  136. B                       20:00    0020
  137. C                       30:00    0030
  138. DEFGHIjkl               EE:FF    FFEE
  139. D                       EE:FF    FFEE
  140. start                   04:00    0004
  141. a1                      00:02    0200
  142. a2                      F4:01    01F4
  143.