2

私はAssemblyLanguageStep-By-Step(3rd edition; by Jeff Duntemann)を読んでいます。Linuxボックス、Lionボックス、および(PPC)Tigerマシンを使用できます。私はLionおよびLinuxマシンでNASMを使用して小さなアセンブリプログラムを作成してきましたが、Tigerマシンでも作成したいと思います。

気をつけてください、私はこれが簡単だとは思っていませんでした。

PPCで動作するようにコードを変更する方法がよくわかりません。私はこれまでに3つexpression syntax errorのs(2、3、および14行目)に遭遇したので、理解できません。

(少なくとも、PPC命令セットをしっかりと把握していません。)

私が組み立てようとしているコードは次のようなものです:(行番号を無視してください)

1    SECTION .data
2        str: db "Hello, World!",0x10
3        len: equ $-str
4
5    SECTION .bss
6
7    SECTION .text
8        global start
9
10   start:
11       nop
12       mov eax,4
13       mov ebx,1
14       mov ecx,str
15       mov edx,len
16       int 0x80
17
18       mov eax,1
19       mov ebx,0
20       int 0x80

(私は、PPCが死にかけていること、そしてそのアセンブリを理解することにあまり意味がないことを認識していますが、学習は決して悪いことではありません。)

4

2 に答える 2

4

nasmx86 / x86-64 用のアセンブラです。asネイティブ (Mach-O ppc)または gcc 拡張 asmの使用を検討する必要があります。オペコードを変更するだけの問題ではありません - 一部のディレクティブは ppc でも無効になります。そのため、PPC アセンブリをしっかりと把握する必要があります。

が死にかけていると言うのも時期尚早です。IBM POWER7 は、今でも入手可能な「最速」の汎用プロセッサです。また、Cell アーキテクチャと組み込み市場についても検討してください。

于 2012-02-15T16:14:31.747 に答える
2

x86(Intel i386)用のアセンブリを作成しました。これは、PowerPC(Motorola)とは異なるアーキテクチャです。ここに設定されているPowerPC命令を参照してください

さらに、PowerPC命令セット(gnuなど)を理解するアセンブラを使用する必要がありasます。

編集:命令セットの基本的な理解がなければ(多くの場合、アーキテクチャごとに根本​​的に異なります)、アセンブリを作成することは不可能です。

于 2012-02-15T16:13:02.883 に答える