我在左边给出了代码,我被问到从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。
答案 0 :(得分:2)
你是怎么弄清楚前几个字节的?我假设你已经咨询过指令集参考。那么你遇到的问题是什么问题?
ACALL
的操作码为11
,UP
的绝对地址为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']
。 (偏移量适用于已经增加的程序计数器。)