我正在尝试编写一个程序集乘法程序。但是我在提取乘法器的lsb方面遇到了麻烦,因为我只能为此使用按位NOR,BEQ和ADD指令。我的第一个想法是使用面具,但这个想法失败了。我可能只是错误的面具。有人可以帮助我集思广益吗?
答案 0 :(得分:2)
lsb = multiplier AND 0xFF
由于您只有NOR
,因此您可以从中提取AND
功能,例如:
m' = multiplier NOR multiplier ; m' = not(multiplier)
lsb = m' NOR 0xFFFFFF00 ; I assume 32bit native size, adjust mask by true desired bit size
; i.e. the second operand is NOT(0xFF)
(没有验证,所以我很感激确认)
我使用此页面快速检查NOR值表,以确保我的想法不会对我(再次)使用技巧:http://www.randomterrain.com/atari-2600-memories-tutorial-robert-m-06.html#logical_nand_nor_xnor