- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个将引导另一个程序的程序,因此我需要保留传递给我的程序的寄存器,以便我可以在跳转到应该加载的程序之前恢复它们。这是一个裸机系统,没有操作系统,没有 MMU(存在,但目前未启用)。
这是我的代码,我想知道它是否正确,因为我没有要测试的 ARM 板,我必须尽快提交,
pc相关商店也确实只能使用源寄存器低寄存器(r0-r7),我认为这只是由于指令宽度有限而无法访问某些指令中的高寄存器的拇指问题。
reset: @ entry point, mapped in reset vector
/* Store registers for bootstrapping */
STR R0, [PC, #128]
STR R1, [PC, #128]
STR R2, [PC, #128]
STR R3, [PC, #128]
STR R4, [PC, #128]
STR R5, [PC, #128]
STR R6, [PC, #128]
STR R7, [PC, #128]
/* Following registers can't be used in pc relative load/store */
MOV R0, R8
STR R0, [PC, #128]
MOV R0, R9
STR R0, [PC, #128]
MOV R0, R10
STR R0, [PC, #128]
MOV R0, R11
STR R0, [PC, #128]
MOV R0, R12
STR R0, [PC, #128]
MOV R0, SP
STR R0, [PC, #128]
MOV R0, LR
STR R0, [PC, #128]
MRS R0, CPSR
STR R0, [PC, #128]
MRS R0, SPSR
STR R0, [PC, #128]
ISB SY
B clear_regs
saved_regs:
.rept 32
.word 0x00000000
.endr
.align
clear_regs:
MOV R0, #0
MOV R1, #0
MOV R2, #0
MOV R3, #0
MOV R4, #0
MOV R5, #0
MOV R6, #0
MOV R7, #0
MOV R8, #0
MOV R9, #0
MOV R10, #0
MOV R11, #0
MOV R12, #0
MOV SP, #0
MOV LR, #0
最佳答案
在 ARM 模式(相对于 Thumb 模式)中,可以在 PC 相关存储中使用高位寄存器。如果不允许这样做,您的汇编程序会警告您。您可能还需要考虑使用 STM(存储多个)指令,该指令允许您指定寄存器列表,而不是单独执行它们。
您可能应该让汇编程序通过使用符号而不是手动指定偏移量来完成计算 PC 偏移量的“艰苦”工作。
reset: @ entry point, mapped in reset vector
/* Store registers for bootstrapping */
STR R0, saved_regs
ADR R0, saved_regs + 4
STMIA r0!, {r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11,r12,r13,r14,r15}
MRS R1, CPSR
MRS R2, SPSR
STMIA R0, {r1, r2}
ISB SY
B clear_regs
saved_regs:
.rept 32
.word 0x00000000
.endr
关于assembly - 存储所有寄存器而不刮任何,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11353662/
我尝试通过 Goutte 列表从流行的拍卖网络服务中抓取,但它们的部分代码是由 javascript 呈现的,问题是 Goutte 只返回没有 JS 作业的 DOM。因此,如果 symphony 是
我遇到了旧的工作代码无法正常运行的问题。 我的 python 代码正在使用漂亮的汤抓取网站并提取事件数据(日期、事件、链接)。 我的代码正在提取位于 tbody 中的所有事件.每个事件都存储在 中.
所以我期待着对这个 link 中出现的表格进行抓取. 为了抓取,我决定使用 Selenium 。 在我的第一次尝试中,我所做的是: driver = webdriver.Chrome(ChromeDr
所以我期待着对这个 link 中出现的表格进行抓取. 为了抓取,我决定使用 Selenium 。 在我的第一次尝试中,我所做的是: driver = webdriver.Chrome(ChromeDr
我通过 Selenium 运行 headless (PhantomJS) 浏览器的网站有不同的时区,所以我得到了很多条目的错误日期。因此,我抓取的结果显示了错误的日期/时间(我在美国东部时间,看起来网
尝试使用 beautiful soup 从网站上抓取表格以解析数据。我将如何通过它的标题来解析它?到目前为止,我什至无法打印整个表格。提前致谢。 代码如下: import urllib2 from b
我一直在使用 Selenium(Python Webdriver)抓取一个网站。当我尝试将它作为 click() 选项时,我收到了权限被拒绝的错误。完整堆栈跟踪: Traceback (most re
使用 Beautiful soup 和 Pandas 抓取网页以获取表格。其中一列有一些网址。当我将 html 传递给 pandas 时,href 丢失了。 有没有办法只为该列保留 url 链接? 示
我正在尝试抓取 table进入数据框。我的尝试仅返回表名称,而不返回每个区域的行内的数据。 这是我到目前为止所拥有的: from bs4 import BeautifulSoup as bs4 imp
我是一名优秀的程序员,十分优秀!