assembly - 为什么我的寄存器 (R0) 没有指向 ARM 程序集中的新地址?
问题描述
ldr R0, =str1 @ str1 = "-400"
bl putstring @ putstring displays the number
ldr R0, =newline @ Load R0 with address of newline (newline: .byte 10)
bl putch @ Function call to ext. func. call putch (putch outputs a character)
我希望代码的第二部分输出换行符。但是,尽管有指令,但 R0 并未指向换行符的地址。
$r0 : 0x0002064c → "-400"
$r1 : 0x0002064c → "-400"
@ After 2nd ldr instruction
$r0 : 0x0002064f → 0x30340030 ("0"?)
$r1 : 0x0002064c → "-400"
难道我做错了什么?R0 不应该指向换行地址,以便可以使用 putch 输出吗?为什么它指向“-400”中的“0”?
R0 的值应该是:
$r0 : 0x0002064f → <newline+0> lsrs r0, r0, #8
在第二条 ldr 指令之后。
声明:
str1: .asciz ""
newline: .byte 10
解决方案
推荐阅读
- python - MemoryError:无法为形状为 (131072,) 且数据类型为 int64 的数组分配 1.00 MiB
- javascript - 在 JavaScript 中验证浮点数和非空值
- javascript - 从脚本中获取 System.Type 实例 (ClearScript)
- javascript - 如何在 Java Script 中使用滑块输入日期
- c# - C# 在二维图中表示二进制数据?
- python-3.x - 具有注意层 tf.keras 的双向 LSTM
- events - 使用 Prism 时如何传递和接收 Sender 事件参数?
- angular - 错误类型错误:无法读取 Object.eval [as updateRenderer] 处未定义的属性“temp”(SearchCitiesComponent.html:21)
- vue.js - VSCode 不在 .vue 文件中显示 HTML 属性,而是在 html 文件中显示
- python - Tkinter ttk Checkbutton检查未显示样式