字串輸入

所有自鍵盤(終端機)輸入之字串,均放在終端輸入緩衝區(TIB Terminal Input Buffer)。


WORD在終端輸入緩衝區中查找給定的分隔符(例如 空白 BL ),

並將第一個字串(START)的長度跟內容放到詞緩衝區上 ,且將其儲放位置值放進資料堆疊中。

當您直接從終端執行 BL WORD時,

WORD將從TIB開始掃描輸入緩衝區。

逐漸向前推移 >IN ,

以便每次執行WORD時,都會掃描輸入流中的下一個字,

當IN> @大等於#TIB @時,WORD知道停止掃描。

例如,在WORD掃描字符串“STAR”之後,>IN的內含值增加了5。

> IN是一個“相對指標”;

也就是說,它不包含實際的地址,

而是包含一個要添加到實際地址(在一般情況下是TIB)的偏移量。

範例:

: Word_TIB_>in
  cr
  begin
   bl word 
   cr 
   ." >in = " >in @ . 
   ." #TIB = " #TIB @ .      
   ." word =>" count type
   >in @ #TIB @ = 
  until
  ;

輸入 Word_TIB_>in 123 456 789 abcdefghijk lmnopqr stuvwxyz [Enter]

可以看到 >in & TIB & 所擷取的字串

Word_TIB_>in 123 456 789 abcdefghijk lmnopqr stuvwxyz [Enter] 
>in = 17 #TIB = 54 word =>123
>in = 21 #TIB = 54 word =>456
>in = 25 #TIB = 54 word =>789
>in = 37 #TIB = 54 word =>abcdefghijk
>in = 45 #TIB = 54 word =>lmnopqr
>in = 54 #TIB = 54 word =>stuvwxyz ok