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

アセンブラ 13

1 :
2011/08/28(日) 15:24:40.59
2 :
2011/08/28(日) 15:27:22.39
> アセンブラを勉強するのにいい、unix系の本がありますか?

「プログラミングの力を生み出す本」がわりと良かったのだが在庫切れ増刷未定のようだな。
3 :
2011/08/28(日) 17:58:47.52
カーネルのソースだろ
4 :
2011/08/29(月) 06:06:41.24
>>3
こういう奴って
どのバージョンのカーネルのどのファイルのアセンブラソースさしてんだ

他の奴は答えなくていいから ちょっとお前答えてみろよ

で、そのソースファイルを読むとどういうアセンブラの知識がみに付くのか、言ってごらん


知ったかぶりでカーネルカーネルいってるなら 責任とって死ねよお前
5 :
2011/08/29(月) 08:14:26.79
おまえも2ちゃんねる荒らしの責任とって死ねよ
6 :
デフォルトの名無しさん
2011/09/03(土) 07:38:26.09
>>4
3じゃないがLinux 0.01のboot.s head.sなんかはよんでおいたほうがいいな。
16bit real modeでのBIOS interrupt callの使い方から、32bit保護モードへの以降
gdtr idtr等のディスクリプターテーブル、ページング機構の準備とか。
アセンブリの知識もあるけどx86アーキテクチャの知識も身につく
7 :
2011/09/03(土) 08:41:50.59
うんこぶりぶりあせんぶり
8 :
デフォルトの名無しさん
2011/09/13(火) 08:07:27.52
ザイログ形式以外身につかない
9 :
2011/09/14(水) 14:13:17.97
Z80をIntelニーモニックで解説している本で勉強すればいいんじゃね?
(俺はZilogで覚えちゃったからMOVとかわからんちん)

それ以上の奴をいきなり最初にやるのは敷居が高い気がする
10 :
デフォルトの名無しさん
2011/09/14(水) 16:15:16.64
マシン語レベルで同じなんだから
あとはコンパイラがザイログ形式を受け付けるか受け付けないかの違いでしかない

シンプルで使いやすいザイログ形式がこれだけ干されてるのが不思議だ
8080ニーモニック    Z80ニーモニック
MOV A,M       LD A,(HL)
MOV M,A       LD (HL),A 
LDAX B         LD A,(BC)
LDAX D         LD A,(DE)
STAX B         LD (BC),A
STAX D         LD (DE),A
LDA 1234       LD A,(1234)
STA 1234       LD (1234),A

LD一つで済むだろ
11 :
2011/09/14(水) 17:46:04.25
俺はアセンブラ程度は自分で作ったけど、全部「A=B」のような代入形式にしたな。
12 :
2011/09/14(水) 17:48:15.57
そういえば昔、SMCなんとかという8bitパソコンがそんな感じだったな
13 :
2011/09/14(水) 18:19:48.54
Zilogのはアセンブラがめんどくなるのでメモリ厳しい環境にやさしくない
14 :
2011/10/07(金) 17:08:46.15
0f 01 d8 vmrun
0f 01 d9 vmmcall
0f 01 da vmload
0f 01 db vmsave
0f 01 dc stgi
0f 01 dd clgi
0f 01 de skinit
0f 01 df invlpga

オペコード表には載ってないけどこんな命令あったのか
15 :
2011/10/07(金) 19:22:05.03
AMDV?
16 :
2011/10/07(金) 20:00:51.00
>>15
あーそれでしたどうもです
インテルのマニュアルには当たり前だけど何も載ってないから知らなかった
17 :
2011/10/10(月) 12:39:42.35
longモードで
40 01 00 rex add %eax,(%rax)
01 00 add %eax,(%rax)
この二つは実質的にどういう違いがあるんでしょうか?
18 :
2011/10/10(月) 13:32:41.88
x86で、アセンブラのソースとしては区別がつかない、ことなったバイナリ機械語列が
あることについての疑問?
特に差はないよ。昔からある。
19 :
2011/10/10(月) 13:52:38.18
REXプリフィクスのWビットを作った目的は
新たに増えた8本のレジスタの下位32/16ビットをアクセスするためということでいいんでしょうか?
オペランドサイズを32bitにするだけならREXプリフィックスなしの命令を使えば済むはずですよね
66とREX.Wの二つのフラグがあって分かりにくいです
20 :
2011/10/22(土) 07:51:13.15
C言語に挫折したので、アセンブラから修行しようと思います。
シンプルで学びやすく資料が多いものとなればZ80になりますでしょうか?
定番と呼べる解説書などあったら紹介してください。
21 :
2011/10/22(土) 10:45:32.09
CASL2(情報処理試験用の架空アセンブラ)という手もある
素人向けの資料に関してはかなり多い、試験対策の参考書が大量に出回ってるからな
22 :
2011/10/22(土) 12:06:05.99
CASLはやめとけ。

今時バイトアドレッシングじゃないアーキテクチャで入門の勉強しても、
後でわかりにくくなるだけだ。
23 :
2011/10/22(土) 12:57:19.77
この人のやりたいのはC言語じゃね?
C言語の予備知識つける程度にならあれで充分な気もするが
24 :
2011/10/24(月) 21:59:25.14
>>20
16bitマイコンが良いんじゃない?
秋月その他でキットが買えるルネサスのH8とか、TIのMSP430とか。
どちらも開発ツールは使いやすいとは言えないかもしれんが、
命令セット自体は割とシンプルで癖もなく使いやすい。
25 :
2011/10/25(火) 00:18:32.65
windowsに付いてくるdebugで十分だよ
26 :
2011/10/25(火) 11:44:17.71
いまさら8086の勉強しても…
確実にセグメントで挫折するぞ
27 :
2011/10/25(火) 19:26:24.25
はじめて読む486のx86-64版みたいな本はないのかな。洋書でもいいんだけど。
28 :
2011/10/26(水) 10:31:41.22
>>27
これは?
Professional Assembly Language (Programmer to Programmer) by Richard Blum
http://www.amazon.com/Professional-Assembly-Language-Programmer/dp/0764579010/ref=sr_1_1?ie=UTF8&qid=1319591733&sr=8-1

