|
发表于 2019-10-14 21:00:00
|阅读模式
- .版本 2
- .支持库 spec
- .程序集 程序集1
- .子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码
- _临时子程序 () ' 在初始化代码执行完毕后调用测试代码
- 返回 (0) ' 可以根据您的需要返回任意数值
- .子程序 _临时子程序
- .局部变量 长整数型数组, 长整数型, , "0"
- 长整数型数组 = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }
- 长整数型数组_位与_常数 (长整数型数组, 到长整数 (“1234567890123456789”))
- 调试输出 (长整数型数组)
- 长整数型数组 = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }
- 长整数型数组_位或_常数 (长整数型数组, 到长整数 (“1234567890123456789”))
- 调试输出 (长整数型数组)
- 长整数型数组 = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }
- 长整数型数组_位异或_常数 (长整数型数组, 到长整数 (“1234567890123456789”))
- 调试输出 (长整数型数组)
- .子程序 长整数型数组_位与_常数, , 公开, 数组所有成员与一个整数位运算,结果送回数组
- .参数 位运算数组, 长整数型, 参考 数组, 位运算结果将通过数组变量传出
- .参数 位运算常数, 长整数型, , 数组所有成员与该值参与位运算
- 置入代码 ({ 80, 81, 82, 86, 87, 139, 69, 12, 139, 85, 16, 131, 248, 255, 117, 7, 131, 250, 255, 117, 2, 235, 39, 139, 117, 8, 11, 246, 117, 2, 235, 30, 139, 54, 11, 246, 117, 2, 235, 22, 139, 126, 4, 131, 198, 8, 51, 201, 235, 8, 33, 4, 206, 33, 84, 206, 4, 65, 59, 207, 114, 244, 95, 94, 90, 89, 88 })
- ' push eax
- ' push ecx
- ' push edx
- ' push esi
- ' push edi
- ' mov eax,[ebp+12]
- ' mov edx,[ebp+16]
- ' .if eax == -1 && edx == -1
- ' jmp ASM_END
- ' .endif
- ' mov esi,[ebp+8]
- ' .if esi == 0
- ' jmp ASM_END
- ' .endif
- ' mov esi,[esi]
- ' .if esi == 0
- ' jmp ASM_END
- ' .endif
- ' mov edi,[esi+4]
- ' add esi,8
- ' xor ecx,ecx
- ' .while ecx < edi
- ' and [esi+ecx*8],eax
- ' and [esi+ecx*8+4],edx
- ' inc ecx
- ' .endw
- ' ASM_END:
- ' pop edi
- ' pop esi
- ' pop edx
- ' pop ecx
- ' pop eax
- .子程序 长整数型数组_位或_常数, , 公开, 数组所有成员与一个整数位运算,结果送回数组
- .参数 位运算数组, 长整数型, 参考 数组, 位运算结果将通过数组变量传出
- .参数 位运算常数, 长整数型, , 数组所有成员与该值参与位运算
- 置入代码 ({ 80, 81, 82, 86, 87, 139, 69, 12, 139, 85, 16, 11, 192, 117, 6, 11, 210, 117, 2, 235, 39, 139, 117, 8, 11, 246, 117, 2, 235, 30, 139, 54, 11, 246, 117, 2, 235, 22, 139, 126, 4, 131, 198, 8, 51, 201, 235, 8, 9, 4, 206, 9, 84, 206, 4, 65, 59, 207, 114, 244, 95, 94, 90, 89, 88 })
- ' push eax
- ' push ecx
- ' push edx
- ' push esi
- ' push edi
- ' mov eax,[ebp+12]
- ' mov edx,[ebp+16]
- ' .if eax == 0 && edx == 0
- ' jmp ASM_END
- ' .endif
- ' mov esi,[ebp+8]
- ' .if esi == 0
- ' jmp ASM_END
- ' .endif
- ' mov esi,[esi]
- ' .if esi == 0
- ' jmp ASM_END
- ' .endif
- ' mov edi,[esi+4]
- ' add esi,8
- ' xor ecx,ecx
- ' .while ecx < edi
- ' or [esi+ecx*8],eax
- ' or [esi+ecx*8+4],edx
- ' inc ecx
- ' .endw
- ' ASM_END:
- ' pop edi
- ' pop esi
- ' pop edx
- ' pop ecx
- ' pop eax
- .子程序 长整数型数组_位异或_常数, , 公开, 数组所有成员与一个整数位运算,结果送回数组
- .参数 位运算数组, 长整数型, 参考 数组, 位运算结果将通过数组变量传出
- .参数 位运算常数, 长整数型, , 数组所有成员与该值参与位运算
- 置入代码 ({ 80, 81, 82, 86, 87, 139, 69, 12, 139, 85, 16, 11, 192, 117, 6, 11, 210, 117, 2, 235, 39, 139, 117, 8, 11, 246, 117, 2, 235, 30, 139, 54, 11, 246, 117, 2, 235, 22, 139, 126, 4, 131, 198, 8, 51, 201, 235, 8, 49, 4, 206, 49, 84, 206, 4, 65, 59, 207, 114, 244, 95, 94, 90, 89, 88 })
- ' push eax
- ' push ecx
- ' push edx
- ' push esi
- ' push edi
- ' mov eax,[ebp+12]
- ' mov edx,[ebp+16]
- ' .if eax == 0 && edx == 0
- ' jmp ASM_END
- ' .endif
- ' mov esi,[ebp+8]
- ' .if esi == 0
- ' jmp ASM_END
- ' .endif
- ' mov esi,[esi]
- ' .if esi == 0
- ' jmp ASM_END
- ' .endif
- ' mov edi,[esi+4]
- ' add esi,8
- ' xor ecx,ecx
- ' .while ecx < edi
- ' xor [esi+ecx*8],eax
- ' xor [esi+ecx*8+4],edx
- ' inc ecx
- ' .endw
- ' ASM_END:
- ' pop edi
- ' pop esi
- ' pop edx
- ' pop ecx
- ' pop eax
复制代码 |
|