[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 06/24 11:52 / Filesize : 195 KB / Number-of Response : 910
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

アセンブラ… Part 12



1 名前:デフォルトの名無しさん [2007/08/14(火) 17:18:08 ]

アセンブラ全般に関するスレッドです。

【前スレ】
アセンブラ… ( ゚д゚)ウッウー
pc11.2ch.net/test/read.cgi/tech/1174825173/



620 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 18:12:54 ]
>>598
LEAX N
CMPX M
BPL L_PLUS+1
LDB #$FF
L_PLUS
CMPX #$C601
SEX
STD P


621 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 20:07:17 ]
って最初からボケてる LDX N 或いはLEAX [N] か?

622 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 20:11:46 ]
>>621
だね。6809は専門じゃないからつっこみかねてた。
ときに C6 01 にコメント振ってくれるとありがたい。





つか SEX 書きたかっただけじゃないか?

623 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 20:35:48 ]
バレたか(w
C6 はLDBのつもりだった、反省はしてない。


624 名前:ヽ・´∀`・,,)っ━━━━━━┓ mailto:sage [2008/06/09(月) 20:39:00 ]
Obj-Cでsuper freeとか書くようなノリか

625 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 21:05:43 ]
ただ8bitCPUだから、コスト的にはどうなんだろうな?
クロック表が見当たらないぜ。

626 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 21:29:08 ]
68系ばっかりになるのなw

627 名前:デフォルトの名無しさん mailto:sage [2008/06/09(月) 21:59:12 ]
このスレで最高にビューティフルなマシン語を持つ超エレガントなアーキテクチャのCPU仕様を作ってARM超えを目指そうぜ!
プロジェクトリーダーはダンゴさんに任せた!

628 名前:デフォルトの名無しさん mailto:sage [2008/06/10(火) 08:46:38 ]
Kaltfeuerとでも名付けよう。



629 名前:デフォルトの名無しさん mailto:sage [2008/06/11(水) 03:19:05 ]
沢村さんを推します

630 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 18:28:34 ]
ある命令の実行に何クロックかかるかを知りたいんですが、
CPU毎に"命令Aにはnクロックかかるよ"っていうのがリストされた資料があるんですか、それとも実測ですか?
もし実測しかないならその方法を簡単に教えてください

631 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 18:33:45 ]
自己解決しました
amdとintelの最近のプロセッサものはとりあえず見つけました
メーカーがwebで公開してるんですね・・・

632 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 19:28:44 ]
なんか昨今はGoogleする前に2chって思考なのかね

人の脳みそをあんまり安く考えてると、働くようになってから
苦労するんじゃねーかな

まあ、半可通の糞ほど教えたがりなんだが

633 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 19:43:33 ]
これがゆとりか・・・

634 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 20:05:52 ]
普通に勉強してれば命令語一覧とかに載ってるのを知ってそうなものだが・・・
そのうち
「ある命令の実行でフラグがどう変わるか知りたいんですが?」
とかの質問も来るのかな。

635 名前:デフォルトの名無しさん mailto:sage [2008/06/13(金) 20:54:57 ]
>>632
逆に半可通だからこそそういう疑問が出るんじゃないかな?
ビンゴワードを知らないと何回か周辺ワードでググってそれを探さないといけないから意外と難しい。
昔は頭使わなくてもマイコン雑誌の特集とかで載ってて必修みたいなものだったけどさ。

636 名前:ヽ・´∀`・,,)っ━━━━━━┓ mailto:sage [2008/06/13(金) 21:14:19 ]
実測するためのCソースもIntelが提供してるな。

アレもわかりにくいところにあるけど

637 名前:デフォルトの名無しさん [2008/06/14(土) 01:40:46 ]
>>635
> 逆に半可通だからこそそういう疑問が出るんじゃないかな?

半可通の酋長ダんゴ先生をバカにシュルナ!!!!





