最终,我要做的是让requestInput重复25次,并将每次迭代接收的输入存储到SINTArray中的以下索引中,但我不确定如何将某些内容放入数组中。循环我将在稍后处理,但是如何使它使requestInput的第一次迭代将接收的输入放入索引0,第二次迭代将接收的输入放入索引1,依此类推?
.data
theSINTArray BYTE 25 dup(?)
prompt BYTE "Please enter a value: ",0
.CODE
main PROC
push TYPE theSINTArray
push LENGTHOF theSINTArray
push OFFSET theSINTArray
call requestInput
exit
main ENDP
requestInput PROC
push edx
mov edx,OFFSET prompt
mov edi,OFFSET theSINTArray
call WriteString
call ReadInt
pop edx
ret
requestInput ENDP
END main
我的第二次尝试基于@SepRoland的回答:
.data
theSINTArray BYTE 25 dup(?)
prompt BYTE "Please enter a value: ",0
.CODE
main PROC
push TYPE theSINTArray
push LENGTHOF theSINTArray
push OFFSET theSINTArray
call requestInput
exit
main ENDP
requestInput PROC
Next:
push edx
mov edx,OFFSET prompt
call WriteString
call ReadInt
mov edx, offset theSINTArray
mov [edx], al
inc edx
cmp edx, offset theSINTArray + 25
jb Next
pop edx
ret
requestInput ENDP
END main
答案 0 :(得分:1)
您将 theSINTArray 定义为字节数组,因此您需要{"type" : "foo"}
{"query" : {"match": {"name": "bar"}}, "terminate_after": 5}
{"type" : "bar"}
{"query" : {"match": {"name": "bar"}}, "terminate_after": 5}
{"type" : "baz"}
{"query" : {"match": {"name": "bar"}}, "terminate_after": 5}
之类的指令来存储值,然后使用mov [edx], al
指向字节大小的数组中的下一个元素。
inc edx
响应您将值分配放在 requestInput 过程中的努力。
mov edx, offset theSINTArray
Next:
call requestInput
mov [edx], al
inc edx
cmp edx, offset theSINTArray + 25
jb Next
指令上方。这意味着push edx
必须在循环中完成。这是:
pop edx