[過去ログ] 【boot】nasm【loader】 (63レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1
(4): 2013/08/21(水) NY:AN:NY.AN AAS
The Netwide Assembler のスレです

http://www.nasm.us/
http://www.nasm.us/docs.php
http://www.nasm.us/pub/nasm/

関連スレ
MASM32 - 選ばれし本物のプログラマ
2chスレ:tech
44: 2015/12/20(日)14:53 ID:8RLYRFXT(1) AAS
GPIFとはなんぞ
45: 2016/08/07(日)17:00 ID:nuDQx96v(1) AAS
GPU
46: 2017/01/31(火)15:18 ID:KYCEEpNK(1/6) AAS
nasmでリスティングファイルも一緒に出力したい場合は

32bit
nasm -f elf -l hogehoge.lst hogehoge.s

64bit
nasm -f elf64 -l hogehoge.lst hogehoge.s
47: 2017/01/31(火)15:19 ID:KYCEEpNK(2/6) AAS
nasmでのx86_64のLinuxでの32bitアセンブル

nasm -f elf hogehoge.s
ld -melf_i386 -o hogehoge hogehoge.o

nasmでのx86_64のLinuxでの64bitアセンブル
nasm -f elf64 $1.s
ld -o $1 $1.o

Ubuntuでのnasmのインストール方法

sudo apt-get install nasm
48: 2017/01/31(火)15:19 ID:KYCEEpNK(3/6) AAS
ちなみにx86_64上のLinuxで32bitのバイナリを作成したい場合はこう

x86_64のLinuxでのCの32bitのx86バイナリのコンパイル
gcc -m32 -O2 -o hogehoge hogehoge.c

x86_64のLinuxでの32bitのx86アセンブル
as --32 -a=hogehoge.lst -o hogehoge.o hogehoge.s
ld -melf_i386 -o hogehoge hogehoge.o
49: 2017/01/31(火)15:20 ID:KYCEEpNK(4/6) AAS
Linuxでのアセンブル方法はこんな感じ
as -a=hogehoge.lst -o hogehoge.o hogehoge.s
ld -o hogehoge hogehoge.o

アセンブル方法はこんな感じ
aarch64-linux-gnu-as -a=hogehoge.lst -o hogehoge.o hogehoge.s
aarch64-linux-gnu-ld -o hogehoge hogehoge.o

gcc-arm-linux-gnueabihf-as -a=hogehoge.lst -o hogehoge.o hogehoge.s
gcc-arm-linux-gnueabihf-ld -o hogehoge hogehoge.o
50: 2017/01/31(火)15:20 ID:KYCEEpNK(5/6) AAS
アセンブラはじめるならLinuxでやるといいよ
DOSと同じような感覚でアセンブラプログラミングができるから

こんな感じ

Linux でアセンブリプログラミング
http://www.mztn.org/lxasm/asm00.html
Linux で64bitアセンブリプログラミング
http://www.mztn.org/lxasm64/amd00.html

Linuxでのアセンブル方法はこんな感じ
as -a=hogehoge.lst -o hogehoge.o hogehoge.s
ld -o hogehoge hogehoge.s
51: 2017/01/31(火)15:21 ID:KYCEEpNK(6/6) AAS
UbuntuだとQEMUを入れるだけでQEMU+binfmtの設定が自動せされるから
ライブラリへのリンクを貼るだけで他のCPUのバイナリをそのまま実行できるようになる
UbuntuだとARM、MIPS、PowerPCができる

64bitARMならこんな感じ
sudo apt-get install qemu
sudo apt-get install g++-aarch64-linux-gnu
sudo ln -s /usr/aarch64-linux-gnu/lib/ld-linux-aarch64.so.1 /lib
sudo ln -s /usr/aarch64-linux-gnu/lib /lib/aarch64-linux-gnu

32bitARMならこんな感じ
sudo apt-get install qemu
省15
52: 2017/02/09(木)14:10 ID:dTuvJyk9(1) AAS
うむ
53: 2017/04/13(木)02:34 ID:8XBnDqPS(1) AAS
こっちだな
54: 2017/07/20(木)19:19 ID:7mH9PEZK(1) AAS
64bitないよね
55: 2017/09/22(金)20:34 ID:WnQAL/Cu(1/2) AAS
すごく基本的な事でごめんなさい。

db = define byte = 1byte
dw = define word = 2byte
dd = define double word = 4byte

は分かりましたが、

hoge: db 'aaaaaaaaaaaaaaaaaa'

みたいな記述って、aaaaaaaaaaaaaaaaaa は明らかに 1byte 以上あるのに、
どういう事なんでしょうか。内容的には、a しか入っていないという理解で合ってますか?
56: 2017/09/22(金)20:37 ID:WnQAL/Cu(2/2) AAS
2chスレ:tech

こっちで聞いた方がよかったですかね。。。
57: 2017/09/23(土)12:38 ID:fe2KLRAZ(1) AAS
hoge: db 0x61, 0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61
58: 2018/03/05(月)14:38 ID:QTTd7ohZ(1) AAS
おいしいの?
59: 2018/05/23(水)20:14 ID:Au5e7VGg(1) AAS
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

IJOVM
60: 2018/07/05(木)01:29 ID:RfoszcD2(1) AAS
VAT
61: 2018/07/05(木)11:44 ID:trpgv+Lz(1) AAS
タイホ
62: 2019/03/14(木)11:26 ID:s2YvJJWc(1) AAS
本太地
63: 2021/03/10(水)11:57 ID:GqqrwlDC(1) AAS
文系ωωω
https://www.youtube.com/watch?v=es6z-fUUiCU
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.250s*