給定一個最多256個字符的字符串,您將使用IBM Mainframe Assembler指令來檢測並指出該字符串中第一次出現特定的單字節分隔符字符?如何在IBM Manframe Assembler中檢測分隔符?
回答
該指令是TRT,「翻譯和測試」。 例如,要找到字符串中的第一個空格(X'40'):
[...]
TRT STRING,HEXTBL
[...]
STRING DC C'WHERE IS THE FIRST SPACE?'
HEXTBL EQU *
DC X'00000000000000000000000000000000' VALUES X'00' - X'0F'
DC X'00000000000000000000000000000000' VALUES X'10' - X'1F'
DC X'00000000000000000000000000000000' VALUES X'20' - X'2F'
DC X'00000000000000000000000000000000' VALUES X'30' - X'3F'
DC X'FF000000000000000000000000000000' VALUES X'40' - X'4F'
DC X'00000000000000000000000000000000' VALUES X'50' - X'5F'
DC X'00000000000000000000000000000000' VALUES X'60' - X'6F'
DC X'00000000000000000000000000000000' VALUES X'70' - X'7F'
DC X'00000000000000000000000000000000' VALUES X'80' - X'8F'
DC X'00000000000000000000000000000000' VALUES X'90' - X'9F'
DC X'00000000000000000000000000000000' VALUES X'A0' - X'AF'
DC X'00000000000000000000000000000000' VALUES X'B0' - X'BF'
DC X'00000000000000000000000000000000' VALUES X'C0' - X'CF'
DC X'00000000000000000000000000000000' VALUES X'D0' - X'DF'
DC X'00000000000000000000000000000000' VALUES X'E0' - X'EF'
DC X'00000000000000000000000000000000' VALUES X'F0' - X'FF'
[...]
在這個例子中,「HEXTBL」是一個256字節的十六進制值表,除了X'FF'偏移+ X'40'處的所有二進制零。這對應於一個空格字符(X'40')的EBCDIC值,因此使得X'40'(空格)成爲待檢測的分隔符。在執行TRT指令後,R1將指向找到的第一個空格字符(如果有的話),並將相應的表值(此例中爲x'FF')加載到R2的低位字節中(即R2 = X' ?????? FF')。兩位條件代碼的值也爲01,表示在'STRING'的最後一個字節之前發現了一個分隔符*。 – dstaudacher
您可以使用左下角的[編輯]按鈕(https://stackoverflow.com/posts/42674817/edit)編輯答案。另一件事:我不是IBM大型機的專家,但不應該給予TRT長度的字段? 「C」不是一個不太模糊的表示空格字符的方式嗎?參見[http://faculty.cs.niu.edu/~byrnes/csci360/notes/360trt.htm](http://faculty.cs.niu.edu/~byrnes/csci360/notes/360trt。htm) –
IBM Assembler自動計算'STRING'的長度,如果未指定顯式長度,則假定計算的長度。這個長度可以通過一個明確的規範來覆蓋:(例如:「TRT STRING(5),HEXTBL」將不會找到空間分隔符,因爲它位於位置6)。該長度也可以在運行時指定,可以通過將其直接插入指令(不推薦)或通過以TRT爲目標的EXecute指令來指定。 – dstaudacher
- 1. 檢測字符串中的分隔符
- 2. 如何在bash中用多個分隔符分隔字符串
- 3. 如何在Autohotkey中分隔製表符分隔的字符串?
- 4. 從網絡中檢測區域設置(列表分隔符)
- 5. 如何按分隔符分隔值?
- 6. 如何在菜單組之間添加分隔符/分隔符?
- 7. 如何在PowerShell中添加分隔符
- 8. 如何在UIScrollerView中繪製分隔符?
- 9. 如何使用分隔符在php中分隔或分割字符串?
- 10. XPath分隔符/分隔符
- 11. 如何在iPhone中添加字符串區分分隔符「,」?
- 12. 如何在lua中用多個分隔符分割字符串?
- 13. 如何在Java中分割字符串並保留分隔符?
- 14. 如何在scala中用分隔符分割字符串?
- 15. 在Python中,如何拆分字符串並保留分隔符?
- 16. 如何基於分隔符
- 17. 如何使用分隔符
- 18. 如何檢查文本文件中的「分隔符」?
- 19. C++如何檢查此文本文件中的分隔符
- 20. 如何檢查XPCOM組件中的目錄分隔符
- 21. 如何更改分隔在逗號分隔的製表符
- 22. PHP - 檢測CSV分隔符的最佳方法
- 23. 如何用特定分隔符分隔字符串?
- 24. 如何不爆炸分隔符內的子分隔符?
- 25. 檢測tableView部分中的最後一行並刪除分隔符
- 26. InstallShield 2009:檢測系統CSV分隔符並更新INI值
- 27. 用「||」分隔字符串分隔符
- 28. 在數據框中以多字符分隔符分隔列
- 29. 如何與分隔符全串在bash
- 30. 如何刪除分隔符在蜂巢
您有嘗試過什麼嗎? –
回答自己的問題會加快整個過程。注意,分享或不分享,廣泛的問題仍然是無關緊要的。 –
我無法想象這個問題怎麼可能更精確。這些規範非常明確:「IBM大型機彙編程序指令」將「檢測並指向在256個字符的字符串內首次發生特定的單字節分隔符字符」。我認爲這裏的人理解這些條款。我是否應該包含「彙編指令」,「字符串」和「分隔符」的定義? – dstaudacher