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/
探検
【boot】nasm【loader】
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2013/08/21(水) NY:AN:NY.AN2013/08/22(木) NY:AN:NY.AN
>>1
立て乙
立て乙
14デフォルトの名無しさん
2013/08/22(木) NY:AN:NY.AN2013/08/22(木) NY:AN:NY.AN
>>1 乙乙
16デフォルトの名無しさん
2013/08/23(金) NY:AN:NY.AN2013/08/23(金) NY:AN:NY.AN
2013/08/23(金) NY:AN:NY.AN
つまらないです
次の方どうぞ
次の方どうぞ
2013/08/23(金) NY:AN:NY.AN
就活に追われる学生が
newtiedになりたいって言ってた
newtiedになりたいって言ってた
2013/08/24(土) NY:AN:NY.AN
つまらないです
21デフォルトの名無しさん
2013/08/25(日) NY:AN:NY.AN 次の方どうぞ
2013/08/25(日) NY:AN:NY.AN
omf出力できるのがありがたい
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 (ハ |: : : : :|
___ , ≠´ : : : :  ̄`:´ : : : : :  ̄:三>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終了らしいので
今のうちに最後のご挨拶をしておきます
明日で2ch終了らしいので
今のうちに最後のご挨拶をしておきます
2013/08/31(土) NY:AN:NY.AN
今スレ立てるならyasmでしょうよ
27!omikuji
2014/01/08(水) 10:41:03.41 祈願
2014/03/07(金) 11:16:00.35
nasmとDを組み合わせるのにちょうどいい
http://www.agner.org/optimize/#objconv
http://www.agner.org/optimize/#objconv
29デフォルトの名無しさん
2014/04/29(火) 14:37:55.93ID:tuCmfcOr ダジャレを言うのは誰じゃ?
30片山博文MZバグロボ ◆T6xkBnTXz7B0
2014/05/16(金) 00:57:30.53ID:YZ6eU1pI xor eax,eaxはeaxをゼロにする、といったアセンブリ技術のことが沢山
書かれたサイトを教えて下さい。
書かれたサイトを教えて下さい。
31デフォルトの名無しさん
2014/05/16(金) 08:37:55.25ID:W3ISF2rL 問題。
AL に入っている数値を [DI] に16進数2ケタで出力せよ。
※ [DI+00] に上位桁、[DI+01] に下位桁
AL に入っている数値を [DI] に16進数2ケタで出力せよ。
※ [DI+00] に上位桁、[DI+01] に下位桁
2014/05/16(金) 13:46:41.38ID:4VYzJixg
>>31
ttp://ideone.com/1BWyMV
ttp://ideone.com/1BWyMV
2014/05/16(金) 18:01:24.75ID:lP/gHzU8
>>30 サイトより、タイトルに「マシン語秘伝の書」って入ってる古本を2冊ほどゲットするのが
結局てっとり早いと思う。
あともうちょっと高級な技なら "Hacker's delight" の元ネタの多くが書かれている HAKMEM とか。
結局てっとり早いと思う。
あともうちょっと高級な技なら "Hacker's delight" の元ネタの多くが書かれている HAKMEM とか。
2014/05/16(金) 23:11:27.82ID:xXlmOrih
x86よりARMの方が面白そう
でもnasmはx86専用なのか
でもnasmはx86専用なのか
35デフォルトの名無しさん
2014/12/08(月) 07:57:03.31ID:5xVLQkK/ イィ
36デフォルトの名無しさん
2015/02/05(木) 18:50:29.25ID:Wisgh0P5 遺言
37Office & Gamers ◆G144Hzgh2.0e
2015/04/24(金) 03:28:30.08ID:gsh3Hj5N MenuetOSでもお馴染みのflat assemblerだよw
http://flatassembler.net/index.php
http://flatassembler.net/index.php
38デフォルトの名無しさん
2015/09/04(金) 08:36:37.34ID:efXmgHpK nasmのnってなんですの
39デフォルトの名無しさん
2015/10/15(木) 18:23:58.06ID:bdlPZJI1 nasmのnに決まってるだろ
40デフォルトの名無しさん
2015/10/28(水) 21:11:10.66ID: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
以下を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
2015/10/29(木) 01:05:55.37ID:dmkvBav+
Big Endian ・ Little Endian でも違っているのでは?
42デフォルトの名無しさん
2015/10/29(木) 18:02:16.22ID:wsfqWnTY 同意します
43デフォルトの名無しさん
2015/10/30(金) 20:32:06.78ID:dIO+gS7v 回答ありがとうございます。
Endianも含め、学習しなおしてきます。
Endianも含め、学習しなおしてきます。
44デフォルトの名無しさん
2015/12/20(日) 14:53:09.59ID:8RLYRFXT GPIFとはなんぞ
45デフォルトの名無しさん
2016/08/07(日) 17:00:15.20ID:nuDQx96v GPU
46デフォルトの名無しさん
2017/01/31(火) 15:18:54.64ID:KYCEEpNK nasmでリスティングファイルも一緒に出力したい場合は
32bit
nasm -f elf -l hogehoge.lst hogehoge.s
64bit
nasm -f elf64 -l hogehoge.lst hogehoge.s
32bit
nasm -f elf -l hogehoge.lst hogehoge.s
64bit
nasm -f elf64 -l hogehoge.lst hogehoge.s
2017/01/31(火) 15:19:20.46ID: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
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
2017/01/31(火) 15:19:40.38ID: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
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
2017/01/31(火) 15:20:22.01ID: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
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
2017/01/31(火) 15:20:52.92ID: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
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
2017/01/31(火) 15:21:28.38ID: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
ライブラリへのリンクを貼るだけで他の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.97ID:dTuvJyk9 うむ
53デフォルトの名無しさん
2017/04/13(木) 02:34:31.58ID:8XBnDqPS こっちだな
54デフォルトの名無しさん
2017/07/20(木) 19:19:38.81ID:7mH9PEZK 64bitないよね
55デフォルトの名無しさん
2017/09/22(金) 20:34:45.97ID:WnQAL/Cu すごく基本的な事でごめんなさい。
db = define byte = 1byte
dw = define word = 2byte
dd = define double word = 4byte
は分かりましたが、
hoge: db 'aaaaaaaaaaaaaaaaaa'
みたいな記述って、aaaaaaaaaaaaaaaaaa は明らかに 1byte 以上あるのに、
どういう事なんでしょうか。内容的には、a しか入っていないという理解で合ってますか?
db = define byte = 1byte
dw = define word = 2byte
dd = define double word = 4byte
は分かりましたが、
hoge: db 'aaaaaaaaaaaaaaaaaa'
みたいな記述って、aaaaaaaaaaaaaaaaaa は明らかに 1byte 以上あるのに、
どういう事なんでしょうか。内容的には、a しか入っていないという理解で合ってますか?
2017/09/22(金) 20:37:06.73ID:WnQAL/Cu
2017/09/23(土) 12:38:38.12ID:fe2KLRAZ
hoge: db 0x61, 0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61
58デフォルトの名無しさん
2018/03/05(月) 14:38:16.42ID:QTTd7ohZ おいしいの?
59デフォルトの名無しさん
2018/05/23(水) 20:14:33.92ID:Au5e7VGg 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
IJOVM
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』
IJOVM
60デフォルトの名無しさん
2018/07/05(木) 01:29:48.73ID:RfoszcD2 VAT
61デフォルトの名無しさん
2018/07/05(木) 11:44:19.13ID:trpgv+Lz タイホ
62デフォルトの名無しさん
2019/03/14(木) 11:26:43.72ID:s2YvJJWc 本太地
63デフォルトの名無しさん
2021/03/10(水) 11:57:19.45ID:GqqrwlDC■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【地震速報】青森県で震度6強 沿岸部に津波警報 ★6 [ぐれ★]
- 「日の丸にバツ印」掲げた大学生 あいまいな国旗損壊罪に「怖い」 The Mainichi [少考さん★]
- 【音楽】BARBEE BOYS・KONTAが事故で四肢麻痺を公表、新体制で活動は継続 [少考さん★]
- 【野球】野球の未来に危機感「マイナースポーツになる」 宮本慎也氏が開催…学童大会 [尺アジ★]
- 中国「捜索レーダー起動は各国の通常の手法」 火器管制用か回答せず [蚤の市★]
- 【訃報】声優・西村知道さん死去 「SLAM DUNK」安西先生役 9月に体調不良のため一時休業 [少考さん★]
- 今股開きながら寝てます♡
- ミニバンって言うけど全然ミニじゃないじゃん…本場のバン見てみるか
- お前らってヘアオイル何使ってるの?
- (´・ω・`)刑務所での暮らしwwwwwwwwwwwwwwww
- 中国「日本のネトウヨを根絶してやるからな」。ネトウヨ、人生が終わる [805596214]
- ぺこーら、地震で同僚が次々配信を止めるなか強行し続けるので悪目立ちするwww [268244553]
