设为首页收藏本站淘宝杂货铺

从F到0 - From F to 0

 找回密码
 注册已关闭
搜索
查看: 533|回复: 0
收起左侧

易语言MASM置入代码实现带逻辑型进位标志的 整数型循环左移与右移1位运算(返回整数型)

[复制链接]
发表于 2022-11-14 08:29:14 | 显示全部楼层 |阅读模式
1.png
  1. .版本 2
  2. .支持库 spec

  3. .程序集 程序集1

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


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

  7. .子程序 _临时子程序
  8. .局部变量 A, 整数型
  9. .局部变量 进位, 逻辑型

  10. A = 1234567
  11. 进位 = 假
  12. A = 整数型_带进位循环右移1位 (A, 进位)
  13. 调试输出 (A, 进位)
  14. A = 整数型_带进位循环左移1位 (A, 进位)
  15. 调试输出 (A, 进位)

  16. .子程序 整数型_带进位循环左移1位, 整数型, 公开
  17. .参数 欲移动的整数, 整数型
  18. .参数 进位标志变量, 逻辑型, 参考, 移入最低位,移出最高位(必须是逻辑型变量)

  19. 置入代码 ({ 83, 81, 139, 69, 8, 131, 248, 0, 125, 4, 181, 1, 235, 2, 50, 237, 209, 224, 139, 93, 12, 138, 11, 10, 201, 116, 3, 131, 200, 1, 15, 182, 205, 137, 11, 89, 91, 201, 194, 8, 0 })
  20. ' push ebx
  21. ' push ecx
  22. ' mov eax,[ebp+8]
  23. ' .if sdword ptr eax < 0
  24. ' mov ch,1
  25. ' .else
  26. ' xor ch,ch
  27. ' .endif
  28. ' shl eax,1
  29. ' mov ebx,[ebp+12]
  30. ' mov cl,[ebx]
  31. ' .if cl
  32. ' or eax,1
  33. ' .endif
  34. ' movzx ecx,ch
  35. ' mov [ebx],ecx
  36. ' pop ecx
  37. ' pop ebx
  38. ' leave
  39. ' retn 8
  40. 返回 (0)

  41. .子程序 整数型_带进位循环右移1位, 整数型, 公开
  42. .参数 欲移动的整数, 整数型
  43. .参数 进位标志变量, 逻辑型, 参考, 移入最高位,移出最低位(必须是逻辑型变量)

  44. 置入代码 ({ 83, 81, 139, 69, 8, 139, 93, 12, 138, 200, 128, 225, 1, 138, 43, 209, 232, 10, 237, 116, 5, 13, 0, 0, 0, 128, 15, 182, 201, 137, 11, 89, 91, 201, 194, 8, 0 })
  45. ' push ebx
  46. ' push ecx
  47. ' mov eax,[ebp+8]
  48. ' mov ebx,[ebp+12]
  49. ' mov cl,al
  50. ' and cl,1
  51. ' mov ch,[ebx]
  52. ' shr eax,1
  53. ' .if ch
  54. ' or eax,80000000H
  55. ' .endif
  56. ' movzx ecx,cl
  57. ' mov [ebx],ecx
  58. ' pop ecx
  59. ' pop ebx
  60. ' leave
  61. ' retn 8
  62. 返回 (0)
复制代码

相关帖子

您需要登录后才可以回帖 登录 | 注册已关闭

本版积分规则

QQ|手机版|Archiver|从F到0 ( 蒙ICP备17002595号-1 )
蒙公网安备15010402000325号

腾讯云安全认证

GMT+8, 2024-4-25 04:14 , Processed in 1.378079 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表