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
的操作码是11
,UP
的绝对地址是0D
,这样就得到了11 0D
.
类似地,SJMP
的操作码是 80
,它使用 -2
的相对偏移量跳回自身,即十六进制的 FE
。 (偏移量适用于已经递增的程序计数器。)
我在左边给出了代码,我被问到从 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
的操作码是11
,UP
的绝对地址是0D
,这样就得到了11 0D
.
类似地,SJMP
的操作码是 80
,它使用 -2
的相对偏移量跳回自身,即十六进制的 FE
。 (偏移量适用于已经递增的程序计数器。)