あと新しめなのが
The Art of Assembly Language by Randall Hyde
http://www.amazon.com/Art-Assembly-Language-Randall-Hyde/dp/1593272073/ref=sr_1_5?ie=UTF8&qid=1319591733&sr=8-5

この本ではHLA (High Level Assembler)というPascalっぽい独自のマクロアセンブラを使ってるね。
http://homepage.mac.com/randyhyde/webster.cs.ucr.edu/index.html
29 :
2011/10/26(水) 22:12:46.54
>>28
勧めてくれてありがたいんだけど、違う種類の本みたい。
30 :
デフォルトの名無しさん
2011/12/12(月) 06:43:54.37
x86で処理実行するコアを指定する命令を教えてください
31 :
2011/12/13(火) 14:17:11.74
それはOSのコマンドだ

cpusetとかな
32 :
2011/12/15(木) 12:52:59.14
>>31
ありがとう。
こういうコマンドはどうやって実装してるのかな?
インテルのx86の説明書読んだけど、見つけられなかった。
33 :
2011/12/15(木) 14:47:12.08
読むもの間違ってる。CPUが勝手にプロセスをスイッチするわけないだろ?
関連する命令は載ってるだろうがそれだけでは何も解決しない。
自分でマルチプロセッサ対応のSMPマルチタスキングスケジューラーを作るなら、BSDかlinuxのカーネルのソースでも読めばいい。
OSがあるならAPI呼べ。
34 :
2011/12/16(金) 03:46:10.74
x86にどんな命令があるかって
インテルから説明書とか仕様書のコピーとかそんな感じのもの買わないと分からない?
35 :
2011/12/16(金) 04:53:53.02
>>33
ありがとう。
ちょっと興味があっただけなんで、時間があれば読みます。
36 :
2011/12/16(金) 06:45:33.41
37 :
2012/02/25(土) 17:08:40.88
x86のアセンブラでプログラミングをしたいのですが、
アセンブラ用のエディタとかIDEとかって無いのですか?
38 :
2012/02/25(土) 18:28:46.64
前世紀にはあった
39 :
2012/02/25(土) 19:01:04.15
emu8086っての使ってた
15日ぐらいの試用でデバッガは使えなくなるけど自己解決しました
40 :
2012/02/25(土) 21:00:01.36
>>39
使ってみましたが、入力画面がバグりますね…。
ググったらFASMのfreshっていうのがけっこう高機能そうなのでこれ使ってみます。
64bit非対応なのが難ですが。
41 :
2012/02/25(土) 21:22:43.11
>>40
そうそう、選んだフォントによってはおかしくなる
自分に合ったのを使った方がいいね
42 :
デフォルトの名無しさん
2012/03/17(土) 17:02:20.04
アッセンブリブリ
43 :
デフォルトの名無しさん
2012/03/17(土) 19:35:52.22
44 :
2012/03/17(土) 20:14:03.22
>>37
Visual C++ 2010 Express でいいじゃん。
http://www.microsoft.com/japan/msdn/vstudio/express/

ASM も C/C++ も使えるし、VB や C# に浮気すんのもラクチンだし、マジオススメ。
45 :
2012/03/18(日) 13:52:08.72
>>37
インラインアセンブラがオススメやで?
逆アセンブルウィンドウとかも勉強になるしな
だから普通のVisual Studioちゃん
46 :
2012/03/18(日) 14:56:52.43
>>43
WinASM以外と凄いな。
あんまりコード書かないで簡単なダイアログアプリ作れちゃったよ
47 :
2012/03/21(水) 03:06:44.48
VirtualPCとかVMwareとかでアセンブルでオリジナルOSとか作れちゃったりする?
48 :
2012/03/21(水) 17:18:52.57
OSならC++でやった方が楽だろう
49 :
2012/03/22(木) 15:41:44.49
この程度のことを自力解決できない様では
何使っても結果は同じだろう
50 :
デフォルトの名無しさん
2012/03/26(月) 02:30:25.17
gasで最近.intel_syntax使い始めたんだけど、
いままで

movw $Label, %SI

って書いてたのを

mov SI, Label

にすると即値代入じゃなくなってしまう。
どうすればいいんだろう。
51 :
2012/03/26(月) 02:34:43.91
intel_syntaxやめればおk
52 :
2012/03/26(月) 02:37:12.06
masm系だとoffset Labelだけど
gasだとintel_syntaxでも$Labelじゃなかったっけ?
自信ないけど。
53 :
2012/03/26(月) 02:38:10.54
そうだ
movじゃなくてleaを使えば良いかも。
本質的な解決じゃないけど。
54 :
2012/03/26(月) 02:45:03.10
>>50
gasなんて所詮はコンパイラの出力をアセンブルする程度のツールなんだから、縁を切るチャンスと思うほうが吉。
55 :
2012/04/14(土) 10:08:42.94
初歩的な質問ですまないけど一つ教えて。
call label_name@xxx
(xxxは整数値)の@xxxは何を意味するのでしょうか?

見かけたのは↓の"call _GetStdHandle@4"などの表記です。
ttp://ja.wikibooks.org/wiki/X86%E3%82%A2%E3%82%BB%E3%83%B3%E3%83%96%E3%83%A9/GAS%E3%81%A7%E3%81%AE%E6%96%87%E6%B3%95
56 :
2012/04/14(土) 11:20:37.16
単にそういう名前の関数なだけです
57 :
2012/04/14(土) 22:23:48.97
呼び出し規約が __stdcall(WINAPI) の場合の、引数の合計サイズですよ。
58 :
2012/04/15(日) 03:55:29.17
>>57
thx.
そういう情報ってどこか集まっているサイトか資料(本とか)あるんですか?
ここで質問する前に結構探したつもりなんですが…。
59 :
2012/04/15(日) 16:20:37.25
>>58
検索するとしたら "アセンブラ 呼び出し規約" かなあ。
例えば↓とか。
ttp://ray.sakura.ne.jp/asm/9.html
60 :
デフォルトの名無しさん
2012/06/21(木) 21:51:25.92
BIOSでhello worldを表示するためのプログラムを作ってみたんですが、何も表示されません。
「mov (%bx), %al」コレがマズイ気がするのですが、表示する方法を教えてもらえませんか?

.code16
.text
_start:
.global _start
mov $msg, %dx
jmp loop1

