通过堆栈传递参数

时间:2018-05-25 16:47:22

标签: assembly stack x86-16 emu8086

我正在用emu8086编写程序

; intel is LITTLE ENDIAN
push WORD PTR [reference+2]    ; high
push WORD PTR [reference]  ; low 

push offset address
push offset mask  

sub sp, 2    ; space for return value
call filter
pop ax       ; return value

add sp, 8    ; clean parameters

在我的" main"代码我有

StringVar()

似乎我对堆栈中参数的位置的假设是错误的,我如何访问我的参数?

修改

pastebin上的完整代码。

我有一个数组"地址",一个掩码和一个引用。我需要根据掩码(1或0)检查地址的每个元素是否与引用匹配。 如果我找到一个特定的位,我需要检查(掩码中的1)并不匹配,我的元素无效。

我必须返回有效的地址数。

示例

参考:10000010.11000000.10110110.10000101

面具:11111111.11111100.00000000.00000000

address1 :10000010.11000000.00101000.11010001(有效)

address2 :10000001.11000000.00100111.01101010(无效)

0 个答案:

没有答案