精易论坛

标题: 汇编位运算加法 [打印本页]

作者: 施加    时间: 2023-2-9 22:59
标题: 汇编位运算加法
最近在学习汇编,底层加法原理采用位运算实现,所以用易语言写了一个,请大神指教
  
子程序名返回值类型公开备 注
ADD整数型 
参数名类 型参考可空数组备 注
a整数型
b整数型
变量名类 型静态数组备 注
xor整数型 
and整数型 
置入代码 ({ 131, 125, 12, 0, 116, 34, 139, 69, 8, 51, 69, 12, 137, 69, 252, 139, 69, 8, 35, 69, 12, 137, 69, 248, 139, 69, 252, 137, 69, 8, 139, 69, 248, 209, 224, 137, 69, 12, 235, 216, 139, 69, 252, 201, 194, 8, 0 })
' label1:
' cmp dword [ebp+0x0C], 0x00000000
' je label2
' mov eax, dword [ebp+0x08]
' xor eax, dword [ebp+0x0C]
' mov dword [ebp-0x04], eax
' mov eax, dword [ebp+0x08]
' and eax, dword [ebp+0x0C]
' mov dword [ebp-0x08], eax
' mov eax, dword [ebp-0x04]
' mov dword [ebp+0x08], eax
' mov eax, dword [ebp-0x08]
' shl eax, 1
' mov dword [ebp+0x0C], eax
' jmp label1
' label2:
' mov eax, dword [ebp-0x04]
' leave
' retn 0x0008
返回 (xor)


作者: 福仔    时间: 2023-2-9 23:18
mov eax, [ebp+0x04]
add eax, [ebp+0x08]
这样不更快吗?没有多余的指令
作者: 施加    时间: 2023-2-9 23:26
福仔 发表于 2023-2-9 23:18
mov eax, [ebp+0x04]
add eax, [ebp+0x08]
这样不更快吗?没有多余的指令

感谢大叔指点,我还不知道编译以后变量未赋值会不存在呢
作者: xiaoj88    时间: 2023-2-10 08:38
66666666666666
作者: sinewtec    时间: 2023-2-10 10:12
66666666666666
作者: shj0205    时间: 2023-2-10 13:53
感谢分享!
作者: xiaoj88    时间: 2023-2-10 17:12
666666666666666
作者: luqing3719    时间: 2023-2-10 20:36
感谢分享!
作者: 一指温柔    时间: 2023-2-11 09:02
感谢分享!
作者: 396384183    时间: 2023-2-13 15:53
学习一下...
作者: yang2755    时间: 2023-2-15 13:09
潇洒下撒洗啊是
作者: nywl2008    时间: 2023-2-16 15:09
支持开源~!感谢分享支持开源~!感谢分享
作者: renjianhong48we    时间: 2023-2-22 09:29
支持一下,学习看看~~~
作者: 无极    时间: 2023-4-15 02:56
        感谢分享,很给力!~
作者: a3960382663    时间: 2023-5-1 01:08
支持开源~!感谢分享
作者: teachuser    时间: 2023-7-2 04:50
支持开源~!感谢分享




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4