最終更新:ID:knJEfduqSQ 2015年09月01日(火) 12:43:50履歴
メモリ空間 | 1 |
---|---|
ルーチン番号 | $38 |
システム・スタック、またはシステム・ワーク内に格納されているAccBに示す長さ分の文字列を、Xが示すストリング・ディスクリプタの文字列領域に転送します。
システム・ワークとして使用できる領域は、次の通りです。
(1)入力バッファ [$F016] 256バイト
(2)中間コード・バッファ [$F024] 256バイト
(3)数値・文字列・バッファ [$F014] 40バイト
システム・ワークとして使用できる領域は、次の通りです。
(1)入力バッファ [$F016] 256バイト
(2)中間コード・バッファ [$F024] 256バイト
(3)数値・文字列・バッファ [$F014] 40バイト
NULLコードは定義されている文字列変数A$に"ABCDEF"の文字列を定義します。
100 CLEAR ,&HC000 105 DEF MAP = 2 110 LOADM"MDI128" 120 MLST = &HC000 130 A$ = "" 140 VADR = VARPTR(A$) 150 MSB = INT(VADR / 256) 160 LSB = VADR - MSB * 256 170 POKE MLST+2,MSB 180 POKE MLST+3,LSB 190 EXEC MLST 200 PRINT A$
0 C000 ORG $C000 --A SAMPLE OF "MDI128" ROUTINE-- 1 C000 MDI128 EQU * 2 F024 KBUF EQU $F024 [BUFFER] 3 C000 20 09 BRA EXEC 4 C002 0000 STADDR FDB $0000 STRING DESCRIPTORDDR ADDR 5 C004 41 MSG FCC /ABCDEF/ 6 C005 42 7 C006 43 8 C007 44 9 C008 45 10 C009 46 11 C00A 00 FCB $00 12 C00B EXEC EQU * --- BUFFER <-- CHAR. DATA --- 13 C00B BE F024 LDX KBUF X:TOP ADDR OF BUFFER 14 C00E 1F 13 TFR X,U U:TOP ADDR OF BUFFER 15 C010 31 FC81 LEAY MSG,PCR Y:TOP ADDR OF CHAR. DATA 16 C013 5F CLRB B:COUNTER OF CHAR. DATA LENGTH 17 C014 5C INCB B:B + 1 18 C015 A6 A0 LDA ,Y+ 19 C017 A7 80 STA ,X+ 20 C019 26 F9 BNE LOOP CHAR. DATA END ? 21 * --- MAP NO 4 <-- BUFFER --- 22 C01B AE 8CE4 LDX STADDR,PCR X:STRING DESCRIPTORDDR ADDR 23 C01E 103F SWI2 CALL "MDI128" ROUTINE 24 C020 41 FCB $41 25 C021 38 FCB $38 26 C022 39 RTS 27 END
コメントをかく