#99 Article 295 Posted at 1992/05/25 13:54:36 by きつねりす (MAP542) [BASIC.ML1]

Subject: Re:*14 BASIC版ML1ローダー /290 ..... /269 /267

wyle 符号については理解できました。
オフセット値にデータを付加することになるわけですね、bit pointor を
考えると、wyle 符号の最初の bit を pointor に代入して次のアルゴリズ
ムで数値を取得することにしてみます。

1000 'Wyle subrutine
1010 'input start point 
1020 'output integar & end point+1
1030 P=STARTPOINT
1040 OFSET=0:BN=1
1050 BP=P:GOSUB *BIT :V=BV:'GOSUB 2000 :ビット内容を取得する
1060 IF V=0 THEN GOTO 1100 
1070 OFSET=OFSET*2+1
1070 P+P+1:BN=BN+1
1080 GOTO 1050
1100 P=P+1:WDAT=0:OFSET=OFEST*2
1110 BP=P:GOSUB *BIT:V=BV
1120 WDAT=WDAT*2+V
1130 BN=BN-1
1140 IF BN>0 THEN GOTO 1110
1150 WYLE=OFSET+WDAT
1160 RETURN

2000 *BIT :'BPの示す場所のビット内容を返す
2010     A=BP \ 8
2020     B=(BP-1) MOD 8 +1
2030     GET #1,A,C
2040     BV=-1 * NOT( (BIT_FILD(B) OR C) >0)
2050 RETURN

100 DIM BIT_FILD(8)
110 FOR I=1 TO 8
130    READ A
140    BIT_FILD(I) = A
150 NEXT I
160 DATA &H80, &H40, &H20, &H10, &H08, &H04, &H02, &H01

これでwyle 符号も突破できたかな??
						きつねりす