我正在我的数字设计课上学习考试,我不了解一些事情。以下是包含答案的工作表
答案 0 :(得分:4)
A)解释20 F8
是bra loop
的原始机器代码,并且未显示其他说明。
显然你应该对机器代码格式有足够的了解,以确定分支的位置。
我不知道68HC12,但是根据其他ISA(如x86)的经验,我假设0x20是操作码而0xF8是带符号2的补码相对位移,可能相对于 end 分支指令。
哦,是的,为C部分写的解决方案证实了这一点。但是0x080D + 0xF8
只有在从低字节到高字节没有进位时才有效。除非68hc12位移很奇怪或存在分段,否则你必须在添加之前对进行扩展签名,因此它是0x080D + 0xFFF8
。