1 名前:デフォルトの名無しさん [2007/08/14(火) 17:18:08 ] アセンブラ全般に関するスレッドです。 【前スレ】 アセンブラ… ( ゚д゚)ウッウー pc11.2ch.net/test/read.cgi/tech/1174825173/
871 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 22:52:15 ] Intelの資料によれば(AMDじゃなくてすまそ)、 ADD命令は0.5クロックで、ALUは2器載ってるらしいから、 1クロックでADDを4つ実行できることになるな
872 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2008/09/26(金) 22:53:59 ] >>871 ニヤニヤ
873 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 23:00:06 ] 後は任せた
874 名前:デフォルトの名無しさん mailto:sage [2008/09/26(金) 23:07:29 ] まあ、そもそも命令数とクロックから実行時間を見積もろうとするが大馬鹿なんだが。
875 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2008/09/27(土) 02:01:31 ] っていうかさ、Pentium 4はパイプラインが3 issueなのに、4つ実行なんてどうやるんだよ。 日本語資料じたいが相当旧いし
876 名前:デフォルトの名無しさん mailto:sage [2008/09/27(土) 03:03:13 ] 確かに日本語版のIA-32 インテル アーキテクチャ・ソフトウェア・デベロッパーズ・マニュアルの 本書の対象となるIA-32プロセッサの中にcore2duoとかの文字が無い。 やっぱ最新版は英語じゃないとだめなのか。
877 名前:デフォルトの名無しさん mailto:sage [2008/09/27(土) 07:33:50 ] >>874 いやあでも、こうやって一つ賢くなれるんだからいいんじゃねーの? それより見積もりも出来ないで、処理がハードウェアの能力と釣り合っているかを考えない方が大馬鹿者。 現代のCPUで処理に必要なクロック数を机上で計算するのが難しいとしても プロファイル取ってIPCを見たりはするし、それによって局所的にどの命令が ボトルネックかを考える事もある。 机上という静的な方から攻めるか、プロファイルという動的な方から攻めるかの違いで、たどり着くところは一緒。
878 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2008/09/27(土) 08:43:46 ] Agner.orgを参考にしたらいいと思う
879 名前:デフォルトの名無しさん mailto:sage [2008/10/01(水) 16:50:24 ] VC++でint cx; と変数を宣言して、 インラインアセンブラでcmp eax,cx と書いてエラーになったから助かった。 imul ebx,cx はimul ebx,ecx にコンパイルされてエラーになっておらず、 危うくハマるところだった。
880 名前:,,・´∀`・,,)っ-○◎● mailto:sage [2008/10/02(木) 00:41:47 ] 「goto」というシンボルすら作らせないJavaは徹底してる。
881 名前:デフォルトの名無しさん [2008/10/22(水) 14:04:06 ] オペランドの前に=が付くとどういう意味があるんですか。 教えてください。
882 名前:デフォルトの名無しさん mailto:sage [2008/10/22(水) 14:42:54 ] どの石のなんてアセンブラかわからないと答えようがない
883 名前:デフォルトの名無しさん mailto:sage [2008/10/23(木) 01:42:12 ] gcc asm の制約のことだったりして。
884 名前:デフォルトの名無しさん mailto:sage [2008/10/23(木) 11:41:49 ] たぶん、リテラルのことでしょう。名無しの定数が作られる。昔のメインフレームのASMなんかで LD R0,=F'00F0' とか書くと、フルワードの 000000F0h という定数がどこかに作られて それをアクセスするアドレッシングが命令に組み込まれる。
885 名前:デフォルトの名無しさん mailto:sage [2008/10/24(金) 21:19:28 ] CPU:Intel 8085 (1) [80A1h] ← (B+C)*2-[80A0h]*3 オーバーフローは考慮不要 (2) [80B3h] [80B2h] ←[80B0h] +[80B1h] *2 和を16ビットで求める(分岐命令を使用してもよい) (3) A ← B ・C + H ・L (論理演算) これらを実行するプログラムを教えてください。 よろしくお願いします
886 名前:デフォルトの名無しさん mailto:sage [2008/10/24(金) 23:19:24 ] >>885 (3) 170o 241o 107o 174o 245o 260o
887 名前:デフォルトの名無しさん mailto:sage [2008/10/24(金) 23:29:15 ] >>885 (1) 041o 0a0h 80h 170o 201o 207o 226o 226o 226o 043o 167o
888 名前:デフォルトの名無しさん mailto:sage [2008/10/24(金) 23:35:13 ] >>885 (2) 052o 0b0h 80h 051o 042o 0b2h 80h
889 名前:デフォルトの名無しさん mailto:sage [2008/10/25(土) 00:28:09 ] >>886-888 ありがとうございます。 すごくありがたいのですが、私の知識不足のせいで思っていた結果ではありませんでした。 .8085 ASEG ORG 8000h LDA D1 LXI H,D2 のような形で、もう一度教えてもらえませんか? 頼ってばかりで申し訳ないのですが、よろしくお願いします
890 名前:デフォルトの名無しさん mailto:sage [2008/10/25(土) 01:29:31 ] なんという攻防戦
891 名前:デフォルトの名無しさん mailto:sage [2008/10/25(土) 04:55:46 ] >>889 ほれ。アセンブルリスト。エラーも取れてる CSEG ;(1) [80A1h] ← (B+C)*2-[80A0h]*3 オーバーフローは考慮不要 0000 78 MOV A,B 0001 81 ADD C ; (B+C) 0002 87 ADD A ; *2 0003 F5 PUSH PSW ; を退避 0004 21A080 LXI H,80A0h 0007 7E MOV A,M 0008 86 ADD M 0009 86 ADD M ; *3 000A 6F MOV L,A ; をLに 000B F1 POP PSW ; (B+C)*2を復元 000C 95 SUB L ; 引き算 000D 32A180 STA 80A1h ; 結果をストア
892 名前:デフォルトの名無しさん mailto:sage [2008/10/25(土) 04:57:03 ] ;(2) [80B3h] [80B2h] ←[80B0h] +[80B1h] *2 和を16ビットで求める(分岐命令を使用してもよい) 0010 3AB180 LDA 80B1h 0013 6F MOV L,A 0014 2600 MVI H,0 0016 29 DAD H ; [80B1h] *2 0017 11B080 LXI D,80B0h 001A 1A LDAX D 001B 4F MOV C,A 001C 0600 MVI B,0 ; [80B0h]の内容を16bitに 001E 09 DAD B ; HLに16bitで加算 001F 22B280 SHLD 80B2h ; 結果をストア
893 名前:デフォルトの名無しさん mailto:sage [2008/10/25(土) 04:58:52 ] ;(3) A ← B ・C + H ・L (論理演算) 0022 78 MOV A,B 0023 A1 ANA C 0024 5F MOV E,A ; B・Cを退避 0025 7C MOV A,H 0026 A5 ANA L ; H・L 0027 B3 ORA E ; H・L+B・C 0028 END 最後の行は ADD E かもしらん。論理演算とのことでORAにしといた。
894 名前:デフォルトの名無しさん mailto:sage [2008/10/25(土) 09:48:11 ] なんという親切回答
895 名前:デフォルトの名無しさん mailto:sage [2008/10/25(土) 15:56:43 ] ありがとうございます。 助かりました
896 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 16:07:01 ] どういたしまして。実際には、(1)の問題も、8bit加算→9bit、8bit*3→10bitになるので、 (2)のようにHLに結果を保持する手法のほうが一般的です。 最終結果が8bitでいいなら、Lレジスタのほうだけを使えばいいので。
897 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 03:16:05 ] >>885 KITの学生のお前にひとつ忠告しておくが、 過去ログくらい見ろwwwwwwwww 特に↓ >>137-167 今更忠告してももう遅いかもしれねぇけどな。レポートの提出は明日だっけ?笑
898 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 03:40:04 ] うぁはは、丁度1年なのねw
899 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 08:29:19 ] うひょーーーーー いまからレポートやろうと思ったらちょうど良いものみつけたーーーーーーー さんきゅーーーーーーーー
900 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 11:02:57 ] KITは8085なのか
901 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 20:17:42 ] KITはレベルが低いな さすがFランク
902 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 20:22:04 ] ナイトライダーかと思ったらスパルタFランクか
903 名前:デフォルトの名無しさん mailto:sage [2008/10/29(水) 22:15:47 ] おまいら レポート提出はできたのか? 落第しないよう頑張れよwwwwwwwwwwwwwwwww
904 名前: ◆0uxK91AxII mailto:sage [2008/10/30(木) 05:53:46 ] 東洋経済の本当に強い大学ランキング19位。 ( ゚,_J゚)
905 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 10:12:17 ] 機械語教育が8085だからってレベル低いとは思えんが お約束のようにこのスレに質問があるのはどうかと思うが
906 名前:896 mailto:sage [2008/10/30(木) 13:29:33 ] とほほ 165-166のレスしたのは俺だったよ。1年前のコードのほうが896の示唆守ってるし・・・
907 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 16:28:53 ] Wikipedia「アルベルト・アインシュタイン」より >>簡単な数字や記号を記憶することが苦手だったとされる。ある新聞社のインタビューの中で、光速度の数値を答えられず、記者から揶揄されると「本やノートに書いてあることをどうして憶えておかなければならないのかね?」とやりかえしたという。 KITの学生曰く「ネットで簡単に教えてもらえることをどうして自分で考えなければならないのかね?」ってとこだな。 KITの学生はアインシュタインより進んでるってことだ、多分。
908 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 16:38:58 ] 手元にある本やノートはページを開けば数秒〜十数秒ほどで情報を得られるが、 ネットで教えてもらうには数分〜数日かかるわけで、 そのタイムロスが許容範囲かどうかってことだ、多分。
909 名前:デフォルトの名無しさん mailto:sage [2008/10/30(木) 16:46:39 ] 手元にある本やノートに書いてある情報からでは解答を導き出せない、 自力で解こうにも数分〜数日かけても解答を導き出せない、 となるともう誰かに教えを乞うか潔く落第するしかないもんな。