在我的数字设计课上,我正在学习一个测试,但我不明白一些事情。这是有答案的工作表,

发布于 2016-12-15 06:09:16
( A)解释20 F8是bra loop的原始机器代码,其他指令没有显示它。
很明显,你应该对机器代码格式有足够的了解,才能找出它的分支。
我不知道68HC12,但根据与其他ISAs (如x86)的经验,我假设0x20是操作码,0xF8是一个符号2的补码相对位移,可能相对于分支指令的末尾。
哦,是的,C部分的解决方案证实了这一点。但是,只有当没有从低字节到高字节的进位时,0x080D + 0xF8才能工作。除非68hc12位移是奇怪的,或者是分段的,否则必须在添加之前签署扩展,所以它是0x080D + 0xFFF8。
https://stackoverflow.com/questions/41157438
复制相似问题