我是新來組裝,很抱歉,如果這個問題是相當obvious.I正試圖解決爲此我需要通過解析字符串的字符一個彙編程序字符,並對字符進行一些操作並將其存儲在另一個字符串中。所以我的問題是如何在nasm程序集中逐字符地解析字符串。按字節在NASM彙編解析字符串字節爲32位架構
回答
做這樣的事情:
mov si, <adress of the string in memory>
mov cx, <whatever value tells you how long the string is>
cld ; make sure lodsb walks forward, not back (that'd be std then)
again:
lodsb ; get next char to AL and increase SI
;
; <al contains each char of string here, one by one>
;
dec cx
jnz again ; same as "loop", but not so small
這個問題被標記爲NASM,所以編寫'mov cx,stringLen'使得OP陷入困境。也許正確或說明你爲MASM寫了它。 – Fifoernik
如果您打算使用'loop'這樣的緩慢指令,那麼您不妨使用代碼大小而不是速度,並使用'lodsb'而不是'mov' /'inc si'。 –
@Peter是「循環」它仍然很慢?我記得我讀過一些版本說明,他們在哪裏修正了這個問題......還是說他們不會修復它,因爲沒有人使用它? :P不知道:) 我希望這種情況下,+ - 一些CPU週期並不重要 – Tommylee2k
- 1. 將字節碼字符串包裝爲結構爲32位值
- 2. NASM彙編字節邊界對齊
- 3. 將字節字符串解析爲本地斯卡拉字節
- 4. 將字節串解析爲C結構
- 5. 從字符串解析字節碼?
- 6. 將字符串轉換爲int。使用Nasm的x86 32位彙編程序
- 7. 將字節轉換爲x86彙編語言的字符串
- 8. 獲取字節位作爲字符串
- 9. 解釋Java字節[]作爲字符串
- 10. Linux 32位反彙編調用指令到下一個字節
- 11. NASM循環字節
- 12. 編碼字符串字節在Python
- 13. 將十進制字符串解析爲字節
- 14. 將二進制字符串解析爲JavaScript中的字節
- 15. Python - 將字符串「0xDE 0xAD 0xBE 0xEF」解析爲字節數組
- 16. 將32字節的十六進制字符串轉換爲16字節的十六進制字符串
- 17. 將字節值存儲在字符串中?將字節轉換爲字符串?
- 18. 字節[]再次字符串到字節[]
- 19. C++ 32位字的字節交換
- 20. 字符串字節在Java
- 21. 解析字符串支架
- 22. Python:解析JSON字符串時處理破解的unicode字節
- 23. 按位運算符從32位獲取字節
- 24. 字符串轉換爲字節[]和轉換字節[]串
- 25. 字符串到字節[]和字節[]字符串
- 26. 字節到字符串或字符串到字節?
- 27. 將UTF-8字符串轉換爲字節長度32
- 28. 八位字節到字符串轉換
- 29. 如何從32位/ 24位從字節到16位轉換爲字節
- 30. PHP。按字節瀏覽字符串。
通過遍歷它。 – Michael
這些操作是否取決於您檢查是否是迴文? –