是否默认安装了汇编程序?

时间:2015-05-05 20:47:33

标签: assembly arm raspberry-pi

你好,很棒的社区!

我刚开始学习汇编语言。我将从我的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使用另一个版本,这是否重要?

1 个答案:

答案 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