# HG changeset patch # User Shinji KONO # Date 1546857130 -32400 # Node ID 6f7276831219338f27f8ec23814fc6f0826afcd9 # Parent 1078f3e31d9c458c26123208c0ff9e1a38168090 TL/1 use x and y register diff -r 1078f3e31d9c -r 6f7276831219 TL1/TL1os9.asm --- a/TL1/TL1os9.asm Mon Jan 07 12:22:19 2019 +0900 +++ b/TL1/TL1os9.asm Mon Jan 07 19:32:10 2019 +0900 @@ -31,7 +31,7 @@ XR RMB 2 YR RMB 2 ZR RMB 2 -PFTBEG RMB 2 +PFTBEG RMB 2 prog/func table PC RMB 2 SREG RMB 2 SP RMB 2 @@ -43,20 +43,20 @@ GL RMB 1 global 0xff / local 1 OPER RMB 1 GLL RMB 1 left value g 0xff / local l -RMCODE RMB 1 +AMODE RMB 1 ACC RMB 1 LSIZE RMB 1 -TCOUNT RMB 1 -TEND RMB 2 -WEND RMB 2 -AMODE RMB 1 0x20 main, 1 proc, 0 ? +TCOUNT RMB 1 1 search reserved word only, 5 search all local/global var/array, proc +TEND RMB 2 table end (search start from here ) include local name +WEND RMB 2 word end +PMODE RMB 1 0x20 main, 1 proc, 0 ? RSW RMB 1 0 word lookup, 0xff word register mode in tlook -GEND RMB 2 -SSW RMB 1 +GEND RMB 2 end of global name +SSW RMB 1 filepath rmb 2 parmptr rmb 2 -stdin rmb 1 +stdin rmb 2 adr rmb 2 work rmb 2 bufsiz equ $100-1 @@ -68,16 +68,16 @@ ioentry rmb $80 readbuff rmb bufsiz+1 -OBJSTART RMB 2 +OBJSTART RMB 2+12 * OBJECT PG AREA -WTBLE RMB $500+$100 -MSTACK RMB $140 +WTBLE RMB $100+500 +MSTACK RMB $140 -OBJECT RMB 2048 * NOP -RUB equ 8 +OBJECT RMB 2048 * NOP +RUB equ 8 size equ . @@ -101,7 +101,7 @@ DECB BNE C1 INCA - STA TCOUNT + STA TCOUNT = 1 LDA #' ' STA CH ** copy reserved word table @@ -138,7 +138,7 @@ CMPA #$4 BCC ERR4 DECA - STA AMODE + STA PMODE LDA VAL LBSR DEFPF LBSR PUTHSL @@ -153,10 +153,10 @@ LDA #$3B ) LBSR CHECK PL1 BSR PROG -* LDB AMODE -* CMPB #1 -* BNE *+5 - LBSR RETP + LDB PMODE + CMPB #1 + BNE *+5 + LBSR RETP generate return LDX GEND STX TEND LDB #5 @@ -259,7 +259,7 @@ ** SS3 CMPA #$51 BNE SS4 - LDB AMODE + LDB PMODE LBEQ ERR4 PSHS B BSR WORD1 @@ -580,8 +580,8 @@ STA ,X+ CLRA TST address]; #endif if (ppc==b->address || b->watch != watch ) { + if (b->watch != watch) + printf("%04x : %02x -> %02x ",b->address, b->watch ,watch); b->watch = watch; if (b->count==-1) { // temporaly break point BPTR next = b->next;