我是新来组装,很抱歉,如果这个问题是相当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
这些操作是否取决于您检查是否是回文? –