x86 asm中的 split函数(循环遍历字符串中的字符)



那么,我需要一个字符一个字符地分割字符串

在JavaScript中是这样的

let text = "abcde";
for (var i = 0; i < text.lenght; i++);
{
console.log(text.charAt(i));
}

但是如何在NASM中做到这一点?

我不是装配专家,但我已经试着解决这个问题一个星期了

我不会准确地称之为'拆分'字符串,而是迭代

在数据部分

定义字符串并使其以零结尾:

MyText db 'abcde', 0

代码部分

建立指向字符串开头的指针:

mov  esi, MyText

从内存中读取一个字节:

Again:
mov  al, [esi]

测试是否为终止零:

test al, al

如果它确实是字符串结束标记,则停止循环:

jz   Done

以您喜欢的任何方式输出字节:

...

指针自增:

inc  esi

重复读取一个字节:

jmp  Again
Done:

相关内容

  • 没有找到相关文章

最新更新