assembly 在程序集中检测(16位)字中的空字节

gzszwxb4  于 2023-06-06  发布在  其他
关注(0)|答案(1)|浏览(185)

我必须检测一个字中的空字节,所以我必须检查16位中的8位是否为零,所以基本上要么是前面的8位,要么是后面的。问题是我不能使用很多周期。所以我需要一个位掩码,它可以在一次操作中检查正面和背面。所以首先检查bl,然后检查bh不起作用,因为它需要很长时间。其他空字节post从未真正寻址真正的16位字。(大会)
我已经尝试了0xff和0x00ff,但无法将它们组合成一个位掩码

wfsdck30

wfsdck301#

不需要掩码,但需要两个指令:

mul     ah      ;multiply al by ah
        test    ax,ax   ;set zero flag if ax = 0

相关问题