【发布时间】:2016-04-04 19:14:31
【问题描述】:
-
对于我的第一个问题,假设我们在 .data 下有以下代码行:
"theSINTArray BYTE 256 dup(?)".我知道这段代码创建了一个数组,其中每个元素都必须是一个 BYTE,但是 256 和 dup(?) 有什么用?
-
我知道下面的代码将 SINTArray 的类型、长度和偏移量/地址推送到堆栈上,但我想知道是否可以从堆栈中检索它们并在子程序中使用它们。
main PROC push TYPE theSINTArray push LENGTHOF theSINTArray push OFFSET theSINTArray call testParameters exit main ENDP -
这是一个有点乏味的问题,所以我提前道歉,但我根本不明白为什么下面代码示例中的大部分行都是必要的。假设我在 .data 部分有“prompt BYTE”行请输入一个值:“,0”,下面代码的每一行的目的是什么?注意:WriteString 和 ReadString 是在 Irvine 的库中定义的子程序,我正在使用。
testOutput PROC push edx push ecx mov edx,offset prompt call WriteString pop ecx pop edx call ReadString ret testOutput ENDP
【问题讨论】:
标签: assembly x86 masm masm32 irvine32