2015-02-11 52 views
0

如果我有一个字符串列表,我如何遍历每个字符串的每个字符?说一个清单data在程序集中循环遍历字符串

data  db "00000123", NULL, "00000213" 

我该如何去访问每个成员?我知道每个字符串的长度是9的常量长度,我知道正常类型是byte[data+rsi],其中rsi是我的计数器,但是当字符串在场时它会做什么?

; loop 
    ; get character from string 
    ; check if character is end 
    ; if yes then jump end 
    ; do stuff with char 
; end 
+0

为什么你认为字符串是“特殊的”? – 2015-02-11 04:23:43

+0

@ IgnacioVazquez-Abrams我很困惑如何访问它们。 'byte [data]'是** 0 **还是'byte [data + 7]'是** 3 **?列表中的所有字符都只是连续的吗? – 2015-02-11 04:25:46

+0

两个计数都正确。 – 2015-02-11 04:28:51

回答

1

在汇编语言文件连续地写入的数据将在存储器中连续,因此data将指向“0”(的0x30),data+7将指向的“3”(0x33),并且每个所述之间的位置将依次指向其相应的字符。