公式:计算位图一行的字节数(一条扫描线长度)

这些公式都可以计算出来:

行字节数 = (宽度 * (位深/8) + 3) & ~3
位与 (宽度 × 位深 ÷ 83, 位取反 (3))
左移 (右移 (宽度 × 位深 + 31, 5), 2)

易代码

.版本 2

.子程序 对齐, 整数型
.参数 待对齐数, 整数型
.参数 对齐长度, 整数型, , 1 2 4 8 16 32 64 ...

对齐长度 = 逆向位扫描 (对齐长度)
.如果真 (对齐长度 > 0)
    对齐长度 = 左移 (1, 对齐长度)1
    返回 (位与 (待对齐数 + 对齐长度, 位取反 (对齐长度)))
.如果真结束
返回 (待对齐数)

.子程序 逆向位扫描, 整数型
.参数 待扫描数, 整数型

置入代码 ({ 15, 189, 69, 8, 201, 194, 4, 0 })
' 十六进制:0F BD 45 08 C9 C2 04 00
' bsr eax, dword ptr [ebp+08h]
' leave
' retn 4
返回 (0)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

V_admin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值