|
- .版本 2
- .程序集 程序集1
- .子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码
- _临时子程序 () ' 在初始化代码执行完毕后调用测试代码
- 返回 (0) ' 可以根据您的需要返回任意数值
- .子程序 _临时子程序
- .局部变量 进借位, 逻辑型
- ' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的名称、参数及返回值类型。
- 进借位 = 真
- 输出调试文本 (整数型_带进位相加 (1, 2, 进借位))
- 输出调试文本 (进借位)
- 进借位 = 真
- 输出调试文本 (整数型_带借位相减 (3, 4, 进借位))
- 输出调试文本 (进借位)
- .子程序 整数型_带进位相加, 整数型, 公开, 带进位加法运算
- .参数 被加数, 整数型
- .参数 加数, 整数型
- .参数 进位, 逻辑型, 参考, 必须是逻辑型变量,用于传递进位结果
- 置入代码 ({ 81, 82, 86, 139, 85, 8, 139, 117, 16, 139, 14, 11, 201, 116, 3, 249, 235, 1, 248, 19, 85, 12, 159, 128, 228, 1, 15, 182, 204, 137, 14, 139, 194, 94, 90, 89, 201, 194, 12, 0 })
- ' push ecx
- ' push edx
- ' push esi
- ' mov edx,[ebp+8] ;被加数
- ' mov esi,[ebp+16] ;进位标志地址
- ' mov ecx,[esi] ;是否有进位标志
- ' .if ecx
- ' stc
- ' .else
- ' clc
- ' .endif
- ' adc edx,[ebp+12]
- ' lahf
- ' and ah,1
- ' movzx ecx,ah
- ' mov [esi],ecx
- ' mov eax,edx
- ' pop esi
- ' pop edx
- ' pop ecx
- ' leave
- ' retn 12
- 返回 (0)
- .子程序 整数型_带借位相减, 整数型, 公开, 带借位减法运算
- .参数 被减数, 整数型
- .参数 减数, 整数型
- .参数 借位, 逻辑型, 参考, 必须是逻辑型变量,用于传递借位结果
- 置入代码 ({ 81, 82, 86, 139, 85, 8, 139, 117, 16, 139, 14, 11, 201, 116, 3, 249, 235, 1, 248, 27, 85, 12, 159, 128, 228, 1, 15, 182, 204, 137, 14, 139, 194, 94, 90, 89, 201, 194, 12, 0 })
- ' push ecx
- ' push edx
- ' push esi
- ' mov edx,[ebp+8]
- ' mov esi,[ebp+16]
- ' mov ecx,[esi]
- ' .if ecx
- ' stc
- ' .else
- ' clc
- ' .endif
- ' sbb edx,[ebp+12]
- ' lahf
- ' and ah,1
- ' movzx ecx,ah
- ' mov [esi],ecx
- ' mov eax,edx
- ' pop esi
- ' pop edx
- ' pop ecx
- ' leave
- ' retn 12
- 返回 (0)
复制代码 |
|