loop:
mov $0x00, %bh
mov $0x07, %bl
mov $0x0e, %ah
int $0x10
loop1:
mov %dx, %bx
mov (%bx), %al
inc %dx
cmp $0, %al
jne loop

msg:
.ascii "Hello World\r\n\0"
end:
.org 0x200-2
.word 0xaa55
61 :
2012/06/21(木) 22:13:23.04
>>60
動作環境ぐらい書いとけ(つーかその辺りから分かってないだろ?)
62 :
デフォルトの名無しさん
2012/06/21(木) 22:50:24.78
>>61
vmwareです。
正直あまりわかってないけど、昔は同じようなプログラムを作った。
63 :
60
2012/06/21(木) 22:53:34.34
概ねこのサイトのコピペなんですが、どれもちゃんと動かないです。
何も表示されなかったり、文字化けしたり…
http://news.mynavi.jp/column/helloworld/021/index.html
64 :
2012/06/21(木) 23:21:42.01
QEMUは「qemu -fda as_bios3.com」で起動します。
65 :
60
2012/06/21(木) 23:33:32.01
知ってたらでいいんで、文字列の目の前でcallする以外のスマートな方法ありますか?
FreeBSDのブートプログラム見たらそんなのないけど、アセンブラの知識不足でよくわかりません。
66 :
2012/06/21(木) 23:38:44.15
>アセンブラの知識不足
パソコンのBIOSについての知識不足?
67 :
60
2012/06/21(木) 23:40:09.64
それも不足してると思います。
68 :
2012/06/21(木) 23:43:24.94
63に書いてあることはやったの、DOS窓のほう?
69 :
60
2012/06/21(木) 23:46:57.54
一番下以外はvmwareで試しました。(おかしな表示になりました)。
Windowsじゃなくて、LinuxなんでDOS窓では動かしてません。
一番下のは明日やります。

アドバイスくれた人ありがとう。
釈然としませんが、とりあえずcallを使うと上手く行くらしいことだけわかりました。
70 :
2012/06/21(木) 23:57:39.28
linuxならdosemu上でやってみたら
71 :
60
2012/06/22(金) 00:10:17.98
dosemuインストールしましたが、使い方を調べてみます。
72 :
60
2012/06/22(金) 01:07:07.83
http://d.hatena.ne.jp/pakepion/20080602/1212412508
この変見てるとcall使ってないんですが、nasmとgasの違いなのでしょうかね?
73 :
2012/06/22(金) 01:14:32.98
int 0x10
がBIOSコール
74 :
60
2012/06/22(金) 01:16:06.81
>>73
それはわかったのですが、なぜか文字化けor表示されないのです。
>>63のサイトでは、callを使えとあるんですが、いまいち理由がわからず困っています。
75 :
2012/06/22(金) 01:24:53.38
コンパイルオプションの問題でした。
スレを汚してすみません。
76 :
2012/06/22(金) 03:35:26.45
callに呼応しているのはpop %bp。
IA32ではipを直接movしたりip相対でアドレシングすることができないから
その代わり。
77 :
60
2012/06/25(月) 00:29:00.44
>>76
遅くなりましたがありがとうございます。

割り込みに関するIDTRを調べているのですが、1組6byteのテーブルの内容がよくわかりません。
持っている本には、
1byte:ループカウンタ
1byte:P:DPL:タイプ
2byte:制御ワード
2byte:ハンドラへのジャンプテーブル
とあるのですが、ここでループカウンタと制御ワードの意味がわかる方がいれば教えてください。
78 :
2012/06/25(月) 01:49:39.23
IDTRの知識を必要とするレベルには、とても見えないのだけれど。


万が一本当にその知識が必要なのであれば
http://www.intel.com/jp/download/index.htm#ia32 の中の
下巻: システム・プログラミング・ガイド
http://download.intel.com/jp/developer/jpdoc/IA32_Arh_Dev_Man_Vol3_i.pdf
でも読むといいかもね。
79 :
2012/06/25(月) 09:00:36.87
根本的におかしすぎてどうしようもないレベル
80 :
2012/06/27(水) 01:56:38.88
BIOSでHelloWorldを表示ってどういう意味だ?
81 :
デフォルトの名無しさん
2012/06/27(水) 23:21:56.66
NASMで「mov byte [es:edi], al」をgasで書き換えるとどうなるでしょうか?
82 :
2012/06/27(水) 23:32:33.46
>[es:edi]
?
83 :
2012/06/27(水) 23:44:32.19
mov %es:(%di),%al
84 :
2012/06/28(木) 00:10:36.43
>>83
ありがとう。
85 :
2012/06/28(木) 18:48:03.33
こういうのってバイナリで書いてnmの逆汗オプションで調べられないかな
86 :
2012/06/28(木) 18:53:10.88
今時バイナリを直で作るほうが大変でしょ
87 :
2012/06/28(木) 22:54:47.43
int main(void)
{
 __asm__("nop\n\tnop\n\tnop\n\tnop\n\tnop");
}
てのをコンパイルして、nopの所を適当なコードに書き換えてしまえばいいんでないかい
88 :
2012/06/28(木) 23:00:12.45
インライン書くのなら、中身に直書きしたほうが
89 :
2012/09/26(水) 19:30:11.06
nasm hoge.asm -o hoge.img
で良いじゃん。中身が単一の命令なら、それだけ吐き出されるだろ?
90 :
デフォルトの名無しさん
2012/10/08(月) 02:03:11.10
おすすめのアセンブラをおせーて
91 :
2012/10/08(月) 02:08:26.63
どんなアセンブラがお望みだい
x86系かい
armかい
役にたってもたたなくても、ともに300ルピーだよ
いっひっひ
92 :
2012/10/08(月) 02:52:39.98
>>90
MicrosoftのMACRO-80はインテルニモニックにもザイログニモニックにも対応してるので超オススメ!
マクロも強力だし、最新版は6502にも対応してるヨ!
93 :
2012/10/08(月) 03:55:52.59
★修学旅行、韓国から国内に変更…宮崎・日南高

 日本と韓国の関係悪化を受けて、宮崎県立日南高は2年生27人が12月に予定していた韓国への
修学旅行を国内に変更した。

 日南高によると、同校の修学旅行は韓国と国内の二つから選べることになっており、今年は2年生
