アセンブラ 13

■ このスレッドは過去ログ倉庫に格納されています
2011/08/28(日) 15:24:40.59
前スレ
http://pc11.2ch.net/test/read.cgi/tech/1187079488/
2012/10/09(火) 04:41:11.49
no hit
2012/10/16(火) 22:14:24.79
gasもnasmも大して変わらんよ
アセンブラ独自の部分は
2012/11/05(月) 01:27:09.80
MOVNTDQなどでIA-32アーキテクチャ解説書に書かれている「非テンポラルなヒントを使用して、
メモリへの書き込み時にデータがキャッシュしないように防ぎ…」の「非テンポラルなヒント」とは何を指しているんでしょうか?

何かトンチンカンな思い違いで、基本的な事が分からなくなってる気もするのですが…。
2012/11/05(月) 08:18:54.46
move対象のデータがnon-temporalである(つまり、次々に別のデータを
処理していくストリーミング型である。だからキャッシュに入れても
意味ないのでやめてね)というヒント、じゃないのかな?
2012/11/05(月) 08:31:00.31
ところでキャッシュ汚染て表現止めてほしくね?
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進数)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

grep?
169,,・´∀`・,,)っ-○○○
垢版 |
2014/04/29(火) 20:30:54.99ID:npAIF076
スクリプト言語組み込みのgrep関数の意味ね
2014/08/15(金) 00:05:10.04ID:mDj9iSl8
HaswellのTSX命令にバグありでマイクロコードで無効にされるってマジかよ
しかもBroadwellの初期ステッピングまで響くかもしれないなんて言われてる
2014/08/15(金) 06:32:27.83ID: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
自動車だったらリコールだな
2014/08/15(金) 09:23:21.21ID:Lne+Px+X
Pentiumの頃にもあったね
2014/10/24(金) 23:21:06.42ID:60xLGkt4
>>157
名前(オペランド)だけでいい、オペレータまで日本語化する必要はない
2014/10/24(金) 23:31:49.40ID:9fhBZmJB
MOV EAX,1234+5678 ←オペランド
 ↑  ↑   ↑
 ニ   オ   オ
 モ   ペ   ペ
 ニ   ラ   レ
 ッ   ン   |
 ク   ド   タ
2014/10/24(金) 23:52:02.58ID:60xLGkt4
おいおい、"EAX" も "1234+5678" もオペランドだろう、オペレータはまずかったなオペコードというべきだったか‥
2014/10/25(土) 00:09:13.63ID:zlhvJX1z
>>175
  0: a1 00 1b 00 00 MOV EAX,1234+5678 ←オペランド
  ↑      ↑   ↑  ↑   ↑
  オ      オ    ニ   オ   オ
  フ      ペ    モ   ペ   ペ
  セ      コ    ニ   ラ   レ
   ッ      |    ッ   ン   |
   ト       ド    ク   ド   タ
2014/10/25(土) 04:17:33.76ID:SJUwgBZk
>174のオペレータって+を指してんじゃ
178デフォルトの名無しさん
垢版 |
2014/10/25(土) 05:39:41.70ID:OBw5xvhC
馬鹿には無理
2014/10/25(土) 18:11:01.93ID:gl6O+QH9
>>177
その"+"はアセンブラがアセンブル時に演算するものであり、ターゲットのCPUが演算するわけではないのだから、オペレータとはいわないね‥
"1234+5678" 全体で一つのオペランドだ
2014/10/25(土) 18:16:38.82ID: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.
2014/10/25(土) 18:27:07.14ID:Q/xi2e+W
恥ずかし///
2014/10/26(日) 13:12:48.49ID:eoLX8RNk
>>180
だからそれはアセンブラ層で扱うオペレータだとなんどいったら‥
2014/10/26(日) 13:19:22.74ID:gMYGq5V7
レジスタも実際はオペコードに含まれてるケースも多いので
EAX がオペランドになってるのは違和感がある
2014/10/26(日) 15:59:27.98ID:hUa4ZeCn
>>182
> 157 デフォルトの名無しさん:2014/04/24(木) 20:23:29.80 ID:6eU9esML
> 日本語アセンブラは、誰も作らないね。

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

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

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

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

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

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

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

# FORTRANて今ないんだなー
2015/02/15(日) 18:30:34.63ID:Qwk5nQv8
二つやらないといけないそうだからな‥C と Java か‥
2015/02/15(日) 18:30:56.51ID:bX6frV1s
アセンブラはセンター試験の数IIb並みに簡単
2015/03/07(土) 09:37:26.18ID:G+snOoOp
文法がってだけでアルゴリズムは別だけどな
2015/03/08(日) 09:27:59.15ID:/MgTL3zQ
センター試験とか簡単なことを難しそうに見せて
というか問題(の意図)を判り難くして回り道させて
出題者側が時間稼ぎしてる感じしかしない
2015/03/08(日) 19:21:25.65ID:/s2hhMUc
センターの問題はスレチである
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況