[Erlang] 纯文本查看 复制代码
.版本 2
.支持库 spec
.子程序 _临时子程序
.局部变量 数组, 整数型, , "0"
.局部变量 数量, 整数型
.局部变量 i, 整数型
' 重要:确保数组有足够的空间
数量 = 极简数组返回 (数组)
.计次循环首 (数量, i)
调试输出 (“元素 ” + 到文本 (i) + “:” + 到文本 (数组 ))
.计次循环尾 ()
.子程序 极简数组返回, 整数型, 公开, 返回数组元素个数
.参数 数组, 整数型, 参考 数组, 用于接收返回的数组
' --- 置入代码 ---
置入代码 ({ 139, 69, 8 })
' mov eax, [ebp+8h] ; 获取数组参数的地址
重定义数组 (数组, 真, 3)
置入代码 ({ 199, 64, 8, 1, 0, 0, 0, 199, 64, 12, 2, 0, 0, 0, 199, 64, 16, 3, 0, 0, 0, 184, 3, 0, 0, 0, 201, 194, 4, 0 })
' mov dword [eax+8], 1 ; 第一个元素赋值为 1
' mov dword [eax+12], 2 ; 第二个元素赋值为 2
' mov dword [eax+16], 3 ; 第三个元素赋值为 3
' mov eax, 3 ; 返回的数组元素个数
' leave
' retn 4 ; 平衡堆栈 (1 个参数 * 4 = 4),返回
' --- 结束置入代码 ---
返回 (0) ' 避免编译错误