638 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 03:53:12 ]
知っているのならさっさと教えろやクズどもが。



639 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 09:32:33 ]
>>638
あんただれ?

640 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 12:38:30 ]
俺だよ俺俺

641 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 12:43:50 ]
あちこちで、教えるクンがオナニーしすぎて>>638みたいな機知外
が本当に増えている


642 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 13:36:40 ]
>>634
それも実験して調べるのです(Z80の隠し命令かよ・・・)。

643 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 18:00:18 ]
>>641
それ以上にそいつ等をスルーできないやつ等のほうが増えて内科医。

644 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 18:11:17 ]
おっさんくさいスレになりました

645 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 22:23:13 ]
まあアセンブラなんて今時の若い者はあまりやらんからな。

646 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 23:17:34 ]
つPIC

647 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 23:22:19 ]
最近の若い奴はJVMとCLRのアセンブラ(バイトコード)は結構読めるよ。


648 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 08:17:07 ]
NASM のドキュメントの Appendix B って消えた?
あれ便利してたんだが。



649 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 22:28:15 ]
今時アセンブラの需要はあるのかねえ

650 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 22:34:13 ]
コンパイラベンダにゃ必須だろう。

651 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 22:36:25 ]
エンコーダとか

652 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 22:40:54 ]
ベクトル化ガリガリやりたいなら必要だね

653 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:03:58 ]
組み込みで、ブートローダー書く人とか。

654 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:31:20 ]
高級言語で書けない命令がどれだけあると思ってるんだ?

655 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:10:10 ]
ローテート命令。
なんでC言語にはローテート演算子が無いんだ。
何度欲しいと思ったことか…


656 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:13:10 ]
ローテートってそんなに速くなかったような気がするよ

657 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:45:22 ]
シフトと論理和もしくは加算で書くより速いだろJK

何でもかんでもアセンブラで書きたがるのは昔の厨二病

658 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:47:15 ]
結果をすぐ使わないのであれば
うまく並列実行されれば
ローテートより速いんじゃね?



659 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:48:59 ]
>>657
それがだな、昔シフト系の命令がクソ遅い Pentium4 とかいう CPU があってだな。
x86 の rol/ror 命令使うよりも mmx シフトと mmxor で書いたほうが速いとかいう
ふざけたこともあったのだよ。フツーの 32bit の SISD でね。

660 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 01:00:51 ]
つーか、ローテート命令が遅いなんてデマを流さないでほしい。

661 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 01:53:52 ]
>>660
CPU によるけど、ローテート命令が速くない環境はあるよ。
intel の 24896604_j.pdf からの引用だけど、x86 では

add : レイテンシ 0.5clk, スループット 0.5clk
shl/shr: レイテンシ 4clk, スループット 1clk
rol/ror: レイテンシ 4clk, スループット 1clk

でー mmx だと

pslld: レイテンシ 2clk, スループット 1clk
psrld: レイテンシ 2clk, スループット 1clk
por: レイテンシ 2clk, スループット 1ckl

ね。

SISD で rol/ror より速いっつーのは記憶違いで嘘だったけど。
まーこういう糞な石はメインストリームじゃなければ無視できる
のだけど、一時期多数派を占めてたりしたから無視するわけにも
いかんのよ。

662 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 03:25:13 ]
そんなにCがいいならインラインアセンブラつかえよ

663 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 03:31:41 ]
ローテートぐらいならgccの拡張で使えたような気がする

664 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 13:26:14 ]
rol や ror はintrinsicであるんだけどrolxやrorxのようにキャリーと一緒に回すのが無いんだよね

665 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 13:45:41 ]
そもそもCにはキャリーの概念すらないし。

666 名前:デフォルトの名無しさん [2008/06/20(金) 09:47:19 ]
Cのソースからアセンブラ吐いたんだけど,Cのソースではhoge(0,1)って引数で関数
呼び出してるけど、アセンブラでは
movl $1, 4(%esp)
movl $0, (%esp)
という風に引数を逆に処理してるのは、どういう意味があるの?ご教示お願いします



