下你所需,载你所想!
汇集开发技术源码资料

汇编十六到十优化算法源码 错误自动终止

:2.136KB :1 :2019-12-02 09:10:45

部分简介

.子程序 进制_十六到十, 长整数型, , 十六进制到十进制(已优化算法)
.参数 十六进制文本, 文本型, , 字母不区分大小写
.局部变量 局部_十六进制, 字节集, , , ebp-0x4
.局部变量 局部_循环变量, 整数型, , , ebp-0x8
.局部变量 局部_十六进制数, 整数型, , , ebp-0xc
.局部变量 局部_高32位, 整数型, , , ebp-0x10
.局部变量 局部_高次方数, 整数型, , , ebp-0x14
.局部变量 局部_低32位, 整数型, , , ebp-0x18
.局部变量 局部_低次方数, 整数型, , , ebp-0x1c
.局部变量 局部_结果, 长整数型, , , ebp-0x20 ebp-0x24
汇编十六到十优化算法源码 错误自动终止
局部_十六进制 = 取重复字节集 (16, { 48 }) + 到字节集 (十六进制文本)
局部_十六进制 = 取字节集右边 (局部_十六进制, 16)
.变量循环首 (取字节集长度 (局部_十六进制), 1, -1, 局部_循环变量)
    .判断开始 (局部_十六进制 [局部_循环变量] ≥ 97)  ' 十六进制 [计次] ≤ 102
        局部_十六进制数 = 局部_十六进制 [局部_循环变量] - 87  ' 小写
    .判断 (局部_十六进制 [局部_循环变量] ≥ 65)  ' 十六进制 [计次] ≤ 70
        局部_十六进制数 = 局部_十六进制 [局部_循环变量] - 55  ' 大写
    .默认
        局部_十六进制数 = 局部_十六进制 [局部_循环变量] - 48  ' 数字
    .判断结束
    .如果 (局部_循环变量 ≤ 8)
        局部_高32位 = 局部_高32位 + 局部_十六进制数 × 求次方 (16, 局部_高次方数)
        局部_高次方数 = 局部_高次方数 + 1
    .否则
        局部_低32位 = 局部_低32位 + 局部_十六进制数 × 求次方 (16, 局部_低次方数)
        局部_低次方数 = 局部_低次方数 + 1
    .如果结束

.变量循环尾 ()
置入代码 ({ 139, 69, 232, 137, 69, 220, 139, 69, 240, 137, 69, 224 })
' label 低次方数 at ebp-0x1c
' label 高32位 at ebp-0x10
' label 低32位 at ebp-0x18
' label 结果高32位 at ebp-0x20
' label 结果低32位 at ebp-0x24
' mov eax,[低32位]
' mov [结果低32位],eax
' mov eax,[高32位]
' mov [结果高32位],eax
返回 (局部_结果)

汇编十六到十优化算法源码 错误自动终止

热门推荐

相关文章