【发布时间】:2020-05-14 10:28:32
【问题描述】:
我试图在汇编中看起来像“2.3 + 5.89”的字符串上调用 sscanf。我想将值存储在名为“values”的数组中,并将字符串中的运算符存储在名为“op”的数组中。获得第一个值后,我遍历字符串以查找下一个空格并找到运算符的位置。我的问题是:如何使用 sscanf 获取数组“op”中的运算符?我会给字符串'exp'的offest +运算符的位置?或者有更简单的方法吗?
lea edi, dword ptr values
push dword ptr edi
push offset format
push offset exp
call sscanf
add esp, 12
mov esi,0
for_i:
inc i
mov bl,i
inc esi
cmp exp[esi],' '
jne for_i
inc i
lea esi, dword ptr op
push dword ptr esi
push offset format_op
push offset exp + i **--- here is my bug**
call sscanf
add esp, 12
【问题讨论】:
标签: arrays assembly indexing scanf masm