view TL1/Todo @ 168:2937e970aac6

generate os9 module done
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Thu, 11 Apr 2019 13:59:28 +0900
parents e57b2d131e6c
children 6ef317714ae8
line wrap: on
line source

Sun Jan 13 17:22:51 JST 2019

    TL/1 OS-9 command generation
    Self compiler

    0000: 87CD          module header
    0002: 0C09          module end
    0004: 000D          name
    0006: 1180          tylg,atrv
    0009: 0AAB          start
    000B: 0E00          memory size
       MAIN
                        leax       ,u
                        leay       ,u
                ... TL/1 OBJ
                LIB     ... support routines
                       24bit CRC
           end

Thu Jan 10 12:28:15 JST 2019

    add source code hex listing

    % ** SPRITE TEST PROGRAM **
    PROC WAIT,TIME
    %--- MAIN ---
    VAR MMI,MMJ,MMK                                  leax ,y
    BEGIN
      MMI:=1 MMJ:=2 MMK:=3
    3300: 86 01          LDA         #$01
    3302: A7 00          STA         +$00,X    --->  0,x
    3304: 86 02          LDA         #$02
    3306: A7 01          STA         +$01,X    --->  1,x
    3308: 86 03          LDA         #$03
    330A: A7 02          STA         +$02,X    --->  2,x
    330C: 86 03          LDA         #$03
      WAIT
    330E: BD 33 20       JSR         $3320
      WRITE(1:MMI,CRLF)
    3311: 86 01          LDA         #$01
    3313: 97 01          STA         <$01
    3315: A6 00          LDA         +$00,X    --->  2,x
    3317: BD B4 32       JSR         $B432
    331A: BD B4 C1       JSR         $B4C1
    END
    331D: 7E B5 15       JMP         $B515    jmp exit 
    %-- PROCEDURE WAIT --                     
    WAIT
    VAR WWJ,WWK
    3320: BD B3 C6       JSR         $B3C6           stx ,--s
    BEGIN                                            leax a,x
      WWJ:=4                                         
    3327: 86 02          LDA         #$02
    3329: BD 33 40       JSR         $3340
      TIME
    3323: 86 04          LDA         #$04
    3325: A7 00          STA         +$00,X
      WRITE(1:MMI,WWJ,CRLF)
    332C: 86 01          LDA         #$01
    332E: 97 01          STA         <$01
    3330: A6 20          LDA         +$00,Y
    3332: BD B4 32       JSR         $B432
    3335: A6 00          LDA         +$00,X
    3337: BD B4 32       JSR         $B432
    333A: BD B4 C1       JSR         $B4C1
    END
    333D: 7E B3 D1       JMP         $B3D1          puls x,pc
    %-- PROCEDURE TIME --
    TIME
    VAR TTK,TTJ
    3340: BD B3 C6       JSR         $B3C6         stx ,--s
    BEGIN                                          leax a,x
      TTK:=5
    3343: 86 05          LDA         #$05
    3345: A7 00          STA         +$00,X
      WRITE(1:MMI,TTK,CRLF)
    3347: 86 01          LDA         #$01
    3349: 97 01          STA         <$01
    334B: A6 20          LDA         +$00,Y
    334D: BD B4 32       JSR         $B432
    3350: A6 00          LDA         +$00,X
    3352: BD B4 32       JSR         $B432
    3355: BD B4 C1       JSR         $B4C1
    3358: 7E B3 D1       JMP         $B3D1          puls x,pc
    END


Tue Jan  8 15:58:00 JST 2019

    use no frame pointer mode use S instead of x
    module call. change y global pointer and stack in inter module call
    use local variable in for-statement
    os9 library calls
    pointer/word extension  ( pointer hoge )

    full syntax test