170人のうち、143人が東京や群馬などの国内を選択。27人が同校の姉妹校・冠陽高があるソウル
などへの旅行を希望していた。

 竹島問題などを巡って、日韓関係が悪化していることから、韓国への修学旅行について慎重に検討した
結果、「韓国の情勢が不透明で、生徒の安全などを考慮した」として、行き先を国内に一本化したという。

 県内の別の高校も来年3月に計画している韓国への修学旅行について、変更を検討しているという。

http://www.yomiuri.co.jp/kyoiku/news/20121006-OYT8T00695.htm
94 :
2012/10/08(月) 06:37:40.09
韓国より台湾へ行けば良いのに
95 :
2012/10/08(月) 09:58:10.52
尖閣問題で台湾だっていつ敵になるかわからんのに平和ボケもいいところだな
96 :
2012/10/08(月) 10:27:00.15
工作員ですね
わかります
97 :
2012/10/08(月) 15:19:54.96
ν速に帰れ
98 :
デフォルトの名無しさん
2012/10/08(月) 15:23:18.91
>>92
MASM はどう?
99 :
2012/10/08(月) 15:25:30.06
nasmのがいいよ
100 :
2012/10/09(火) 02:15:29.52
gasは?
101 :
2012/10/09(火) 04:41:11.49
no hit
102 :
2012/10/16(火) 22:14:24.79
gasもnasmも大して変わらんよ
アセンブラ独自の部分は
103 :
2012/11/05(月) 01:27:09.80
MOVNTDQなどでIA-32アーキテクチャ解説書に書かれている「非テンポラルなヒントを使用して、
メモリへの書き込み時にデータがキャッシュしないように防ぎ…」の「非テンポラルなヒント」とは何を指しているんでしょうか?

何かトンチンカンな思い違いで、基本的な事が分からなくなってる気もするのですが…。
104 :
2012/11/05(月) 08:18:54.46
move対象のデータがnon-temporalである(つまり、次々に別のデータを
処理していくストリーミング型である。だからキャッシュに入れても
意味ないのでやめてね)というヒント、じゃないのかな?
105 :
2012/11/05(月) 08:31:00.31
ところでキャッシュ汚染て表現止めてほしくね?
106 :
2012/11/05(月) 11:21:53.16
なんで
107 :
デフォルトの名無しさん
2012/11/06(火) 17:15:20.34
PGM STRT
LD GR5,DD
LAD GR1,3
LD GR6,DD,GR1
ADDA GR5,GR6
ST GR5,EE
RET
DD DC 5,6,7,8
EE DS 1
END

