- 1 名前:デフォルトの名無しさん [2006/05/24(水) 01:43:34 ]
- アセンブラ全般に関するスレッドです。
【前スレ】 アセンブラ… ヽ(゚∀゚)ノフォーウ! pc8.2ch.net/test/read.cgi/tech/1132761638/ 過去ログは>>2辺り
- 552 名前:デフォルトの名無しさん mailto:sage [2006/10/11(水) 12:57:52 ]
- このスレが適当かどうかわからないんですが。
VC++の最適化OFFで生成した以下の絶対値を求めるコード cdq xor eax,edx sub eax,edx これに対応するC/C++のコードがわかるかたいませんか?
- 553 名前:デフォルトの名無しさん mailto:sage [2006/10/11(水) 13:25:58 ]
- >>552
インラインアセンブラでも使ってない限りも最適化 Off ではそのコードは 出てこないと思うんだが・・・。 abs() を呼んでれば最適化 On の時そのコードになるよ。
- 554 名前:デフォルトの名無しさん mailto:sage [2006/10/11(水) 13:59:52 ]
- >>553
/Oiオプションでabsが上記の命令に展開されたのを確認しました。 最適化はOFFだと思ってたのですが、一部だけ有効になってるのかもしれません。 (バイナリとPDBファイルしかないので詳細不明) ありがとうございました。
- 555 名前:デフォルトの名無しさん mailto:sage [2006/10/11(水) 17:48:43 ]
- >>554
/Oiって思いっきり最適化オプションの一部だろ。
- 556 名前:デフォルトの名無しさん mailto:sage [2006/10/11(水) 18:26:42 ]
- >>552-555
ワロタw
- 557 名前:デフォルトの名無しさん mailto:sage [2006/10/12(木) 09:14:28 ]
- OiOi
- 558 名前:デフォルトの名無しさん mailto:sage [2006/10/12(木) 13:59:22 ]
- RS-232C?
- 559 名前:デフォルトの名無しさん mailto:sage [2006/10/12(木) 15:34:13 ]
- どっちかっつーと丸井
- 560 名前:デフォルトの名無しさん mailto:sage [2006/10/12(木) 16:21:15 ]
- 丸井って、クレジット詐欺って意味でしょ?
- 561 名前:デフォルトの名無しさん mailto:sage [2006/10/12(木) 22:19:52 ]
- >>560
訴訟の元ハケーン
- 562 名前:デフォルトの名無しさん [2006/10/12(木) 22:34:02 ]
- 訴訟あげ!?
- 563 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 13:55:12 ]
- 16ビットしか知らんが、みんな何に使ってるの?
やっぱインラインかな
- 564 名前:デフォルトの名無しさん [2006/10/13(金) 15:49:03 ]
- C言語からアセンブラ語に変換するにはどうすればいいですか??
分かりやすくお願いします.
- 565 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 15:54:22 ]
- コンパイラにアセンブラ語で出力するようにオプションを付ける。
- 566 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 15:54:28 ]
- GCCなら-Sとか
- 567 名前:デフォルトの名無しさん [2006/10/13(金) 15:58:20 ]
- それはMPLAB IDE上でできますか??
- 568 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 16:07:08 ]
- アセンブラ語て…新語捏造するなやorz
本当はアセンブリ言語ってんだ。俗的にアセンブラでも通用するが。
- 569 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 16:10:51 ]
- お前タン、実はマルチでつか?そんなことしたら駄目だお(AAry
- 570 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 17:20:51 ]
- >>568
JISでは「アセンブラ言語」
- 571 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 18:50:01 ]
- まじで?!
- 572 名前:デフォルトの名無しさん [2006/10/14(土) 16:55:38 ]
- 今学校の授業中です…
キーボードから3個の整数a、b、cを入力してスタックにセットし、これらの整数のうち最大整数をディスプレイに出力せよ。ただし、最大整数をセットするための変数maxもスタック上に作ること。 これが出来ないと帰らせともらえませんが、全くわかりません。どなたか出来る方いましたらよろしくお願いします。
- 573 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 17:21:41 ]
- よし!19時ぐらいまで粘れ!!
その時間位になれば、わかる人がここに来るぞ、たぶん。
- 574 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 17:40:28 ]
- >>572
開発環境、動作環境を書け。 話はそれからだ。
- 575 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 18:05:18 ]
- >>572
どのアセンブラで、どのCPUですか
- 576 名前:デフォルトの名無しさん [2006/10/14(土) 19:18:17 ]
- 19時を過ぎたのですがそろそろ教えてくれません?どうかお願いします。
- 577 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 19:23:08 ]
- >>576
いやだから教えようにも ・・まぁなんだ、頑張れ
- 578 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 19:35:56 ]
- >>576
>>574-575
- 579 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 19:54:20 ]
- >>576
変数って何桁でもいいの?
- 580 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 22:00:50 ]
- しかし、キーのスキャンやら画面表示やらはHWがわからんことにはどうしようもないだろ。
まあわかったところでこんなところに書き込めるようなコード量に収まるとも思えんがw
- 581 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 22:22:37 ]
- >>580
無能自慢はいいから
- 582 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 23:23:22 ]
- >>580
つ【ファンクションリクエスト】
- 583 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 23:44:27 ]
- 週末なのに学校に泊まりかw
- 584 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 00:01:57 ]
- >>582
それがある環境だと誰が言った?
- 585 名前:デフォルトの名無しさん [2006/10/15(日) 00:17:32 ]
- なんで教えてもらおうとしてるやつがそんなに偉そうなんだ
- 586 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 00:27:14 ]
- kawaisosu
- 587 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 00:43:22 ]
- 579はまだ帰れない
- 588 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 00:55:36 ]
- >>572
void main(){ }
- 589 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 00:57:03 ]
- >>572
void main(){ int a, b, c, max; scanf("%d", &a); scanf("%d", &b); scanf("%d", &c); if(a < b){ } }
- 590 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 00:58:06 ]
- うわーん、要はC言語で作って、
gcc -S で、アセンブリ出力したら、 勝手にやってくれるよ。 だって、ローカル変数はスタックなんだからさ。
- 591 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 01:43:47 ]
- >>590
ローカル変数が必ずスタックに確保されるという保証はない
- 592 名前:・∀・)っ-○◎●新世紀ダンゴリオン ◆DanGorION6 mailto:sage [2006/10/15(日) 01:49:36 ]
- volatileでおk
- 593 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 03:34:15 ]
- スレ違いの話だが、
「C言語のローカル変数がスタック上に生成される」というのは そういう実装になっている処理系が多い、というだけで C言語の規格上、ローカル変数(自動記憶域期間をもつオブジェクト)は 「スタック上に確保されなければならない」とは一言も書いてない。
- 594 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 11:57:25 ]
- ほれ、糞団子、gccのソースに言及しつつ>>593について熱く語れよ。
- 595 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 12:07:56 ]
- 「&をつけないとレジスタに置かれる可能性があるが、&をつければ必ずメモリ上に置かれる」というのもただの伝説だね。
- 596 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 12:34:44 ]
- そんなことより>>572は帰宅できたのかどうか
- 597 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 14:43:46 ]
- 家がなi(ry
- 598 名前:・∀・)っ-○◎●新世紀ダンゴリオン ◆DanGorION6 mailto:sage [2006/10/15(日) 15:18:30 ]
- >>594
そんなしょぼいポンコツコンパイラなんざ使わないからしらねー。
- 599 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 15:20:44 ]
- >>598
gcc-4.1.1で最適化を-O3なんかにしたら最適化が変態すぎてまともにうごかないんだぜ。
- 600 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 17:52:03 ]
- >>598
お前半年くらい前にあーだこーだいってた気がしたが。 ありゃ可変引数リストに関してだったっけ?
- 601 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 18:04:44 ]
- >>598
しょぼいポンコツとは失礼な。 某大学の実習で使用されるシステムはH/Wスタックを装備していないから メモリ空間ぜ〜んぶヒープな環境だ。レジスタはアキュムレータ1つだけ。 で、課題でこのシステム向けに最適化されたANSI Cのサブセットコンパイラを つくれというのがあったが、どんなに凝ったコンパイラを作れど、この場合 スタックを「使わない」のではなく「使えない」んだよ。 団子はそんな環境で四苦八苦したことがないだろうが。
- 602 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 18:07:25 ]
- おっつ失礼。「汎用」レジスタはアキュムレータ1つだけ。
レジスタは他にもあったよ。PCとか間接メモリアドレッシングで使うやつとか。
- 603 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 18:18:49 ]
- >>601
無能自慢はいいから
- 604 名前:・∀・)っ-○◎●新世紀ダンゴリオン ◆DanGorION6 mailto:sage [2006/10/15(日) 18:22:58 ]
- >>600
んーでもそういう環境わざわざ選ぶ理由無いよね♪ どんなマイナーCPUですか? ちなみにJava仮想マシンなら汎用レジスタ1本のスタックマシンだよね。 それ以前の問題として、マシン語がどんなのかよくわからんわけで。 それこそ情報処理技術者でよく使われるCOMET2/CASL2かもわからんし。 Cでコンパイルしてアセンブリコード吐かせれば出せるって前提自体が おかしいと思うわけで。 演習で使う端末ってx86とかPowerPC(ようはMac)のほうが多いと思うんだけど
- 605 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 19:39:54 ]
- >>603
ゴメ。自慢するつもりはなかった。ただこういう環境もあるということを言いたかっただけ。 >>604 あるよ。この流れの上流をよく見てみ。>>572で今学校の授業中ですとある。 どんな反則/時代遅れシステムを使わされるかもわからない。高機能から超低次元まで 様々な環境を考慮しなければ質問に答えることは出来ない。 そうでなくてもこの分野はどんな質問がくるか予測しづらい面もある。 肝心の質問者は何も言わず逃げやがったなw
- 606 名前:・∀・)っ-○◎●新世紀ダンゴリオン ◆DanGorION6 mailto:sage [2006/10/15(日) 19:43:12 ]
- まあ、かくいう俺も128本のレジスタと256KBのメモリ空間しかない
某プロセッサコアのシミュレータと格闘してた。 アレは気が狂いそうだ。
- 607 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 20:04:21 ]
- 128本も、一体何に使うんだよorz
人智では管理できんな、この数じゃ。CellとかItaniumとか!
- 608 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 23:36:33 ]
- Sparcも結構変態チックなレジスタ管理していた気がするが。
- 609 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 23:38:24 ]
- やはりデータレジスタ8本アドレスレジスタ8本が最も美しい。
- 610 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 23:46:19 ]
- >>609
レジスタの長さは、それぞれ 1Mバイトぐらいでよろしーですか?w
- 611 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 23:48:43 ]
- 奇数アドレスにアクセスすると転けるCPUなんて嫌いです。
- 612 名前:デフォルトの名無しさん [2006/10/16(月) 00:21:15 ]
- >>611
68000のことですか?
- 613 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 00:27:10 ]
- 中途半端に遅くなって動かれるくらいなら落ちてくれた方がいいけど。
- 614 名前:デフォルトの名無しさん [2006/10/16(月) 01:29:07 ]
- すみませんがわからないので教えてください・・・
お願いします 次の命令群を実行した結果を説明せよ CLR R0 ADD #1 R0 ADD #2 R0 ADD #3 R0 ADD #4 R0 次の命令群を実行した結果を説明せよ MOV #100,R1 CLR -(R1) CLR -(R1) CLR -(R1) CLR -(R1) 次の命令群を実行した結果を説明せよ CLR @#100 解答は○○○○番地を××に、R0を△△△△にする という形でできるだけ詳しくお願いします 本当にお願いします ・・・
- 615 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 01:42:53 ]
- 実行すればわかる
- 616 名前:デフォルトの名無しさん [2006/10/16(月) 02:30:42 ]
- お願いします。。。課題なのですが明日までなんです・・・
- 617 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 02:43:23 ]
- 明後日になったら答えてやる
と念を押しておいても誰かが先に答えちまうんだろうな 偽善もほどほどにしとけよ?
- 618 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 02:45:27 ]
- 宿題スレじゃ無いしな。
- 619 名前:デフォルトの名無しさん [2006/10/16(月) 02:48:32 ]
- すみません・・宿題スレがないので・・・
本当にお願いします・・教えてください
- 620 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 02:52:45 ]
- そもそもどのCPUを使っているのかなどの最低限の情報が与えられていないのではなぁ。
- 621 名前:デフォルトの名無しさん [2006/10/16(月) 03:36:39 ]
- すみませんわかりません・・
それしか書いてないので・・・ PDP11ってやつですかね・・? オペランドとか・・ 自分も授業で少ししただけで全然わからないんです・・・ 教えてもらえないでしょうか。。。
- 622 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 03:51:59 ]
- >>621
PDP11のアセンブラのマニュアルならここにあるからしっかり勉強しろ。 ttp://www.bitsavers.org/pdf/dec/www.computer.museum.uq.edu.au_mirror/D-09-30_PDP11-40_Processor_Handbook.pdf
- 623 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 04:00:17 ]
- おぉ、こんなものをこんなところで入手できるとは
いいものを手に入れた。マジサンクス>>622
- 624 名前:デフォルトの名無しさん [2006/10/16(月) 04:32:48 ]
- >>622
わかりました 勉強はします そのマニュアルは全部英語でよくわかりませんが・・ でも締切りが今日なんです・・・ とりあえず答えを教えてもらえないでしょうか・・・ もう時間が・・・ お願いします
- 625 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 04:38:51 ]
- >>624
そうやって2chに張り付いてうだうだ書いている暇に、英和辞典片手にマニュアル読めよ。
- 626 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 04:42:53 ]
- 課題のほうも煮詰まっているようだから>>614のサンプルに関連するページだけ抽出して
>>622から抜粋してみた。この辺を重点的に読んで、あとは自分で解決してね。 (問1) 2オペランドアドレッシング(double operand addressing) … 3-2 (30) クリア(clr)命令 … 4-6 (52) 加算(add)命令 … 4-25 (71) (問2) 直接アドレッシング(direct addressing)と自動デクリメント(autodecrement) … 3-4 (32) 転送(mov)命令 … 4-23 (69) (問3) 差分(間接)アドレッシング(differed (indirect) addressing) … 3-10 (38) 今君が手元で使っているであろう某系のCPUよりも随分素直で理解しやすいよ。
- 627 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 04:53:36 ]
- Cで書くならこうかな?
register short int r0 = 0; r0 += 1; r0 += 2; r0 += 3; r0 += 4; register short int r1 = 100; *--r1 = 0; *--r1 = 0; *--r1 = 0; *--r1 = 0; *(short int *)100 = 0;
- 628 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 04:55:04 ]
- おまいら優しすぎ。
- 629 名前:デフォルトの名無しさん [2006/10/16(月) 04:57:31 ]
- まってください
>>626 わざわざありがとうございます ですがその資料ホントに読めません・・・ あと習い始めたばかりでまだ実行とかは全く習ってないししたこともないんです 書いてある問題の意味すらわからなくて、今答えの見当もつかない状態なんです・・ 本当にお願いします・・
- 630 名前:626 mailto:sage [2006/10/16(月) 04:58:52 ]
- おわwww間違えてるしw
問3は差分アドレッシングの問題じゃないわ。何に気をとられていたのやらorz 問3はたぶん絶対アドレッシング(absolute addressing)の問題。 関連ページは 3-12 (40) >>627 それほぼ答えじゃんorz ま、俺は別にいいけどね。
- 631 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 05:00:17 ]
- 確か @ やら # はウニッ糞のシェルにとって特別な意味があるので
UNIックソのPDP11アセンブラは>>622とは違う文字使っていたような希ガス
- 632 名前:630 mailto:sage [2006/10/16(月) 05:02:18 ]
- 関連ページは3-12・・・じゃなくて本当は 3-13 (41)
また間違えましたよ。 すぐ隣のページだけどね:-p
- 633 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 05:05:28 ]
- >>627
× register short int r1 = 100; ○ register short int *r1 = 100;
- 634 名前:デフォルトの名無しさん [2006/10/16(月) 05:07:04 ]
- >>627
ありがとうございます でもCは全く習ってなくて、何が書いてあるのか理解できません・・・ 本当にすみません できれば>>614の形式で教えていただけないでしょうか・・ 手書きで説明を書いて提出するので・・・ >>630 わざわざ報告ありがとうございます
- 635 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 05:15:23 ]
- おまい、貴重なPDP11のマニュアルを拾ってきてもらって、その212頁もある
マニュアルの中から僅かな量のエッセンスを抽出してもらって、あまつさえ 重要語句に日本語を付加されてまでまだ「読めません」かよ。 読めないのではなくて 読 ん で い な い だろ。 今から>>622読んで理解しろ。実際ここにいる連中も1時間程度で読んで理解しているんだ。
- 636 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 05:18:20 ]
- >>635
それとCのソースもな。
- 637 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 05:30:50 ]
- おまいら優しすぎ
- 638 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 05:42:08 ]
- 解説者が一人多役の自演でなければ、の話だが。
- 639 名前:デフォルトの名無しさん [2006/10/16(月) 05:51:08 ]
- 30分ほど読みましたがやはりわかりませんでした・・・
教科書読んでも全然わからなくて・・・ >>627はどういうことなんですか・・? 実行結果・・? もういやだ・・もうこんな時間・・どうにもできない・・・だれか・・
- 640 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 06:07:13 ]
- >639
残念でした。 2chに聞いたのが間違いなんだよ 何でもサポートセンターじゃない 先生のところへ行って直接手取り足取り教えて貰いな 親切に教えて、しかも学ぶ事そのものまで教えてまでいるスレ住人を 裏切り続けてるのは外ならぬお前なんだと言う事を覚えておけよ?
- 641 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 06:09:32 ]
- ネタかも知れないレスにマジレスしちまった。
そろそろ寝るか。 30分ぐらい。
- 642 名前:デフォルトの名無しさん [2006/10/16(月) 06:18:11 ]
- 提出物なので先生には教えてもらえません・・・
裏切り続けてると言われても・・言われたことはしました・・ その上でなら仕方ありません・・ 時間があるのならゆっくり勉強すればいいかもしれませんが、もう時間がなくて一から勉強することができません・・・ だからもう・・・
- 643 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 06:23:02 ]
- ここまでヒント貰って分からないんなら、もう単位は諦めるしかないんじゃない。
人の答え丸写しして本人は理解してないのに単位取るなんて不正だし。
- 644 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 06:23:44 ]
- 課題出されてから提出期限まで幾らか時間があったんだろ?
くだらん言い訳はするな。 それに提出物だから教えて貰えないというのもおかしな話だ。 質問を受け付けてくれない先生か。さぞお気の毒だこと。 そうやって言い訳し続けて、裏切り続けるがいいさ。 と、漏れもマジレス
- 645 名前:デフォルトの名無しさん [2006/10/16(月) 07:06:33 ]
- お願いします・・・
何を言われてももうこれしかありません・・・
- 646 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 07:09:06 ]
- もういい加減愛想が尽きたよ。
答えを教えたって豚に真珠だろうさ。
- 647 名前:デフォルトの名無しさん [2006/10/16(月) 07:21:02 ]
- それでもお願いします・・・
- 648 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 07:51:54 ]
- おまえら優しいな。
2chでこんなに優しくしてもらえるなんてそうないぞ。 問1ぐらいは分かるだろ。 ま、残りは空欄でも仕方ないな。
- 649 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 08:00:04 ]
- 問1すらわからないなら単位はあきらめた方がいいな
- 650 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 08:22:28 ]
- なんじゃここ、昼夜逆転したニート君どもがが学生君を嬲ってやがるw
やっぱりヒキニト君ってイライラが溜まってるんだね。 そんなの俺なら「宿題は自分でやれよ」の一言で済ますけど。
- 651 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 11:21:27 ]
- r0が
- 652 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 11:23:32 ]
- 失敗
r0がゼロレジスタか否かで結果が変わるな PDP11が確実でなければ
|

|