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

【boot】nasm【loader】

1 :デフォルトの名無しさん:2013/08/21(水) NY:AN:NY.AN .net
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/

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

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

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

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

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

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

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

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

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

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

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

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

23 :デフォルトの名無しさん:2013/08/25(日) NY:AN:NY.AN .net
                _     __      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 .net
test

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

以下を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

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

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

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

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

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

45 :デフォルトの名無しさん:2017/01/31(火) 15:18:54.64 ID:KYCEEpNK.net
nasmでリスティングファイルも一緒に出力したい場合は

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

64bit
nasm -f elf64 -l hogehoge.lst hogehoge.s

46 :デフォルトの名無しさん:2017/01/31(火) 15:19:20.46 ID:KYCEEpNK.net
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

47 :デフォルトの名無しさん:2017/01/31(火) 15:19:40.38 ID:KYCEEpNK.net
ちなみに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

48 :デフォルトの名無しさん:2017/01/31(火) 15:20:22.01 ID:KYCEEpNK.net
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

49 :デフォルトの名無しさん:2017/01/31(火) 15:20:52.92 ID:KYCEEpNK.net
アセンブラはじめるなら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

50 :デフォルトの名無しさん:2017/01/31(火) 15:21:28.38 ID:KYCEEpNK.net
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

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

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

53 :デフォルトの名無しさん:2017/07/20(木) 19:19:38.81.net
64bitないよね

54 :デフォルトの名無しさん:2017/09/22(金) 20:34:45.97 ID:WnQAL/Cu.net
すごく基本的な事でごめんなさい。

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

は分かりましたが、

hoge: db 'aaaaaaaaaaaaaaaaaa'

みたいな記述って、aaaaaaaaaaaaaaaaaa は明らかに 1byte 以上あるのに、
どういう事なんでしょうか。内容的には、a しか入っていないという理解で合ってますか?

55 :デフォルトの名無しさん:2017/09/22(金) 20:37:06.73 ID:WnQAL/Cu.net
http://mevius.2ch.net/test/read.cgi/tech/1314512680/l50

こっちで聞いた方がよかったですかね。。。

56 :デフォルトの名無しさん:2017/09/23(土) 12:38:38.12 ID:fe2KLRAZ.net
hoge: db 0x61, 0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61

57 :デフォルトの名無しさん:2018/03/05(月) 14:38:16.42 ID:QTTd7ohZ.net
おいしいの?

58 :デフォルトの名無しさん:2018/05/23(水) 20:14:33.92 ID:Au5e7VGg.net
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

IJOVM

59 :デフォルトの名無しさん:2018/07/05(木) 01:29:48.73 ID:RfoszcD2.net
VAT

60 :デフォルトの名無しさん:2018/07/05(木) 11:44:19.13 ID:trpgv+Lz.net
タイホ

61 :デフォルトの名無しさん:2019/03/14(木) 11:26:43.72 ID:s2YvJJWc.net
本太地

17 KB
新着レスの表示

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

read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★