レジスタGR5の値(10進数)
レジスタGR1の値(10進数)
レジスタGR6の値(10進数
レジスタGR5の値(10進数)

を教えてください。
108 :
2012/11/06(火) 17:25:11.69
宿題はまず自分で考えれ
109 :
2012/11/06(火) 22:30:04.17
順番に読めよ・・・
単純にデータを読んで足して入れてるだけだ。まず自分の考えを書いてみな

それで間違ってるようなら、どこが、どのようにを教える気にもなる
110 :
デフォルトの名無しさん
2012/11/08(木) 03:29:29.25
>>107
caslか。。。
LD命令とLAD命令の違い、指標レジスタの使い方とか大丈夫なのかな。
テキストある?
111 :
2012/11/08(木) 04:37:42.31
レジスタGR5の値(10進数) 5
レジスタGR1の値(10進数) 3
レジスタGR6の値(10進数) 8
レジスタGR5の値(10進数) 13 じゃね?
112 :
2012/11/08(木) 11:13:17.35
なんで

>レジスタGR5の値(10進数)

が二つあるんだ?
113 :
2012/11/08(木) 16:13:26.75
途中で変化するから
114 :
2012/11/08(木) 16:35:24.15
だったらせめて行番号かアドレス書いて、どの時点でのGRnの値とかって聞く罠
115 :
2012/11/08(木) 16:52:04.65
宿題は自分でやれカス
116 :
2012/12/05(水) 01:32:12.27
movzbq (%rax,%rcx,8),%rax
()の中を、どう読んだらいいのか、わからない、教えてちょ
gdbの逆汗ですです
117 :
2012/12/05(水) 01:40:30.35
>>116
>movzbq (%rax,%rcx,8),%rax
>()の中を、どう読んだらいいのか、わからない、教えてちょ

「パーセントアールエーエックスカンマパーセントアールシーエックスカンマはち」
118 :
2012/12/05(水) 02:56:30.60
バイナリコードの方から解析したよ、読み方ありがとう
119 :
2012/12/08(土) 02:05:05.38
>>116
rax + rcx * 8
120 :
2012/12/08(土) 02:24:08.56
どもども
謎なx86な環境の謎なjitを動かそうとしてハマりまくってたけど、なんとか動いたよ
121 :
2012/12/08(土) 07:59:53.85
gdbの逆アセはgas表記と同じじゃないのかい?
122 :
2012/12/08(土) 13:13:58.02
gas記法なんて大嫌いだー
123 :
2012/12/08(土) 13:39:08.43
gas記法がすきー。
124 :
2012/12/08(土) 14:09:20.53
>>116さんので気になって探してみたけど、gdbの使い方はたくさん出てくるのに
逆アセンブラ出力の記法の説明は特に見当たらなかった。

なので、デフォルトの設定でgasと同じかなと思ったんだけど。。。
125 :
2012/12/08(土) 14:29:39.98
x86の16bit汗はよくやってったんだけど
32bit以降は久しぶりで、まさか、汗の解釈が出来なくてハマったという
オチでした(中で何やってるかわからず、当てずっぽうだから余計)
C系の逆汗はたまに覗くぐらいだったからね
セグホしまくりのコケまくりでなかなか先に進めなかった
ここの解説に助けられました
ttp://www.mztn.org/lxasm64/amd05.html
126 :
2013/01/05(土) 18:11:23.41
どなたか知者にお願いします、C言語系列(派生言語、類似言語)以外で

インラインアセンブラを表記できる高級言語には何があるか教えてくれませんか?
127 :
2013/01/05(土) 18:15:03.53
色々あるよ
128 :
2013/01/05(土) 19:05:38.14
「インラインアセンブラ」「言語」でぐぐるだけでもいくつか見つかるんだが。。。
129 :
2013/01/05(土) 20:48:23.89
ネイティブバイナリ生成できる言語なら何かしらの手段が用意されとると思うが

昔のTurbo Pascalみたいにバイナリ直で書けなんてこともあったりして
130 :
2013/01/05(土) 21:03:43.11
CでもANSI以前にはasmが予約語だったってだけでインラインアセンブラの実装は
処理系依存だし、その他の言語でも処理系に拠るのは同様だろう。
131 :
2013/01/05(土) 21:09:46.25
>>128
その程度の努力もしない相談者ということでしょう。相手しないに限る。
132 :
デフォルトの名無しさん
2013/01/05(土) 21:20:56.47
そんなこと言うとそこで話が終わっちゃうけど、

・実はこんな言語でインラインアセンブラにはまってるところ
・このあたりが最近ホットだよ

などと答えれば話が盛り上がるし、思わぬ発見にも出会えようかと言うもの
133 :
2013/01/05(土) 21:29:05.22
インラインアセンブラなんてほぼ横着の方法だしなあ、盛り上がるような話題ではないと思う。
134 :
2013/01/05(土) 21:55:17.81
それ以前にこのスレがそもそも・・・
135 :
2013/01/08(火) 12:02:37.21
的外れな回答するなら無視しろよwww
>>131
ググル程度では使えるかは>>129が言っている話となんの違いもない。
言語仕様として実装しているかとか考えられないなら黙っていろよww
136 :
2013/01/08(火) 12:05:07.10
>>135
>言語仕様として実装しているかとか考えられないなら黙っていろよww

聞きたい内容なら相談者が明記すべきでしょ
137 :
2013/01/08(火) 14:00:48.26
>>135
君みたいなのが黙ってればいいんだよ

分からないから出て来るんだろうけどさw
138 :
2013/01/08(火) 15:38:51.07
>>126
>どなたか知者にお願いします、C言語系列(派生言語、類似言語)以外で
>
>インラインアセンブラを表記できる高級言語には何があるか教えてくれませんか?

学校の宿題?
139 :
2013/01/13(日) 04:09:05.19
Dちゃん
140 :
2013/01/16(水) 05:12:57.75
インラインアセンブラが必要なことがある高級言語を探すほうが難しいような、C系以外で
141 :
2013/01/16(水) 05:23:30.13
ネイティブコード吐く手続き型言語ならインラインアセンブラの機能ぐらいあっても不思議はないだろ。
142 :
2013/01/16(水) 05:29:40.29
中間コードをネイティブコードにして実行するのが今時の流行りじゃあ
143 :
2013/01/16(水) 08:14:23.87
>>140
んで高級言語に欲しい機能はCで書くものだしなあ
144 :
2013/08/21(水) NY:AN:NY.AN
145 :
デフォルトの名無しさん
2014/01/08(水) 00:36:24.80
Apple、1万行の手動で最適化されたアセンブリー・コードを書いたカメラアプリ会社を買収
http://hayabusa3.2ch.net/test/read.cgi/news/1389101880/
146 :
2014/01/08(水) 23:17:13.77
コンソールいじるのにwinapi叩かないといけないなんてwindowsさんひどい
147 :
2014/01/09(木) 17:34:23.99
インランニッセンブラ
148 :
2014/01/11(土) 04:40:19.77
インラインアセンブラと聞いただけでこれほど荒れるって、
どんだけキチガイがたくさんいるの?w
149 :
2014/01/11(土) 04:52:35.02
こんなんで荒れてるように見えるとは、2ch見たことない人?
150 :
2014/01/12(日) 07:13:03.69
2chっつーか、ム板だけでここより荒れてるスレくらいいくつも見つかる
151 :
2014/01/12(日) 14:13:14.12
下を見てもきりがない2ちゃんねるで何の自慢にもならん
152 :
2014/01/12(日) 14:30:29.94
下を見るも何もレベルだけど
153 :
デフォルトの名無しさん
2014/02/24(月) 19:27:58.02
おすすめ書籍とかサイトなど御座いますか?
154 :
2014/02/24(月) 19:33:14.78
ないですね。
155 :
2014/04/14(月) 09:26:43.43 ID:UaoAtYI0
>>33
それをOSのスケジューラやVMが管理しているとしても
最終的にはCPUに何らかの命令が下って切り替わるわけだろ
156 :
2014/04/14(月) 14:48:49.31 ID:a6eUEmJs
157 :
デフォルトの名無しさん
2014/04/24(木) 20:23:29.80 ID:6eU9esML
日本語アセンブラは、誰も作らないね。
158 :
2014/04/24(木) 22:57:56.87 ID:mnsZs1hI
せいぜい単語レベルで置き換えるトランスレータかますくらいだろ
159 :
デフォルトの名無しさん
2014/04/27(日) 08:31:04.45 ID:zK6QyGSs
; こんな感じか?

スタート:
    コピー dl,データ1
    加算 dl,データ2
    加算 dl,'0'

;日本語にすると、ド偉く開発効率が下がりそうなのはなぜ?
;母国語でわかりやすいはずなのに。
160 :
2014/04/27(日) 10:00:35.74 ID:tMnP8Ntb
半角カタカナに統一するのが美しい
161 :
2014/04/27(日) 10:04:29.21 ID:1OZV8jfJ
>>159
IMEが間に入るからじゃね?
確定させるまでに文字の誤爆もあったりとか。
162 :
2014/04/27(日) 13:03:08.45 ID:tMnP8Ntb
アセンブラなら横にクソ長くなることはないから
IDEが領域分けて日本語名を表示してくれるだけでいい気がする
163 :
2014/04/27(日) 13:16:43.49 ID:3jdeqCLN
>アセンブラなら横にクソ長くなることはないから

1行にマルチステートメントで複数命令を記述できるアセンブラもあるし、
同時に動作する複数のバスの動作を1行に記述するのが前提のもあるし、色々だよ。
164 :
,,・´∀`・,,)っ-○○○
2014/04/27(日) 14:17:19.42 ID:KmoJaXUX
プリプロセッサマクロでレジスタにCみたいな変数名をつけたり
ループや条件分岐の構造をわかりやすくする為にインデント使う
こともあるから、長さに関してはそこまで変わらない。

AVX以降多いよね、Cで書かせる気ねーだろってくらい長い名前の
組み込み関数とか
165 :
2014/04/27(日) 19:42:17.93 ID:SzXvbhKQ
まずカナ入力の練習からだな
ていうか、命令はひらがな中心で行くべき
特に使用頻度の高そうなものは
166 :
,,・´∀`・,,)っ-○○○
2014/04/29(火) 00:44:32.64 ID:npAIF076
自分でNASMなりYASMなりのプリプロセッサ書いてみりゃいいんじゃねーの
grepとか使えば余裕だろ