667 名前:デフォルトの名無しさん [2008/06/20(金) 09:54:29 ]
>>666 悪魔乙
gas の記法だろ。アセンブラによってオペランドを書く順番が違ってくるのさ


668 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 10:02:58 ]
いや,オペランドじゃなくて引数の順序だろ.
C では良くあること.



669 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 10:05:04 ]
>>666
・スタックは数が減る方に向かって伸びる。
・その例でも引数1が %esp+0, 引数2が %esp+4 になってるでしょ?
・引数のポインタを取ったとき、スタック上の引数列が配列になるでしょ?
hoge(int foo, int bar) を例に取ると
int *p = &foo; によって
p[0] == foo
p[1] == bar
となる。

で、このことは、引数不定とか可変長引数を実装するときに
すごく都合がいい。スタックトップが必ず引数1になる。
K&Rの頃は引数不定がまかり通ってたし。

なお、>>666 の例では、%esp はあらかじめ減じられていると思われるため
movl $0, (%esp)
movl $1, 4(%esp)
のように引数順に処理することもできるが、コンパイラの都合上それをやっていない。

670 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 11:45:08 ]
処理系によるんじゃないか?

671 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 12:04:24 ]
>>666
Cの引数の評価順は特に決められていないので、コンパイラの都合で好きな順序で処理してよいわけだが、
たまたま逆順の方がコンパイラを作りやすかったとか、特に気にしないで作ったらたまたま逆順になったとか、
そんなとこだろうと思うよ
特に意味はないかと

672 名前:デフォルトの名無しさん [2008/06/20(金) 12:12:48 ]
厳格に決まっているわけではなく、
>>669
の述べているような理由などから、私が使っている処理系では引数がたまたま
決まっているということでいいんですか?



673 名前:デフォルトの名無しさん [2008/06/20(金) 12:13:51 ]
↑訂正、
引数がたまたま逆に処理されている




674 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 12:55:25 ]
>たまたま逆に
いや単に右から左なだけで,逆順とか正順とか決まってないから

675 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 13:34:07 ]
カウントダウン方向で繰り返し処理すれば
フラグ見るだけで処理の終わりがわかる

676 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 15:03:55 ]
コード生成とスタックに積む都合から言うと、スタックに先に積むほうから
評価をしたいわけだ。
それと、可変長引数のことを考えると、Cの引数は右から左の順で積んだ
ほうが都合が良い、ということ。

677 名前:デフォルトの名無しさん [2008/06/20(金) 18:12:47 ]
やり方は、複数あるが後々都合が良い
ってことですね。ありがとうございます。

678 名前:デフォルトの名無しさん [2008/06/20(金) 18:21:36 ]
富の目キモすぎ。バケモン。身障。DQN男。死ね 富の目キモすぎ。バケモン。身障。DQN男。死ね 富の目キモすぎ。バケモン。身障。DQN男。死ね 富の目キモすぎ。バケモン。身障。DQN男。死ね

富の目キモすぎ。バケモン。身障。DQN男。死ね 富の目キモすぎ。バケモン。身障。DQN男。死ね 富の目キモすぎ。バケモン。身障。DQN男。死ね 富の目キモすぎ。バケモン。身障。DQN男。死ね

富の目キモすぎ。バケモン。身障。DQN男。死ね 富の目キモすぎ。バケモン。身障。DQN男。死ね 富の目キモすぎ。バケモン。身障。DQN男。死ね 富の目キモすぎ。バケモン。身障。DQN男。死ね

富の目キモすぎ。バケモン。身障。DQN男。死ね 富の目キモすぎ。バケモン。身障。DQN男。死ね 富の目キモすぎ。バケモン。身障。DQN男。死ね 富の目キモすぎ。バケモン。身障。DQN男。死ね



