|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?加入我们
x
- .版本 2
- .支持库 spec
- .程序集 程序集1, , ,
- .子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码
- _临时子程序 () ' 在初始化代码执行完毕后调用测试代码
- 返回 (0) ' 可以根据您的需要返回任意数值
- .子程序 _临时子程序
- .局部变量 A, 长整数型, , "0"
- .局部变量 B, 日期时间型, , "0"
- .局部变量 C, 双精度小数型, , "0"
- A = { 1, 2, 3, 4, 5, 6, 7, 8 }
- 长整数型数组_交换高低32位 (A)
- 调试输出 (A, 到字节集 (A))
- 长整数型数组_交换高低32位 (A)
- 调试输出 (A, 到字节集 (A))
- B = { [2020年10月1日] }
- 日期时间型数组_交换高低32位 (B)
- 调试输出 (B)
- 日期时间型数组_交换高低32位 (B)
- 调试输出 (B)
- C = { #pi, #e }
- 双精度小数型数组_交换高低32位 (C)
- 调试输出 (C)
- 双精度小数型数组_交换高低32位 (C)
- 调试输出 (C)
- .子程序 长整数型数组_交换高低32位, , 公开, 64位数值高低32位颠倒处理
- .参数 数组, 长整数型, 数组
- 置入代码 ({ 80, 83, 81, 86, 87, 139, 69, 8, 11, 192, 117, 2, 235, 43, 139, 0, 11, 192, 117, 2, 235, 35, 139, 88, 4, 11, 219, 117, 2, 235, 26, 131, 192, 8, 51, 201, 235, 15, 139, 52, 200, 139, 124, 200, 4, 137, 60, 200, 137, 116, 200, 4, 65, 59, 203, 114, 237, 95, 94, 89, 91, 88 })
- ' push eax
- ' push ebx
- ' push ecx
- ' push esi
- ' push edi
- ' mov eax,[ebp+8]
- ' .if !eax
- ' jmp ASM_END
- ' .endif
- ' mov eax,[eax]
- ' .if !eax
- ' jmp ASM_END
- ' .endif
- ' mov ebx,[eax+4]
- ' .if !ebx
- ' jmp ASM_END
- ' .endif
- ' add eax,8
- ' xor ecx,ecx
- ' .while ecx < ebx
- ' mov esi,[ecx*8+eax]
- ' mov edi,[ecx*8+eax+4]
- ' mov [ecx*8+eax],edi
- ' mov [ecx*8+eax+4],esi
- ' inc ecx
- ' .endw
- ' ASM_END:
- ' pop edi
- ' pop esi
- ' pop ecx
- ' pop ebx
- ' pop eax
- .子程序 双精度小数型数组_交换高低32位, , 公开
- .参数 数组, 双精度小数型, 数组
- 置入代码 ({ 80, 83, 81, 86, 87, 139, 69, 8, 11, 192, 117, 2, 235, 43, 139, 0, 11, 192, 117, 2, 235, 35, 139, 88, 4, 11, 219, 117, 2, 235, 26, 131, 192, 8, 51, 201, 235, 15, 139, 52, 200, 139, 124, 200, 4, 137, 60, 200, 137, 116, 200, 4, 65, 59, 203, 114, 237, 95, 94, 89, 91, 88 })
- ' push eax
- ' push ebx
- ' push ecx
- ' push esi
- ' push edi
- ' mov eax,[ebp+8]
- ' .if !eax
- ' jmp ASM_END
- ' .endif
- ' mov eax,[eax]
- ' .if !eax
- ' jmp ASM_END
- ' .endif
- ' mov ebx,[eax+4]
- ' .if !ebx
- ' jmp ASM_END
- ' .endif
- ' add eax,8
- ' xor ecx,ecx
- ' .while ecx < ebx
- ' mov esi,[ecx*8+eax]
- ' mov edi,[ecx*8+eax+4]
- ' mov [ecx*8+eax],edi
- ' mov [ecx*8+eax+4],esi
- ' inc ecx
- ' .endw
- ' ASM_END:
- ' pop edi
- ' pop esi
- ' pop ecx
- ' pop ebx
- ' pop eax
- .子程序 日期时间型数组_交换高低32位, , 公开, 交换后若为[1899年12月30日],请勿直接使用否则会出现异常,再次交换则恢复正常。
- .参数 数组, 日期时间型, 数组
- 置入代码 ({ 80, 83, 81, 86, 87, 139, 69, 8, 11, 192, 117, 2, 235, 43, 139, 0, 11, 192, 117, 2, 235, 35, 139, 88, 4, 11, 219, 117, 2, 235, 26, 131, 192, 8, 51, 201, 235, 15, 139, 52, 200, 139, 124, 200, 4, 137, 60, 200, 137, 116, 200, 4, 65, 59, 203, 114, 237, 95, 94, 89, 91, 88 })
- ' push eax
- ' push ebx
- ' push ecx
- ' push esi
- ' push edi
- ' mov eax,[ebp+8]
- ' .if !eax
- ' jmp ASM_END
- ' .endif
- ' mov eax,[eax]
- ' .if !eax
- ' jmp ASM_END
- ' .endif
- ' mov ebx,[eax+4]
- ' .if !ebx
- ' jmp ASM_END
- ' .endif
- ' add eax,8
- ' xor ecx,ecx
- ' .while ecx < ebx
- ' mov esi,[ecx*8+eax]
- ' mov edi,[ecx*8+eax+4]
- ' mov [ecx*8+eax],edi
- ' mov [ecx*8+eax+4],esi
- ' inc ecx
- ' .endw
- ' ASM_END:
- ' pop edi
- ' pop esi
- ' pop ecx
- ' pop ebx
- ' pop eax
复制代码 |
|