MC8051微控制器寻址

时间:2016-07-05 15:04:35

标签: assembly 8051

我在左边给出了代码,我被问到从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。

Screenshot

1 个答案:

答案 0 :(得分:2)

你是怎么弄清楚前几个字节的?我假设你已经咨询过指令集参考。那么你遇到的问题是什么问题?

ACALL的操作码为11UP的绝对地址为0D,因此您获得11 0D的方式。< / p>

同样地,SJMP的操作码是80,它使用-2的相对偏移量跳回到自身,其中FE为十六进制import random import base64 from settings import PROXIES class ProxyMiddleware(object): def process_request(self, request, spider): proxy = random.choice(PROXIES) if proxy['user_pass'] is not None: request.meta['proxy'] = "http://%s" % proxy['ip_port'] encoded_user_pass = base64.b64encode(proxy['user_pass']).strip() request.headers['Proxy-Authorization'] = 'Basic ' + encoded_user_pass print "**************ProxyMiddleware have pass************" + proxy['ip_port'] else: print "**************ProxyMiddleware no pass************" + proxy['ip_port'] request.meta['proxy'] = "http://%s" % proxy['ip_port'] 。 (偏移量适用于已经增加的程序计数器。)