679 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 18:45:53 ]
呼出し規約とかは関係してこないの?

680 名前:ヽ・´∀`・,,)っ━━━━━━┓ mailto:sage [2008/06/20(金) 18:47:45 ]
push/pop命令の動きはABI云々じゃなくてCPUの動作仕様だからな

681 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 20:23:35 ]
VC++ に限って言うなら、
普通の関数は右から左、
普通のメンバ関数は左から右、
可変長引数を持つメンバ関数は右から左、だな。

682 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 20:25:17 ]
Cっていうか、WindowsAPIの仕様に引っ張られてるんじゃね?

683 名前:ヽ・´∀`・,,)っ━━━━━━┓ mailto:sage [2008/06/20(金) 20:28:54 ]
thisポインタ=ecxは何とかならんかったのかと思う
まあ、他に無いっちゃないが

684 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 20:29:03 ]
PASCALキーワード!!!

685 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 20:57:03 ]
VC++のメンバはthisをecxに積んで右からスタックだったはずだが

686 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 22:39:15 ]
なんか、引数をスタックに積む順序と引数の評価順序の区別が付いてない
奴がいるな。

687 名前:デフォルトの名無しさん [2008/06/20(金) 22:48:48 ]
↑どういうこと?

688 名前:デフォルトの名無しさん mailto:sage [2008/06/20(金) 22:49:28 ]
>>685
ごめん。まちがえてた。



689 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 00:59:53 ]
引数の評価順序って決まってたっけ

690 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 01:07:38 ]
68000での質問です。
cmpi.w #$1234, D0

cmpi.l #$12345678, D0
と同等な事をA0に対しても行いたく思い、
cmpaを使ってみましたが上手くいきません。
なぜでしょうか?

691 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 08:33:30 ]
>>687
左から評価して、右から積んでも規約に違反はしてない。

評価した順にスタックに積んで行くほうが楽。
という「都合」が引数の評価とスタックに積む順序に影響しているってこと。


692 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 09:13:13 ]
>>690
エスパーはいないぞ!
もっと詳しく書け。

693 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 16:40:04 ]
>>687
スタックに積まれた引き数の配置は処理系で決まっている。

順番に詰まれるかどうかは分からない。

評価順序も決まっていない。

>>690
> 上手くいきません。

何をやって、どうなることを期待してて、どうなったかを書け。

694 名前:690 mailto:sage [2008/06/21(土) 17:07:42 ]
解決しました。
理由もなんとなくわかりました。
ありがとうございました。

695 名前:690 mailto:sage [2008/06/21(土) 17:15:55 ]
お前らの役立たずっぷりに呆れました。
もう二度と来ません。

696 名前:690 mailto:sage [2008/06/21(土) 17:18:51 ]
>>695
まあそれが本音ですけどね。
もはや揚げ足取りですし。
ありがとうございます。

697 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 17:23:01 ]
なんかね、どこからが釣りだったのかね、もうね

698 名前:690 mailto:sage [2008/06/21(土) 18:27:33 ]
詰まらない偽者がスレ汚ししてすみません。
最終レスは>>695です。
ありがとうございました。




699 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 18:48:48 ]
いいから消えろよクズ

700 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 18:57:46 ]
ほっとけ
構うな

701 名前:690 mailto:sage [2008/06/21(土) 19:16:46 ]
>>700
まったく同意

702 名前:690 mailto:sage [2008/06/21(土) 20:47:38 ]
誰だお前

703 名前:デフォルトの名無しさん mailto:sage [2008/06/21(土) 22:33:55 ]
もう誰が誰だかわやくちゃなんだけど、休日にわざわざこんなスレにまできて...

なんかかわいそうだな。

704 名前:デフォルトの名無しさん mailto:sage [2008/06/23(月) 20:35:43 ]
Re:> お前はなにを言っているのか

