跳轉到內容

360 彙編/360 指令/TRT

來自華夏公益教科書,開放的書籍,面向開放的世界

TRT - SS - 操作碼 DD - 掃描資料字串,查詢一個或多個特定字元。

TRT 指令掃描一個欄位,查詢特定的位元組。TRT 不會改變任何資料。D1 欄位包含要掃描的資料的地址。D2 欄位包含一個 256 位元組表的地址,該表中的每個位元組都包含 X'00' 或非零位元組,在 HEX 表中被搜尋的位元組的偏移處。TRT 設定條件程式碼,指示目標字元是否被找到。

可用性

TRT 指令在所有型號上都可用。

注意

TRT 改變暫存器 1 和 2。TRT 是唯一改變 reg-2 作為操作一部分的指令,因此,如果您使用 TRT,則不要使用 reg-2 作為您的基址。

指令的目的

TRT 指令搜尋特定的位元組。例如,如果您想找到 C'D' 或 C'K' 的下一個出現位置,您可以編碼

        TRT  DATA,SRCHTBL
        BZ   NOTFOUND

SRCHTBL DC XL256'00'

        ORG  SRCHTBL+C'D'
        DC   X'04'
        ORG  SRCHTBL+C'K'
        DC   X'08'
        ORG

條件程式碼等

  • 如果沒有找到字元,則條件程式碼設定為 0。

如果找到字元

  • 掃描終止
  • 暫存器 1 指示找到的資料字元的地址。
  • 掃描表中非零的位元組被放置到 reg-2 的低位元組中。reg-2 的其餘位元組保持不變。這是唯一一條在沒有指定 reg-2 的情況下改變暫存器 2 的指令。
  • 如果找到的字元是掃描欄位的最後一個字元,則條件程式碼設定為 2;否則,設定為 1。

轉換和測試是在微程式碼中實現的。一次檢查一個位元組,直到找到一個位元組,或者掃描的資料耗盡。

異常和故障

   Protection Exception - the source or the target is outside of the legal address range assigned to this task

示例,查詢列印行上的非空白字元。

        TRT   LINE,NONBLANK
        BZ    ALLBLANK

- REG-1 包含非空白字元的地址

NONBLANK DC 256C' '

        ORG   NONBLANK+C' '
        DC    X'00'
        ORG

示例,測試打包欄位。

        SR   2,2
        TRT  PACKDATA,TRTPACK        TEST THE PACKED FIELD WITH 'C', 'D', OR 'F' SIGN
        BC   2,GOODDATA              IF ANY SIGN '0A' - '0F' IS GOOD, USE THIS.
        B    BRTBL(2)                TO RESTRICT SIGNS TO '0C' '0D' AND '0F', USE THIS.

BRTBL B NOTFOUND

        B    GOODDATA 
        B    BADSIGN
        B    BADDATA

TRTPACK DC 256X'0C'

        ORG  TRTPACK
        DC   10X'00',XL6'080804040804',10X'00',XL6'080804040804'
        ORG  TRTPACK+X'20' 
        DC   10X'20',XL6'080804040804',10X'00',XL6'080804040804'
        ORG  TRTPACK+X'40' 
        DC   10X'40',XL6'080804040804',10X'00',XL6'080804040804'
        ORG  TRTPACK+X'60' 
        DC   10X'60',XL6'080804040804',10X'00',XL6'080804040804'
        ORG  TRTPACK+X'80' 
        DC   10X'80',XL6'080804040804',10X'00',XL6'080804040804'
        ORG 

相關指令

 TR is slightly related, although it's function is very different.
華夏公益教科書