AVX-512のマスクやSAE指定で使う{}はRubyの構文ならブロック扱いになるから
普通に使えるよなと思って「Xbyak on Rails(仮)」を書き始めて3時間で放り投げ
よく考えたらこんなもんいらねー
167 :
2014/04/29(火) 14:02:57.00 ID:r7Yti7RZ
ここでも団子ちゃん劇場はっじまっるよー
168 :
2014/04/29(火) 20:26:27.87 ID:SKXPOdzO
>>166
> 自分でNASMなりYASMなりのプリプロセッサ書いてみりゃいいんじゃねーの
> grepとか使えば余裕だろ

grep?
169 :
,,・´∀`・,,)っ-○○○
2014/04/29(火) 20:30:54.99 ID:npAIF076
スクリプト言語組み込みのgrep関数の意味ね
170 :
2014/08/15(金) 00:05:10.04 ID:mDj9iSl8
HaswellのTSX命令にバグありでマイクロコードで無効にされるってマジかよ
しかもBroadwellの初期ステッピングまで響くかもしれないなんて言われてる
171 :
2014/08/15(金) 06:32:27.83 ID:PlgCpoEN
Errata prompts Intel to disable TSX in Haswell, early Broadwell CPUs
ttp://techreport.com/news/26911/errata-prompts-intel-to-disable-tsx-in-haswell-early-broadwell-cpus

目玉の新機能がバグw
自動車だったらリコールだな
172 :
2014/08/15(金) 09:23:21.21 ID:Lne+Px+X
Pentiumの頃にもあったね
173 :
2014/10/24(金) 23:21:06.42 ID:60xLGkt4
>>157
名前(オペランド)だけでいい、オペレータまで日本語化する必要はない
174 :
2014/10/24(金) 23:31:49.40 ID:9fhBZmJB
MOV EAX,1234+5678 ←オペランド
 ↑  ↑   ↑
 ニ   オ   オ
 モ   ペ   ペ
 ニ   ラ   レ
 ッ   ン   |
 ク   ド   タ
175 :
2014/10/24(金) 23:52:02.58 ID:60xLGkt4
おいおい、"EAX" も "1234+5678" もオペランドだろう、オペレータはまずかったなオペコードというべきだったか‥
176 :
2014/10/25(土) 00:09:13.63 ID:zlhvJX1z
>>175
  0: a1 00 1b 00 00 MOV EAX,1234+5678 ←オペランド
  ↑      ↑   ↑  ↑   ↑
  オ      オ    ニ   オ   オ
  フ      ペ    モ   ペ   ペ
  セ      コ    ニ   ラ   レ
   ッ      |    ッ   ン   |
   ト       ド    ク   ド   タ
177 :
2014/10/25(土) 04:17:33.76 ID:SJUwgBZk
>174のオペレータって+を指してんじゃ
178 :
デフォルトの名無しさん
2014/10/25(土) 05:39:41.70 ID:OBw5xvhC
馬鹿には無理
179 :
2014/10/25(土) 18:11:01.93 ID:gl6O+QH9
>>177
その"+"はアセンブラがアセンブル時に演算するものであり、ターゲットのCPUが演算するわけではないのだから、オペレータとはいわないね‥
"1234+5678" 全体で一つのオペランドだ
180 :
2014/10/25(土) 18:16:38.82 ID:zlhvJX1z
>>179
http://www.sourceware.org/binutils/docs-2.10/as_6.html
> 6.2.2 Operators
> Operators are arithmetic functions, like + or %. Prefix operators are followed by an argument.
181 :
2014/10/25(土) 18:27:07.14 ID:Q/xi2e+W
恥ずかし///
182 :
2014/10/26(日) 13:12:48.49 ID:eoLX8RNk
>>180
だからそれはアセンブラ層で扱うオペレータだとなんどいったら‥
183 :
2014/10/26(日) 13:19:22.74 ID:gMYGq5V7
レジスタも実際はオペコードに含まれてるケースも多いので
EAX がオペランドになってるのは違和感がある
184 :
2014/10/26(日) 15:59:27.98 ID:hUa4ZeCn
>>182
> 157 デフォルトの名無しさん:2014/04/24(木) 20:23:29.80 ID:6eU9esML
> 日本語アセンブラは、誰も作らないね。

> 173 デフォルトの名無しさん [sage]:2014/10/24(金) 23:21:06.42 ID:60xLGkt4
> >>157
> 名前(オペランド)だけでいい、オペレータまで日本語化する必要はない

という話の流れだからアセンブラの話で合ってるよ。
185 :
2014/10/26(日) 16:01:08.50 ID:hUa4ZeCn
>>183
> レジスタも実際はオペコードに含まれてるケースも多いので

ちょっと何言ってんのか分からんからネットで確認できる実例挙げてよ。
186 :
2014/10/26(日) 16:05:19.65 ID:eoLX8RNk
マシン語レベルで言っていると思われ
187 :
2014/10/26(日) 16:14:01.73 ID:hUa4ZeCn
マシン語の話はスレ違ですね。
188 :
2014/10/26(日) 18:05:55.37 ID:eAcs35DC
ああ、x86のオペランドがAX固定の命令みたいな奴のことを指してるのかな。
そのへんは命令のネーミングの問題という感じもあって、(仮に名づけるなら)
ADDAXとかMOVAXみたいな名前の別の命令にしちゃったりすることもあるので、
まぁあまり厳密に定義はできないから、議論する意味はあまりないね。
189 :
2014/10/27(月) 06:34:42.02 ID:Yycbgmpy
例えばMC6800のLDAAとかADDBみたいなののこと?
あれはニモニックの一部にレジスタ名が含まれてるだけでオペランドとは違うよ。
190 :
2014/10/27(月) 09:36:01.62 ID:wK4QYAC1
ちょっと何言ってんのか分からん
191 :
2014/10/27(月) 12:12:42.89 ID:VoSGhOqg
x86で、アセンブリ言語では「ADD AX, 1」の「ADD」はオペコード(インストラクション、命令)、
AXと1はオペランド(引数)というように明確に分離できる。

機械語では 0x05 0x0001 となるが、ここでADDを意味する部分とAXを意味する部分は
0x05に一緒に入ってしまっていて分離できない(正確には5のLSBでALとAXのどちらかを
選択しているけど)。

結論としては、オペランド(の1部)がハードコードされた命令という奴があるので、
オペコードとオペランドの区切りはかならずしも明確ではない、ということになる。
192 :
2014/10/27(月) 18:03:20.01 ID:EJb5dfUa
命令セットのリファレンスにAVX512のことも追加されてたのか
https://software.intel.com/sites/default/files/managed/59/6a/319433-021.pdf
193 :
2014/11/29(土) 14:11:28.92 ID:m0w/xFX/
>>191
極少数の命令だけだけどオペコードのバイトにregフィールドがある命令があるな
通常はオペランドはr/mバイトにあってオペコードとオペランドは完全に分離できるけど
194 :
2014/11/29(土) 15:58:54.98 ID:FcCIdxC+
アセンブラとマシン語が混ざって元々意味の無い話がやっぱり意味の無い話で回ってるね

更に遡ってくと元は日本語アセンブラか。。。本当バカ臭い
195 :
2015/02/15(日) 17:06:10.18 ID:eXfPDQZo
基本情報技術者試験でアセンブラ勉強しはじめた。
午後の選択問題で、アセンブラが簡単だと聞いたが…。
いまのところわけわからん。
196 :
2015/02/15(日) 17:24:08.94 ID:1vS2ESBG
https://www.jitec.ipa.go.jp/1_13download/shiken_yougo_ver2_2.pdf
>3.プログラム言語
>@ 基本情報技術者試験において,ソフトウェア開発分野に関する試験問題に出題するプログラム
>言語は,C,COBOL,Java,アセンブラ言語(CASLU)の 4 言語とする

CASLなんて役に立たないもの勉強なんてしないで普段使ってるものか将来使いそうなの勉強したほう
いいんじゃない

# FORTRANて今ないんだなー
197 :
2015/02/15(日) 18:30:34.63 ID:Qwk5nQv8
二つやらないといけないそうだからな‥C と Java か‥
198 :
2015/02/15(日) 18:30:56.51 ID:bX6frV1s
アセンブラはセンター試験の数IIb並みに簡単
199 :
2015/03/07(土) 09:37:26.18 ID:G+snOoOp
文法がってだけでアルゴリズムは別だけどな
200 :
2015/03/08(日) 09:27:59.15 ID:/MgTL3zQ
センター試験とか簡単なことを難しそうに見せて
というか問題(の意図)を判り難くして回り道させて
出題者側が時間稼ぎしてる感じしかしない
201 :
2015/03/08(日) 19:21:25.65 ID:/s2hhMUc
センターの問題はスレチである
202 :
2015/04/21(火) 16:40:55.21 ID:3mVW08s5
gccの-Sオプションでアセンブラファイルを作成したら日本語文字列が
.ascii "%d\202\252\223\374\227\315\202\263\202\352\202\334\202\265\202\275\12\0"
みたいになったんですがこれは何でしょうか
ascii 日本語で検索しても出て来ません
203 :
2015/04/21(火) 17:06:23.70 ID:hJeBiy6y
>>202
「が入力されました」をShift_JISでエンコードして各バイトがASCII範囲外なので8進表記したもの
204 :
2015/04/21(火) 17:23:12.27 ID:3mVW08s5
>>203
ありがとうございます!
205 :
2015/04/22(水) 01:59:38.10 ID:ZIHXAufW
>>203
よく分かったな
206 :
2015/09/18(金) 17:48:02.84 ID:wbP5mHQw
mov eax, cr0
or eax, 1
mov cr0, eax
207 :
2015/09/18(金) 19:23:40.98 ID:HCQXhwcr
jmp $+2
208 :
2016/03/29(火) 18:34:55.24 ID:jDRKX2rB
マイコンで初めてアセンブラ書いてるけどスパゲッティおいしい
209 :
デフォルトの名無しさん
2016/07/01(金) 15:31:07.82 ID:EjQpOL5h
@
add dword ptr[i], 1

A
mov eax, dword ptr[i]
add eax, 1
mov dword ptr[i], eax

ってどう違いますか?

i++を逆アセするとAになりますが
インアセンブラで@と書いても一見同じようですが
3倍の速度ってわけではないですよね
210 :
2016/07/01(金) 15:39:37.74 ID:r+VXjd7G
コンパイラが2のようなコードを吐くのは、そっちの方がトータルで速いから

デコーダだの複雑命令だの
並列実行だのoooだの
パイプラインだのマイクロ命令だの
そういうのが理由


端的に言えば、1の命令は複雑すぎるので
分解して複数命令にして実行したり使えるデコーダが限られたり、制限が多い
2は、比較的CPUの内部命令に近いので、他の命令と同時並列に実行したり出来る
211 :
2016/07/01(金) 16:33:41.91 ID:wNtMwO0s
なんで inc にならないし
212 :
2016/07/02(土) 02:29:37.38 ID:YYGT6hvg
>>209
多分だけど
レイテンシは同じだが前者はポート掴みっぱなしで他の命令を動かせない
後者は分けるから他の命令を動かしやすい

>>211
多分、Pentium 4時代はaddの方がuOPとスループットが有利だったから
213 :
2016/07/02(土) 03:34:14.20 ID:m5Sb4+fO
レイテンシがどうのとかそういうレベルの話じゃなくて
単純にVC++のデバッグビルドだからじゃねーの
214 :
2016/07/03(日) 22:50:54.17 ID:HbQeSe9b
x=x+1
x++
215 :
2016/07/09(土) 00:41:22.05 ID:2eBD2sS9
CPUをFPGAで実装してみたらわかると思うけど
一つの命令の中でメモリをリードした後ライトする命令をサポートするISAと
そういう命令は持たないで一つの命令の中ではメモリはリードするだけかライトするだけのISAでは実装の複雑度はかなり違うよ
216 :
2016/07/09(土) 00:52:38.73 ID:2eBD2sS9
もちろん排他制御のためにどんなISAでもtest and set的な命令は持つ必要があるけど
主眼は使用頻度が高い演算とか操作の話だからね
217 :
デフォルトの名無しさん
2016/07/09(土) 12:51:47.63 ID:7UqK6Tzf
確かにmemory to memoryのオペレーションはRISCだと命令長が合わないから無理だよね。
無理やりやるならレジスタAのアドレスをロードしてincしてストアするとかになるから命令が複雑すぎるかもな。
218 :
2016/07/09(土) 18:48:07.98 ID:J471aLuE
memory mapped register を持った RISC もあったような
219 :
デフォルトの名無しさん
2016/07/09(土) 20:01:55.81 ID:xdnyrY55
レジスタに書くとメモリに転送されんの?知らんかった。
命令のサイクルとかむちゃくちゃになりそうだな。CPUのコアじゃなくて、SOCとかで勝手に拡張した擬似レジスタなのかな。
220 :
2016/07/10(日) 02:43:35.42 ID:SHJN9j5A
6502のことじゃないの?
221 :
名無しさん@そうだ選挙に行こう! Go to vote!
2016/07/10(日) 12:42:16.29 ID:BKklAOmg
6502はそういうレジスタないよ。アドレッシングが癖があるけど。
ちょうど今FPGAで6502組んでるとこなんだよね。
222 :
名無しさん@そうだ選挙に行こう! Go to vote!
2016/07/10(日) 19:39:37.06 ID:EY1v+Nkp
6809かな
223 :
デフォルトの名無しさん
2016/07/10(日) 20:11:16.85 ID:BKklAOmg
サンクス!
昔のCPU好きなんだよね。調べて見よっと
224 :
2016/07/10(日) 21:50:59.66 ID:hJGonyaW
いろいろいい加減な型番出てるが
TIのTMS9900調べとけ
225 :
デフォルトの名無しさん
2016/07/10(日) 22:09:22.43 ID:BKklAOmg
なんかいっぱい出てきたな。。。
見てみるよ。あざす
226 :
2016/08/05(金) 16:24:48.98 ID:VZHGn81X
話の流れをぶった切って申し訳ないんだが、
armv8のインラインアセンブラとかの質問をここでしてもいい?
227 :
2016/08/05(金) 16:26:36.74 ID:VZHGn81X
レスの日付を見てなかった(^^;
上の質問は取り消します、さいならw
228 :
2016/08/05(金) 18:54:34.14 ID:OgtmDK03
別にいいと思うけどさようなら
229 :
2016/08/25(木) 23:40:32.30 ID:Eq6gD2XE
新しく出てたプログラム本を何気なく手にとって読んでみたらアセンブリ言語中心の内容だったな
タイトル忘れた
230 :
2016/08/26(金) 19:17:48.18 ID:MFwM+FIX
>>229
>タイトル忘れた

思い出せよボケ老人
231 :
2016/08/26(金) 19:30:01.69 ID:c/QRPG4e
64ビット時代のアセンブラの入門書がないかな?
232 :
2016/08/26(金) 21:36:42.60 ID:NyhYMJrx
命令長が違うだけで32ビットのニーモニックとあんま変わらんよ。
入門書読みたけりゃ32ビットので勉強して、リファレンスマニュアルを探せばいいと思う。
64ビットの固有の命令とかコントロールレジスタの事なんかは入門書では書く必用ないしね。
233 :
2016/08/27(土) 05:42:44.15 ID:Dx6e3moq
プログラムの不思議を解く―実力派プログラマのための教養としてのアセンブラ入門
234 :
デフォルトの名無しさん
2016/08/27(土) 08:42:35.36 ID:SmFG8gRK
      ク    ク || プ  //
      ス  ク ス  | | │ //
       / ス    | | ッ //   ク   ク  ||. プ  //
       /         //   ス ク ス _ | | │ //
         / ̄ ̄\     /  ス   ─ | | ッ //
       /  _ノ  .\     /         //
       |  ( >)(<)       ___
.        |  ⌒(__人__)     ./ ⌒  ⌒\
        |    ` Y⌒l    /  (>) (<)\