705 名前:デフォルトの名無しさん mailto:sage [2008/06/24(火) 00:44:09 ]
king、コテ付け忘れてるぞ

706 名前:1stVirtue mailto:sage [2008/06/24(火) 21:10:58 ]
Reply:>>705 お前に何がわかるというのか。

707 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 01:47:33 ]
キングさんって、スクリプトですか。??

708 名前:デフォルトの名無しさん mailto:sage [2008/06/25(水) 10:58:32 ]

数学板のking?



709 名前:デフォルトの名無しさん mailto:sage [2008/06/26(木) 21:27:12 ]
いきなりkingネタかよ
数学板以外にもたまーに顔出してるよ、奴は

710 名前:デフォルトの名無しさん [2008/06/30(月) 16:29:09 ]
MASM MSからダウンロードしたけど、VC++ Express 2005が必要だと・・・
VC++ Express 2008じゃだめ?なの?

711 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 16:53:44 ]
>>710
強制解凍してけば長いファイル名のが出てくるからそれを拡張子exeにリネーム

712 名前:ヽ・´∀`・,,)っ━━━━━━┓ mailto:sage [2008/06/30(月) 17:07:48 ]
もうNASMでえーやん

713 名前:デフォルトの名無しさん [2008/06/30(月) 17:32:54 ]
>>711
thnx・・・thnx......

冷静に考えて
そうだ、ここは俊足なレスポンスを期待しちゃいけない、
と思い、

無い頭で考えて、
オーソドックスにプロンプトの指示に従い、

アンインストールをしたところで、
>>711発見 orz


あうぅぅぅ

714 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 17:35:23 ]
JWasmってどうなんだろ?

715 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 17:41:44 ]
>>712
YASMどうよ?

716 名前:デフォルトの名無しさん mailto:sage [2008/06/30(月) 19:20:57 ]
Yasm www.tortall.net/projects/yasm/ NASM/GAS互換 64bit対応 修正BSDライセンス
JWasm www.japheth.de/JWasm.html MASM v6/WASM互換 Open Watcomライセンス

717 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 08:54:17 ]
ちょっと使ってみた個人的な感想など:

Jwasm: コマンドラインの引数など使い勝手がいいとは言い難い。
特にリンカは最悪で、設定ファイルが必要だとか訳が判らん。
結局、リンカだけ alink alink.sf.net/download.html
そこにある win32.lib を使うことでバイナリ作成した。

その後に使った fasm flatassembler.net/ なら、
単体で実行バイナリまで生成することが判った。
記法も独特ではあるけども、ヘルパのインクルードが充実していて
あるAPIの挙動を確かめるようなテスト・ルーチンなんかをスクラッチするには
いい感じだと思った。


718 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 17:48:04 ]
いや、互換物はオリジナルと比較しないと意味ないでしょ。
あと、wlinkはなんでもできる強力なリンカだよ。libだけ用意すれば(.aでも.libでも食べてくれる)
jwasm .\samples\windows1
wlink FORM Windows NT runtime CON F windows1 L kernel32.lib
みたいな感じでいける筈。

たしかwatcom本体の方にMSのlink互換の奴(ラッパー?)が入ってる筈だから
それの差し替え用なのかもね?



719 名前:デフォルトの名無しさん mailto:sage [2008/07/01(火) 19:23:34 ]
masm32のinc参照してるやつも導入pathを調整すれば同様に
jwasm .\samples\windows3
wlink FORM Windows NT F windows3 L kernel32.lib,user32.lib
でバイナリは出来るんだけと、これって豆腐窓が出れば成功なのかな?
窓プログラムはソース見てもいまいちわからないorz


720 名前:デフォルトの名無しさん mailto:sage [2008/07/02(水) 19:58:28 ]
lzasmってTASMのideal文法サポートだけで、MASM互換部分はごっそり抜けてるのかな?
それとも元々こんなもんなの? 共通ソースってどうやったら書けるんだろうこれ?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<195KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef