1 名前:デフォルトの名無しさん [2006/05/24(水) 01:43:34 ] アセンブラ全般に関するスレッドです。 【前スレ】 アセンブラ… ヽ(゚∀゚)ノフォーウ! pc8.2ch.net/test/read.cgi/tech/1132761638/ 過去ログは>>2 辺り
82 名前:デフォルトの名無しさん [2006/06/04(日) 00:31:44 ] DSP得意の積和演算だろ
83 名前:デフォルトの名無しさん mailto:sage [2006/06/04(日) 01:05:16 ] すみません質問です。 スレタイの 「アッー!」 が発音できないのですが・・・どう読むんですか?
84 名前:デフォルトの名無しさん mailto:sage [2006/06/04(日) 01:13:52 ] >82 lea は積ではなくビットシフト >83 ガイドライン池
85 名前:デフォルトの名無しさん [2006/06/04(日) 03:47:54 ] x86のRPLとはなんですか?説明見てもなんのことかよく分からないんですが・・・
86 名前:デフォルトの名無しさん mailto:sage [2006/06/04(日) 05:27:32 ] はじめて読む486あたりの説明で理解できないなら、そういうものだと思っとくしか。
87 名前:デフォルトの名無しさん mailto:sage [2006/06/04(日) 06:21:35 ] セグメントディスクリプタのDPLフィールドと セグメントセレクタのRPLフィールドの 二つあるのが意味不明というか
88 名前:デフォルトの名無しさん mailto:sage [2006/06/04(日) 09:15:37 ] データa,bをキーボードから入力するとa×bの計算結果が表示素子に表示する ソースはどうなりますか?
89 名前:デフォルトの名無しさん mailto:sage [2006/06/04(日) 09:26:57 ] >88 IOの情報も無いのに出力出来るかとか、 せめてCPUくらいは書けとか思ったが・・・ 宿題くらいは自力でやれ、な?(AA略
90 名前:デフォルトの名無しさん mailto:sage [2006/06/04(日) 11:23:14 ] >>88 よし、出来たぞ。 不明な部分は俺が勝手に脳内補完してやったから安心しろ。 ORG 100H START: LD C,1 CALL 5 SUB 30H PUSH AF LD C,1 CALL 5 SUB 30H POP BC JR Z,DISP LD C,A XOR A LP01: ADD A,B DAA DEC C JR NZ,LP01 DISP: LD HL,STR+2 LD (HL),A LD A,33H RRD INC HL LD (HL),A SK01: LD C,9 LD DE,STR JP 5 STR: DB 0DH,0AH,00H,00H,0DH,0AH,24H END START
91 名前:デフォルトの名無しさん mailto:sage [2006/06/04(日) 12:03:44 ] >>88 どうもです。参考にさせていただきます。ちなみに8085プログラミングで やったらどうなりますかね?
92 名前:デフォルトの名無しさん mailto:sage [2006/06/04(日) 13:20:59 ] >>91 学生実験乙
93 名前:デフォルトの名無しさん mailto:sage [2006/06/04(日) 15:27:22 ] >>91 Z80→8080(8085)変換くらい自分でやれ
94 名前:デフォルトの名無しさん mailto:sage [2006/06/04(日) 19:43:05 ] >>93 先ずはZ80でアセンブルして8080で逆アセンブルしてみたら? #取り敢えずJR ZはJP Zに置き換えるとして後はLD DEが問題かな? ##RRDってなんだっけ。
95 名前:93 mailto:sage [2006/06/04(日) 20:02:03 ] いや、俺に言われても…
96 名前:デフォルトの名無しさん mailto:sage [2006/06/04(日) 21:51:34 ] >>94 RRDは4ビット単位のローテートだな LD DEについてはCP/Mでなんでメッセージ出力にDEレジスタを使うと思ってるんだi8080でも問題なしだよ
97 名前:デフォルトの名無しさん mailto:sage [2006/06/04(日) 22:47:57 ] 8085で入力した数を表示素子に出力するとこうなるだろう? .8085 ASEG DISP EQU 0040H DHEX2 EQU 0046H KEYIN EQU 004FH ORG 8000H LOOP : CALL KEYIN JNC LOOP MVI C,1 CALL DHEX2 CALL DISP END
98 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 00:06:13 ] >>88 8085で作ってみたけど間違っているところない? .8085 ASEG DISP EQU 0040H DHEX1 EQU 0043H KEYIN EQU 004FH ORG 8000H IN1 : DB 0 IN2 : DB 0 ANS : DB 0 LP1 : CALL KEYIN JNZ LP1 STA IN1 CALL DHEX1 CALL DISP LP2 : CALL KEYIN JNZ LP2 STA IN2 CALL DHEX1 CALL DISP MVI C,IN1 MVI A,IN2 LXI H,0000H LP3 : DCR A DAD B JNZ LP3 CPI 15H CALL DHEX1 CALL DISP END
99 名前:デフォルトの名無しさん [2006/06/05(月) 00:21:11 ] >>36 >>50 去年は足し算引き算掛け算だけだったんだが 今年はバブルソートかよ。
100 名前:デフォルトの名無しさん [2006/06/05(月) 04:34:21 ] アセンブラでゲーム作れますか?
101 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 05:40:51 ] ゲーム機はほとんどアセンブラですが
102 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 10:59:47 ] >>101 いつの時代ですか
103 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 11:31:54 ] >>101 対応コンパイラが無くて困ってるPS3開発さんですか?
104 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 17:11:13 ] マクロアセンブラに条件アセンブル、繰り返し、出力などがあれば アセンブラでもライフゲームくらい作れるんじゃないの? TeX でライフゲーム作ったと言う話は聞いたことがある。
105 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 17:17:54 ] >104 んなもん無くたって作れる。
106 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 17:28:30 ] あるCPU上で実行可能な全てのプログラムはアセンブラで記述することが可能。 現実的かどうかはともかくとして。
107 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 17:44:17 ] みんな。アセンブラとアセンブリ言語をまちがえてないか?
108 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 17:50:39 ] >>107 ttp://e-words.jp/w/E382A2E382BBE383B3E38396E383A9.html こういう事が言いたいなら、お帰り下さい。 この程度の意味が通じないなら日本語を使って生きていくのは難しい。
109 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 18:12:55 ] そういうばやいはアセンブリ言語を使って会話してください
110 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 18:22:33 ] フルアセンブラでOS創ったよ
111 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 20:06:50 ] mov trash,107 fire trash
112 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 20:11:28 ] >>106 そのCPUに対応したアセンブリ言語があると仮定した場合にその命題は常に正しい。 だがCPUに対応したアセンブリ言語がそもそも存在しない場合、記述は不可能。 なかなか無い反例だが?
113 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 20:13:25 ] >>112 >なかなか無い反例だが? 普通にあるような・・・ENIAC とか
114 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 20:30:12 ] クロスアセンブラ作ればいいんじゃない。
115 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 20:58:38 ] いや、そもそもENIACのプログラムは電気的な配線(コード)として表現されるから。 強いていうと、アセンブラの出力が配線図として出力されるとか?
116 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 21:02:40 ] ここ数年の話だって、intel/AMDが新しいSIMD命令追加した直後、 アセンブラ未対応で直接バイナリ埋め込んだりとかあったなぁ。
117 名前:112 mailto:sage [2006/06/05(月) 21:07:12 ] >>113 「現在は」なかなか無い反例 と言いなおそうか。 たしかにENIACについちゃ反例になるだろうが。そもそも機械語なんて概念が無いから。
118 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 21:07:24 ] >>115 手作業でプログラムを入力しないといけないんだっけ? そうなると、エニアックはCPU載せてるとは言えない説を提示したい。
119 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 21:08:22 ] xor (107),(107)
120 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 21:09:17 ] >>115 ENIACは10進数で計算する事を忘れてはいけない。そのアセンブラがあったとしてもそれだけで膨大な「配線組み合わせ」(プログラム)になってしまう。
121 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 21:11:38 ] >>120 アセンブルは最新PCでやればいいじゃん。
122 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 21:18:45 ] >>121 ttp://www.4gamer.net/news/image/2004.07/20040717153840_0big.html いくら最新PCでもこれは”アッセンブル”できんだろ まずはマニュピレータry
123 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 21:20:46 ] まさに組み立て!
124 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 21:23:18 ] アセンブル結果を自動的に配線してくれるメカを作ればいいんだ。 ただ、メカの製作はハードウエアであり、ソフトウエアではないが。
125 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 21:25:52 ] DNA計算の場合も普通の意味でのアセンブリ言語はないような気がする。
126 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 21:28:53 ] >>124 今だと PLD とか FPGA がそれにあたるのかな。
127 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 21:38:45 ] エニアックって、数式記憶機能付き関数電卓みたいなもので、 プログラミングができる「PC」とは違うものなのかな。 あ、でも分岐命令はサポートしてる?
128 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 22:59:11 ] >>127 電卓とは違う。どう考えても卓上には乗らない。(大きさと重さの面で) そもそも、現在使われているCPUとは根っから構造が違う。
129 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 23:05:04 ] 誰も卓上に乗るかどうかなんて聞いてないよ! 構造がどう違うのか教えてくれ。
130 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 23:05:27 ] 分岐は知らんがループというか繰り返し演算は出来る。 それしか出来ないというか・・・
131 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 23:08:19 ] 弾道の計算が30秒でできたそうだが、 今のC言語とかで書くとどんな処理だったんだろう。
132 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 23:11:19 ] まずは回路図が欲しいな。ぐぐっても見つからないorz
133 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 23:14:30 ] エミュレータ欲しいな〜。
134 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 23:16:45 ] はい。タケコプター!
135 名前:デフォルトの名無しさん mailto:sage [2006/06/05(月) 23:17:36 ] アンアンアン
136 名前:デフォルトの名無しさん mailto:sage [2006/06/06(火) 01:26:24 ] 8085アセンブラでデジタル時計ってどんなプログラムリストになるの?
137 名前:128 mailto:sage [2006/06/06(火) 01:43:11 ] >>129 現在のCPUを始めとする演算システムのほとんどは2進法を用いて計算する。 ENIACは10進数で演算するため、2進数に比べてとても難しい回路になる。 あとは、メモリの保存方式の違いとか。
138 名前:デフォルトの名無しさん mailto:sage [2006/06/06(火) 01:54:13 ] >>136 CALL TIME DI HLT
139 名前:デフォルトの名無しさん mailto:sage [2006/06/06(火) 02:04:31 ] 最近世間じゃ8085が流行ってるのか? 学校の課題にしても今時せめてZ80互換くらいにしろよと言いたいが。
140 名前:デフォルトの名無しさん mailto:sage [2006/06/06(火) 02:18:33 ] この際だから4004とか、6ビットのキャラクターマシンなんかでも…
141 名前:デフォルトの名無しさん mailto:sage [2006/06/06(火) 07:37:15 ] >>124 FPGA
142 名前:デフォルトの名無しさん mailto:sage [2006/06/06(火) 08:21:26 ] >>141 >>126
143 名前:デフォルトの名無しさん mailto:sage [2006/06/06(火) 10:11:20 ] しかしFPGAでループ書くっつってもなー ちょっと違うんじゃないか?
144 名前:デフォルトの名無しさん mailto:sage [2006/06/06(火) 10:12:27 ] ちょっと血が膿んで内科医?
145 名前:デフォルトの名無しさん mailto:sage [2006/06/06(火) 10:21:58 ] >>139 学習用マイコンボードは何故か8085な奴が多いのですよ。 TK-85もどきとか。
146 名前:デフォルトの名無しさん mailto:sage [2006/06/07(水) 00:14:18 ] 確かに85の方がI/O周りが80よりは楽だが……
147 名前:デフォルトの名無しさん [2006/06/11(日) 08:48:29 ] Microsoft Macro Assembler 8.0 (MASM) Package (x86) www.microsoft.com/downloads/details.aspx?familyid=7A1C9DA0-0510-44A2-B042-7EF370530C64&displaylang=en The Microsoft Macro Assembler 8.0 (MASM) is a tool that consumes x86 assembly language programs and generates corresponding binaries. File Name:MASMsetup.EXE Date Published:6/7/2006 Download Size:311 KB
148 名前:デフォルトの名無しさん mailto:sage [2006/06/11(日) 11:39:38 ] System Requirements Supported Operating Systems: Windows 2000 Service Pack 3; Windows Server 2003; Windows XP Service Pack 2 Required Software: Visual C++ 2005 Express Edition Disk space requirements: 1 MB (x86)
149 名前:デフォルトの名無しさん mailto:sage [2006/06/11(日) 14:18:19 ] >>124 PLDとVHDLで妥協しないか
150 名前:デフォルトの名無しさん mailto:sage [2006/06/11(日) 14:32:43 ] 激しく外出
151 名前:デフォルトの名無しさん mailto:sage [2006/06/16(金) 03:21:28 ] test
152 名前:デフォルトの名無しさん mailto:sage [2006/06/16(金) 18:03:41 ] jz
153 名前:デフォルトの名無しさん [2006/06/21(水) 01:50:38 ] cygwinと本物のLinux環境の双方でコンパイル可能な、ポータブルな アセンブラコードを書くことは可能でしょうか? 試しにGentooLinuxとcygwinで、同じ内容のCのソースコードを アセンブラに落としてみました。 (gcc -S xxx.c -o xxx.s) ちなみにどちらも同じPC(CPUはアスロンXP)です。 出力されたファイルを見ると、同じgccでも内容が結構違うみたいです。 お互いのxxx.sファイルをコンパイルすることもできません。 cygwinとはいえ、アセンブラレベルまでソース互換とすることは 対象外ってことでしょうか。
154 名前:デフォルトの名無しさん mailto:sage [2006/06/21(水) 02:44:22 ] ものによる
155 名前:デフォルトの名無しさん mailto:sage [2006/06/21(水) 02:59:45 ] つーかそもそもCygwinはLinux互換環境じゃねーよ
156 名前:デフォルトの名無しさん mailto:sage [2006/06/21(水) 03:19:39 ] 発想がまるで駄目だな もうちょっと勉強してこい
157 名前:デフォルトの名無しさん mailto:sage [2006/06/21(水) 04:33:50 ] 最新のPentiumでアセンブラを組むと、VC++より遅かったりする。 ロード処理と命令処理とストア処理が並列に並ぶようにスケジュールしないと速くならないんだよね。 しかも演算ユニットが増えて、分岐予測しながらキャッシュしているなか、マルチスレッドのこともあるし、 その情報を元に、マイクロソフトは最適化してVCコンパイラ作ってるものだから、全然速度が追いつかないッス。
158 名前:デフォルトの名無しさん mailto:sage [2006/06/21(水) 11:16:08 ] >>157 × アセンブラを組むと ○ 8086〜386のイメージで命令を並べると パイプライン構造を持つCPUに関してただ命令を順に並べると パイプラインストールなど発生する可能性があるのが当たり前
159 名前:デフォルトの名無しさん [2006/06/21(水) 16:48:43 ] アセンブラで書いても速くならないのね
160 名前:デフォルトの名無しさん mailto:sage [2006/06/21(水) 17:22:03 ] どんなバカがアセンブラコード書いてもCより速くなる時代はとっくに終わったんだよ。 その程度の事も解らないバカだから、最適化すべき箇所と手法を間違えて 時間を無駄にした挙句、機械的な最適化のコンパイラなんぞに負けるわけだ。
161 名前:デフォルトの名無しさん [2006/06/21(水) 17:31:13 ] バカっていうなよ・・・
162 名前:デフォルトの名無しさん mailto:sage [2006/06/21(水) 21:08:29 ] 機械的な最適化を行うためのプログラムは・・・
163 名前:デフォルトの名無しさん [2006/06/21(水) 21:25:24 ] アセンブラ遅いのー?
164 名前:デフォルトの名無しさん mailto:sage [2006/06/21(水) 21:37:03 ] Javaが一番速い
165 名前:デフォルトの名無しさん mailto:sage [2006/06/21(水) 23:23:52 ] オレコードが一番早いに決まってるだろ。 コンパイラに負けるやつは単に勉強不足。
166 名前:デフォルトの名無しさん mailto:sage [2006/06/22(木) 02:38:21 ] >164 x86環境ではJavaScriptにすら劣る低速言語だけどな。
167 名前:デフォルトの名無しさん mailto:sage [2006/06/22(木) 10:38:58 ] JavaScript ってやっぱ遅いのか。
168 名前:デフォルトの名無しさん mailto:sage [2006/06/22(木) 13:15:30 ] そりゃJavaベースだしな
169 名前:デフォルトの名無しさん mailto:sage [2006/06/23(金) 01:07:42 ] いま>>168 がいいこと言った!! ( ´∀`)
170 名前:デフォルトの名無しさん mailto:sage [2006/06/24(土) 00:21:05 ] >>160 ばかだなオマエは
171 名前:デフォルトの名無しさん mailto:sage [2006/06/24(土) 00:25:50 ] >>170 しかし、自分がアセンブラを書いてもコンパイラに負けることを 自覚している点で、本当のばかではないと言える。
172 名前:デフォルトの名無しさん mailto:sage [2006/06/24(土) 01:14:12 ] CPUにもいろいろあるが、Z80くらいだったら、アセンブラで作った方が Cで最適化したよりも格段に速いと思う。 最適化したCのプログラムにBUGが有ったときには、最悪な結果に なりそうな気がする。
173 名前:デフォルトの名無しさん mailto:sage [2006/06/24(土) 01:38:59 ] Cでプログラム組む奴って、ハードの事が判ってない奴が多い。 故に、信頼性の低いプログラムになりやすい。はっきり言って仕様BUG
174 名前:デフォルトの名無しさん mailto:sage [2006/06/24(土) 02:39:42 ] というかハードにあまり深く踏み込まなくても良いように高級言語があるんだが
175 名前:デフォルトの名無しさん mailto:sage [2006/06/24(土) 03:44:41 ] 踏み込まないと踏み込めないの違いだな
176 名前:デフォルトの名無しさん mailto:sage [2006/06/24(土) 08:23:52 ] アセンブラの知識はあるけど極力Cで済ませる漏れが勝ち組。
177 名前:デフォルトの名無しさん mailto:sage [2006/06/24(土) 11:45:48 ] アセンブラの知識もCの知識もあるけど極力Rubyで済ませる漏れが本当の勝ち組。
178 名前:デフォルトの名無しさん mailto:sage [2006/06/24(土) 12:32:36 ] 「ぬるぽ」と恐れずに言える漏れが真実の勝ち組。
179 名前:デフォルトの名無しさん mailto:sage [2006/06/24(土) 13:17:28 ] ( ・∀・) | | ガッ と ) | | Y /ノ 人 / ) < >__Λ∩ _/し' //. V`Д´)/ ←>>178 (_フ彡 /
180 名前:デフォルトの名無しさん mailto:sage [2006/06/24(土) 14:08:20 ] Cは使えるけどバグは怖いしめんどくさいからアセンブラで済ます俺は負け組。
181 名前:デフォルトの名無しさん mailto:sage [2006/06/24(土) 15:44:58 ] 言語も人も適材適所と思ってる俺が勝ち組 下らんこと話してないでおまいら働け
182 名前:デフォルトの名無しさん mailto:sage [2006/06/24(土) 20:01:57 ] 今、アセンブラの仕事って、有るのか?