LC-3架构下除法运算结果为非整数实数时是否会触发错误
LC-3非整除除法场景错误触发问题解答
不会默认触发硬件层面的错误,最终表现完全取决于你实现除法运算的软件逻辑:
- LC-3的硬件指令集没有原生除法指令,所有除法功能都需要开发者基于
ADD/AND/NOT三个基础运算手动编码实现,硬件本身不会识别“除法运算”“结果为实数”这类高层语义,自然也不会针对这类场景主动抛出错误。 - LC-3原生仅支持16位补码整数类型,没有浮点数、小数相关的存储和运算支持,常规的整数除法实现都会默认截断小数部分,仅返回整数商,余数单独存储在指定寄存器中,这类实现下非整除场景只会得到取整后的整数结果,不会报错。
- 只有你在自己写的除法逻辑中额外加入了非整除校验分支,比如余数不为0时主动向特定寄存器写入错误标识、跳转到自定义错误处理入口,才会出现对应的错误表现,这类错误属于自定义软件逻辑的行为,不是LC-3的默认特性。
内容的提问来源于stack exchange,提问作者Garrick Jay
相关产品推荐
相关产品推荐

