MC8051 微控制器寻址

MC8051 Microcontroller addressing

我在左边给出了代码,我被问到从 0H...15H 的地址中存储了什么。我发现在 0AH 出现之前所有的答案都很容易。我不知道 '0D' 或 '08' 或 'FE' 来自哪里。 这是代码:

    WERT equ 127
    org 0               
MOV SP,#0FH
CLR A
MOV PSW,#0FFH
ADDC    A,#WERT
ACALL   UP
SJMP    $
UP:
PUSH    ACC
PUSH    PSW
POP PSW
POP ACC
RET

END

从00h到15H存储的物理内存地址是什么?我回答了所有问题,直到 0AH 我不知道怎么会有 80H。

你是怎么算出前几个字节的?我假设您已经查阅了指令集参考。那么,您 运行 对您询问的值有什么问题?

ACALL的操作码是11UP的绝对地址是0D,这样就得到了11 0D.

类似地,SJMP 的操作码是 80,它使用 -2 的相对偏移量跳回自身,即十六进制的 FE。 (偏移量适用于已经递增的程序计数器。)