你好,很棒的社区!
我刚开始学习汇编语言。我将从我的Raspberry Pi B +上的ARM Assembly开始,后来想要学习运行Windows(8.1)的64位Intel处理器的汇编。
但我想知道ARM处理器的汇编程序是否默认安装了Raspbian OS发行版。对于Windows 8.1,我也想知道这个。
如果没有安装,我在哪里可以找到Rapsberry Pi B +和带有64位Intel处理器的Windows 8.1计算机的汇编程序?
奖金问题: 我找到了一个PDF,解释了ARM v3架构的ARM组件的基础知识。 现在,Raspberry Pi B +使用什么ARM版本,如果Raspberry Pi使用另一个版本,这是否重要?
答案 0 :(得分:1)
raspberry pi B +使用ARMv6。 GCC安装在raspberry pi上,可以用来组装ARM程序集,或者你可以使用GNU汇编程序as
,当使用gcc时,默认的凝视标签将是main
,但大多数其他汇编程序将使用_start
1}}。使用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