|
- .版本 2
- .支持库 spec
- .程序集 程序集1
- .子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码
- _临时子程序 () ' 在初始化代码执行完毕后调用测试代码
- 返回 (0) ' 可以根据您的需要返回任意数值
- .子程序 _临时子程序
- .局部变量 A, 字节集
- .局部变量 B, 字节集
- .局部变量 指针A, 整数型
- .局部变量 指针B, 整数型
- ' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的名称、参数及返回值类型。
- A = { 1, 2, 3, 4, 5 }
- B = { 100, 200, 123, 234, 101 }
- 指针A = 取变量数据地址 (A)
- 指针B = 取变量数据地址 (B)
- 调试输出 (A, B)
- 检查 (交换指针数据 (指针A, 指针B, 5))
- 调试输出 (A, B)
- .子程序 交换指针数据, 逻辑型, 公开, 指针A与指针B的内存数据互相交换转移,成功返回真失败返回假
- .参数 指针A, 整数型, , 指针必须真实有效
- .参数 指针B, 整数型, , 不得与指针A相同
- .参数 交换长度, 整数型, , 必须大于等于1
- 置入代码 ({ 83, 81, 82, 86, 87, 139, 69, 8, 139, 93, 12, 139, 117, 16, 139, 254, 129, 231, 0, 0, 0, 128, 59, 195, 116, 8, 11, 255, 117, 4, 11, 246, 117, 4, 51, 192, 235, 26, 51, 201, 235, 13, 138, 20, 1, 138, 52, 25, 136, 20, 25, 136, 52, 1, 65, 59, 206, 114, 239, 184, 1, 0, 0, 0, 95, 94, 90, 89, 91, 201, 194, 12, 0 })
- ' push ebx
- ' push ecx
- ' push edx
- ' push esi
- ' push edi
- ' mov eax,[ebp+8]
- ' mov ebx,[ebp+12]
- ' mov esi,[ebp+16]
- ' mov edi,esi
- ' and edi,80000000H
- ' .if eax == ebx || edi != 0 || esi == 0
- ' xor eax,eax
- ' jmp ASM_END
- ' .endif
- ' xor ecx,ecx
- ' .while ecx < esi
- ' mov dl,[eax+ecx]
- ' mov dh,[ebx+ecx]
- ' mov [ebx+ecx],dl
- ' mov [eax+ecx],dh
- ' inc ecx
- ' .endw
- ' mov eax,1
- ' ASM_END:
- ' pop edi
- ' pop esi
- ' pop edx
- ' pop ecx
- ' pop ebx
- ' leave
- ' retn 12
- 返回 (假)
复制代码 |
|