免扫码快速登录设为首页收藏本站帮助中心
查看: 128|回复: 1
收起左侧

MASM置入代码文本型整数到整数型 不支持负数/跳过开头0/10位数以上不转换(返回整数型)

[复制链接]
发表于 2019-8-24 18:02:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?加入我们

x

  1. .版本 2
  2. .支持库 spec

  3. .程序集 程序集1

  4. .子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码


  5. _临时子程序 ()  ' 在初始化代码执行完毕后调用测试代码
  6. 返回 (0)  ' 可以根据您的需要返回任意数值

  7. .子程序 _临时子程序

  8. ' 本名称子程序用作测试程序用,仅在开发及调试环境中有效,编译发布程序前将被系统自动清空,请将所有用作测试的临时代码放在本子程序中。 ***注意不要修改本子程序的名称、参数及返回值类型。
  9. 调试输出 (文本整数到整数 (“00000000001234567890”))
  10. 调试输出 (文本整数到整数 (“111222333”))
  11. 调试输出 (到整数 (“12345678901”), 文本整数到整数 (“12345678901”))
  12. 调试输出 (到整数 (“123D456”), 文本整数到整数 (“123D456”))
  13. 调试输出 (到整数 (“4294967295”), 文本整数到整数 (“4294967295”))
  14. 调试输出 (到整数 (“0”), 文本整数到整数 (“0”))
  15. 调试输出 (到整数 (“000100”), 文本整数到整数 (“000100”))


  16. .子程序 文本整数到整数, 整数型, 公开, 不支持负数,自动跳过开头的0,10位数以上的不转换
  17. .参数 文本, 文本型

  18. 置入代码 ({ 82, 139, 69, 8, 139, 0, 232, 7, 0, 0, 0, 139, 194, 90, 201, 194, 4, 0, 83, 81, 86, 51, 210, 51, 219, 51, 201, 190, 10, 0, 0, 0, 235, 48, 138, 28, 1, 128, 251, 48, 114, 5, 128, 251, 57, 118, 4, 235, 37, 235, 30, 128, 251, 48, 117, 7, 10, 255, 117, 3, 70, 235, 18, 183, 1, 128, 235, 48, 107, 210, 10, 83, 129, 227, 255, 0, 0, 0, 3, 211, 91, 65, 59, 206, 114, 204, 94, 89, 91, 195 })
  19. ' push edx
  20. ' mov eax,[ebp+8]
  21. ' mov eax,[eax]
  22. ' call TEXT2INT
  23. ' mov eax,edx
  24. ' pop edx
  25. ' leave
  26. ' retn 4
  27. ' ;文本整数转整数型(不支持负数,遇到其他字符终止转换)
  28. ' ;EAX:文本指针 EDX:整数输出
  29. ' TEXT2INT:
  30. ' push ebx
  31. ' push ecx
  32. ' push esi
  33. ' xor edx,edx
  34. ' xor ebx,ebx
  35. ' xor ecx,ecx
  36. ' mov esi,10
  37. ' .while ecx < esi
  38. ' mov bl,[eax+ecx]
  39. ' .if bl < 48 || bl > 57
  40. ' .break
  41. ' .elseif bl == 48 && !bh
  42. ' inc esi
  43. ' .else
  44. ' mov bh,1
  45. ' sub bl,48
  46. ' imul edx,10
  47. ' push ebx
  48. ' and ebx,255
  49. ' add edx,ebx
  50. ' pop ebx
  51. ' .endif
  52. ' inc ecx
  53. ' .endw
  54. ' pop esi
  55. ' pop ecx
  56. ' pop ebx
  57. ' ret

  58. 返回 (0)
复制代码

相关帖子

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则