.         |    . 人__ ヽ /  ::::::⌒(__人__)⌒ \
        ヽ         }| | |        ` Y⌒ l__   |
         ヽ    ノ、| | \       人_ ヽ /
.         /^l       / /   ,─l       ヽ \
235 :
2016/08/28(日) 18:25:25.47 ID:TLCNAGVS
はい
236 :
2016/09/02(金) 14:49:44.53 ID:LW5U/QZl
うんこしてきていい?
237 :
2016/09/02(金) 15:37:28.76 ID:tIJhbCeG
逝っトイレ
238 :
2016/11/12(土) 13:36:24.90 ID:5D/kJ823
「ほら吹き男爵の本を5冊調べました(中略)
ブーツの紐を引っ張って湖の底から脱出する
という話は、書かれていません(中略)
ブートストラップ(bootstrap)とは直訳すれば、ブーツのひもである。しかし、
独力でやるという派生した意味を持ち、そこから、
コンピュータが電源投入時に自動的にOSを読み込む方式を指したり、
コンパイラが自分自身を記述したりすることを指したり(中略)
bootstrapを靴紐とした誤訳である。
Bootstrapとはブーツを履くときにブーツを引っ張る上げるためのつまみ革
ブートストラップを引っ張って湖の底から脱出する
というエピソードは書かれていない。しかし類似の話として
馬ごと沼に落ちた Munchausen が手で自分の髪の毛をつかんで自分自身と馬とを引っ張り上げて沼から脱出する
というエピソ−ドが書かれている(挿絵つき)。岩波文庫版」

http://suzuki-tokuhisa.com/ushigome/hinoue.html
2000/12/24(Sun)
239 :
2017/03/22(水) 18:34:09.35 ID:PmucqYS5
https://www.amazon.co.jp/dp/4839954747/
https://pbs.twimg.com/media/CMHpkNQWwAAfWJq.png

この本買ったんだけど中身は文章とソースコードしかなかった
240 :
2017/03/22(水) 20:13:36.84 ID:wpBrYFTt
当たり前w
63KB

新着レスの表示

★スマホ版★■掲示板に戻る■全部前100次100最新50

名前:E-mail: