5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

【boot】nasm【loader】

1 :デフォルトの名無しさん:2013/08/21(水) NY:AN:NY.AN
The Netwide Assembler のスレです

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

関連スレ
MASM32 - 選ばれし本物のプログラマ
http://toro.2ch.net/test/read.cgi/tech/1348574727/

2 :デフォルトの名無しさん:2013/08/21(水) NY:AN:NY.AN
|....,,__
|_::;; ~"'ヽ
| //^''ヽ,,)
|  i⌒"
| ∀`) < 誰もいない きのこるならいまのうち
|⊂
| ノ
      _,,,......,,__
  /_~ ,,...:::_::;; ~"'ヽ
 (,, '"ヾヽ  i|i //^''ヽ,,)
   ^ :'⌒i    i⌒"
      |( ´∀`) < きのこ のこーのこ げんきのこ ♪
      |(ノ   |つ
      |     |
     ⊂ _ ノ
       ""U
      _,,,......,,__
  /_~ ,,...:::_::;; ~"'ヽ
 (,, '"ヾヽ  i|i //^''ヽ,,)
   ^ :'⌒i    i⌒"
     (´∀` )| < エリンギ まいたけ ブナシメジ ♪
    ⊂|  (ノ |
      |     |
      ヽ _ ⊃
      .U""
|
| ミ
| ミ  サッ!
| ミ
|

3 :デフォルトの名無しさん:2013/08/21(水) NY:AN:NY.AN
ブートローダの話題限定なの?

4 :デフォルトの名無しさん:2013/08/21(水) NY:AN:NY.AN
頭悪い【】だな。
てかアセンブラスレから独立させるほど話題あるか?

5 :デフォルトの名無しさん:2013/08/21(水) NY:AN:NY.AN
関連

SSE AVXのプログラミング
http://toro.2ch.net/test/read.cgi/tech/1274851465/
アセンブラ 13
http://toro.2ch.net/test/read.cgi/tech/1314512680/
アセンブラ初心者スレッド
http://toro.2ch.net/test/read.cgi/tech/1314502612/

6 :デフォルトの名無しさん:2013/08/21(水) NY:AN:NY.AN
>>1
NASMの前スレは無かったのか?

7 :デフォルトの名無しさん:2013/08/21(水) NY:AN:NY.AN
大量削除事件の前は有った希ガス。

8 :デフォルトの名無しさん:2013/08/21(水) NY:AN:NY.AN
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。

アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。

                  京都大学霊長類研究所

9 :デフォルトの名無しさん:2013/08/21(水) NY:AN:NY.AN
消すのなら削除依頼出しとくけど

10 :デフォルトの名無しさん:2013/08/21(水) NY:AN:NY.AN
               ノ      ゚.ノヽ  , /}      ...
            ,,イ`"     、-'   `;_' '    ..::::::::::::::...
   ,-、  _.._   (        (,(~ヽ'~     ..:::::::::::::::::::::::
 )'~  レー'  〉   ヽ       i`'}       .:::::::::::::::::::::::
 ~つ     '-ー、  i       | i'     ...:::::::::::::::::::::::
 /       <  /     。/   !  ......:::::::::::::::::::::::::    これは>>1乙じゃなくて
/         ~^´     /},-'' ,●::::::::::::::::::::::::::::::::::::
i、        ,i' _,,...,-‐-、/    i  ::::::::  .:::::::::::::
..ゝ        <,,-==、   ,,-,/      .:::::::::::            放射能がうんたら
 )       {~''~>`v-''`ー゙`'~       ..:::::::::                          ........::.
 {        レ_ノ            ..::::::::.                         ......:::::::::
ノ         ''           ..:::::::                        ...::.:...:::::::::
                     .:::::::::                     ...:......:::::::::::: .
                    .:::::::::::.        .....      ..  ..::::::::::::::::::::::::   :::.
                    ::::::::::::::::.::::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.. ::  ::..
                    .:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::    ::.
                    ::::::::::::::::: :::::::::::::::::::::::::::::: :::::
                          .::    ::.  :::

11 :デフォルトの名無しさん:2013/08/21(水) NY:AN:NY.AN
nasm と masm の違いが良くわかんね

12 :デフォルトの名無しさん:2013/08/21(水) NY:AN:NY.AN
名前はなんでnetwideなの?

13 :デフォルトの名無しさん:2013/08/22(木) NY:AN:NY.AN
>>1
立て乙

14 :デフォルトの名無しさん:2013/08/22(木) NY:AN:NY.AN
>>12
命名当時の流行りじゃね?
D言語みたいな

15 :デフォルトの名無しさん:2013/08/22(木) NY:AN:NY.AN
>>1 乙乙

16 :デフォルトの名無しさん:2013/08/23(金) NY:AN:NY.AN
>>3
限定はしてません

>>4
【】はたまたま思いついたものです
済みませんでした
nasm特有の機能についても深めていきたいです

17 :デフォルトの名無しさん:2013/08/23(金) NY:AN:NY.AN
>>12
夏休みの宿題に追われる中学生が
newtide の綴り間違いだろって言ってた

18 :デフォルトの名無しさん:2013/08/23(金) NY:AN:NY.AN
つまらないです
次の方どうぞ

19 :デフォルトの名無しさん:2013/08/23(金) NY:AN:NY.AN
就活に追われる学生が
newtiedになりたいって言ってた

20 :デフォルトの名無しさん:2013/08/24(土) NY:AN:NY.AN
つまらないです

21 :デフォルトの名無しさん:2013/08/25(日) NY:AN:NY.AN
次の方どうぞ

22 :デフォルトの名無しさん:2013/08/25(日) NY:AN:NY.AN
omf出力できるのがありがたい

23 :デフォルトの名無しさん:2013/08/25(日) NY:AN:NY.AN
                _     __      rくヾ\
        ___  , ≠´ : : : :  ̄`:´ : : : : :  ̄:三>xヾ\\
        ///:厶/ : : : : : : : : : : : : : : : : : : : : : : : : : : :`ヾ:\\
.       ///:/イ: : : : : : : : : : : : : : : i: : : : : : : : : : : : : : : : 、\ゝィ1
      ///:/: : : : : : : : : : : : : : : : : : l: : : : : : : : : : : ヽ: : : : ヽ:ヘ l:|
.     lTlン: : : : : : : : : : : : : i : : : : : l: : : : : : : : : : : : : \: : : ',:ハ!jヽ
     ,∨: : : ; : : : : : : : :i: : : l : : : : : ト 、: : : : : : : : : : : : :ヽ: : ',:',:',
   /:/: : : :,': : : : : : : : :l: : : :l : : : : : l  \ : : : : : : : : : : : : \ハ: :',:l
.  /: l: : : : ;! : : : : : : : : !: : : :ト 、: : : :',   ` <: : : : : : : : : : : ヾ : l: :l
  / : :|: : : /|: : : : : : : : :,l: : : ;'_\ : : ヘ   ィ´ ` <: : : : : : : :ヘ: :!: :、
. /: : : | : :,': :| : : : : : : : ハ: :/   ` ヽ: : :ヽ '    _ \ : : : : : : :| :∧
/: : : : l : l、: :|: : : : : : : i _V-−- 、  \ : \ ,ィく-.、 トハ ト、: : : : : ! : : !
: : : : : ∨: |Y : : : : : : | f7て)−ミ. ヽ   ` ーニゝ.ヒ':::::}.l || l: :ヽ: : : :l: : : l
: : : : : : : : | `| : : : : : : | V! い::::::::}.l        い、::ク ノ/  l : : ハ: : ;l: : : :!
: : : : : : : :||: : : : : :.| ヾ 廴ー_'丿        ` ー "   |: : l ノ: 九: : : ',
: : : : : : : : :! い: : : : :|            ,、           八 l レ' !: : : : l  なんだ?呼んだか?
: : : : : : : : :l  ヽ : : : : ハ          r‐- - ┐       /: : :l   |: : : : :|
: : : : : : : : :1   \:_: : :ヽ、       い    ノ    イ 廴/     | : : : : |
: : : : : : : : :ハ     ーヒ、: みー   _ ` ー ´_ . <3{ ヽ.      |: : : :|
: : : : : : : : :.∧      /`¨〒==9oュTトく >x ∧ヘl (ハ       |: : : : :|

24 :デフォルトの名無しさん:2013/08/28(水) NY:AN:NY.AN
test

25 :デフォルトの名無しさん:2013/08/30(金) NY:AN:NY.AN
みなさんお世話になりました
明日で2ch終了らしいので
今のうちに最後のご挨拶をしておきます

26 :デフォルトの名無しさん:2013/08/31(土) NY:AN:NY.AN
今スレ立てるならyasmでしょうよ

27 :!omikuji:2014/01/08(水) 10:41:03.41
祈願

28 :デフォルトの名無しさん:2014/03/07(金) 11:16:00.35
nasmとDを組み合わせるのにちょうどいい
http://www.agner.org/optimize/#objconv

29 :デフォルトの名無しさん:2014/04/29(火) 14:37:55.93 ID:tuCmfcOr
ダジャレを言うのは誰じゃ?

30 :片山博文MZバグロボ ◆T6xkBnTXz7B0 :2014/05/16(金) 00:57:30.53 ID:YZ6eU1pI
xor eax,eaxはeaxをゼロにする、といったアセンブリ技術のことが沢山
書かれたサイトを教えて下さい。

31 :デフォルトの名無しさん:2014/05/16(金) 08:37:55.25 ID:W3ISF2rL
問題。
AL に入っている数値を [DI] に16進数2ケタで出力せよ。
※ [DI+00] に上位桁、[DI+01] に下位桁

32 :デフォルトの名無しさん:2014/05/16(金) 13:46:41.38 ID:4VYzJixg
>>31
ttp://ideone.com/1BWyMV

33 :デフォルトの名無しさん:2014/05/16(金) 18:01:24.75 ID:lP/gHzU8
>>30 サイトより、タイトルに「マシン語秘伝の書」って入ってる古本を2冊ほどゲットするのが
結局てっとり早いと思う。

あともうちょっと高級な技なら "Hacker's delight" の元ネタの多くが書かれている HAKMEM とか。

34 :デフォルトの名無しさん:2014/05/16(金) 23:11:27.82 ID:xXlmOrih
x86よりARMの方が面白そう
でもnasmはx86専用なのか

35 :デフォルトの名無しさん:2014/12/08(月) 07:57:03.31 ID:5xVLQkK/
イィ

36 :デフォルトの名無しさん:2015/02/05(木) 18:50:29.25 ID:Wisgh0P5
遺言

37 :Office & Gamers ◆G144Hzgh2.0e :2015/04/24(金) 03:28:30.08 ID:gsh3Hj5N
MenuetOSでもお馴染みのflat assemblerだよw
http://flatassembler.net/index.php

38 :デフォルトの名無しさん:2015/09/04(金) 08:36:37.34 ID:efXmgHpK
nasmのnってなんですの

39 :デフォルトの名無しさん:2015/10/15(木) 18:23:58.06 ID:bdlPZJI1
nasmのnに決まってるだろ

40 :デフォルトの名無しさん:2015/10/28(水) 21:11:10.66 ID:Zfb2ITq0
質問です。

以下をnaskとnasmそれぞれでアセンブルしたら、
結果が異なりました。


7FFFFFFFと出力したいところ、FFFFFF7Fと出力してしまいます。
nasmの出力結果を、naskの出力結果とあわせたいです。
どうしたらいいでしょうか?


アセンブル前のコード
MOV EAX,CR0
AND EAX,0x7FFFFFFF
OR EAX,0x00000001
MOV CR0,EAX

nasmの出力
0F20C0 MOV EAX,CR0
6625FFFFFF7F AND EAX,0x7FFFFFFF
6683C801 OR EAX,0x00000001
0F22C0 MOV CR0,EAX

naskの出力
0F20C0 MOV EAX,CR0
66257FFFFFFF AND EAX,0x7FFFFFFF
6683C801 OR EAX,0x00000001
0F22C0 MOV CR0,EAX

41 :デフォルトの名無しさん:2015/10/29(木) 01:05:55.37 ID:dmkvBav+
Big Endian ・ Little Endian でも違っているのでは?

42 :デフォルトの名無しさん:2015/10/29(木) 18:02:16.22 ID:wsfqWnTY
同意します

43 :デフォルトの名無しさん:2015/10/30(金) 20:32:06.78 ID:dIO+gS7v
回答ありがとうございます。
Endianも含め、学習しなおしてきます。

44 :デフォルトの名無しさん:2015/12/20(日) 14:53:09.59 ID:8RLYRFXT
GPIFとはなんぞ

45 :デフォルトの名無しさん:2016/08/07(日) 17:00:15.20 ID:nuDQx96v
GPU

46 :デフォルトの名無しさん:2017/01/31(火) 15:18:54.64 ID:KYCEEpNK
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:20.46 ID:KYCEEpNK
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:40.38 ID:KYCEEpNK
ちなみに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:22.01 ID:KYCEEpNK
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:52.92 ID:KYCEEpNK
アセンブラはじめるなら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:28.38 ID:KYCEEpNK
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
sudo apt-get install g++-arm-linux-gnueabihf
sudo ln -s /usr/arm-linux-gnueabihf/lib/ld-linux-armhf.so.3 /lib
sudo ln -s /usr/arm-linux-gnueabihf/lib /lib/arm-linux-gnueabihf

Cのコンパイル方法はこんな感じ
aarch64-linux-gnu-gcc -O2 -o hogehoge hogehoge.c

gcc-arm-linux-gnueabihf-gcc -O2 -o hogehoge hogehoge.c

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

gcc-arm-linux-gnueabihf-as -a=hogehoge.lst -o hogehoge.o hogehoge.s
gcc-arm-linux-gnueabihf-ld -o hogehoge hogehoge.s

できたバイナリは普通に実行できる
./hogehoge
バイナリがどのアーキテクチャかはfileコマンドで確認できる
file hogehoge

52 :デフォルトの名無しさん:2017/02/09(木) 14:10:14.97 ID:dTuvJyk9
うむ

53 :デフォルトの名無しさん:2017/04/13(木) 02:34:31.58 ID:8XBnDqPS
こっちだな

15 KB
新着レスの表示

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :


read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)