是否默认安装了汇编程序?
Are Assemblers Installed By Default?
你好很棒的社区!
我刚开始学习汇编语言。我打算从 Raspberry Pi B+ 上的 ARM Assembly 开始,然后想学习 64 位 Intel 处理器的 Assembly 运行 Windows (8.1).
但我想知道 ARM 处理器的汇编程序是否默认安装在 Raspbian OS 发行版中。我也想知道 Windows 8.1.
万一它们没有安装,我在哪里可以找到我的 Rapsberry Pi B+ 和我的 Windows 8.1 64 位 Intel 处理器的汇编器?
奖金问题:
我找到了一个 PDF,解释了 ARM v3 架构的 ARM 汇编基础知识。
现在,Raspberry Pi B+ 使用的是哪个 ARM 版本,如果 Raspberry Pi 使用另一个版本,这有关系吗?
raspberry pi B+ 使用 ARMv6。 GCC 安装在 raspberry pi 上,可以用于 assemble ARM 程序集或者你可以使用 GNU assembler as
,当使用 gcc 时,默认的启动标签将是 main
但大多数其他 assemble 回复将使用 _start
。使用GCC会更容易,因为它可以使用printf
等C函数。
使用 gcc 编译时会生成可执行文件,但使用 as
时会输出需要链接的目标代码。
这是一个简单的 hello world 程序
.text
.global _start
_start:
mov r0, #1 @// write to stdout
ldr r1, =message @// memory address of message
ldr r2, =len @// length of message
mov r7, #4 @// Linux system call SYS_WRITE
swi 0 @// call software interupt
mov r0, #0
mov r7, #1 @// exit
swi 0
.data
message:
.ascii "hello world\n"
len = .-message
使用 gcc 编译
gcc -nostdlib hello.s -o hello
或
as hello.s -o hello.o
ld hello.o -o hello
你好很棒的社区!
我刚开始学习汇编语言。我打算从 Raspberry Pi B+ 上的 ARM Assembly 开始,然后想学习 64 位 Intel 处理器的 Assembly 运行 Windows (8.1).
但我想知道 ARM 处理器的汇编程序是否默认安装在 Raspbian OS 发行版中。我也想知道 Windows 8.1.
万一它们没有安装,我在哪里可以找到我的 Rapsberry Pi B+ 和我的 Windows 8.1 64 位 Intel 处理器的汇编器?
奖金问题: 我找到了一个 PDF,解释了 ARM v3 架构的 ARM 汇编基础知识。 现在,Raspberry Pi B+ 使用的是哪个 ARM 版本,如果 Raspberry Pi 使用另一个版本,这有关系吗?
raspberry pi B+ 使用 ARMv6。 GCC 安装在 raspberry pi 上,可以用于 assemble ARM 程序集或者你可以使用 GNU assembler as
,当使用 gcc 时,默认的启动标签将是 main
但大多数其他 assemble 回复将使用 _start
。使用GCC会更容易,因为它可以使用printf
等C函数。
使用 gcc 编译时会生成可执行文件,但使用 as
时会输出需要链接的目标代码。
这是一个简单的 hello world 程序
.text
.global _start
_start:
mov r0, #1 @// write to stdout
ldr r1, =message @// memory address of message
ldr r2, =len @// length of message
mov r7, #4 @// Linux system call SYS_WRITE
swi 0 @// call software interupt
mov r0, #0
mov r7, #1 @// exit
swi 0
.data
message:
.ascii "hello world\n"
len = .-message
使用 gcc 编译
gcc -nostdlib hello.s -o hello
或
as hello.s -o hello.o
ld hello.o -o hello