AVR H8 etc. マイコン総合スレ Part2
>>802 gccを使うのに、ルネサスのモニタを使うメリットって何なんでしょうか?
HEWのコンパイラだとルネサスのターミナルソフトを使ってソースデバッグできたと思いましたが。
gccとルネサスのモニタの組み合わせで、ソースデバッグができるんでしょうか?
それに普通は最初にモニタ用意するもんだと思うんですよね。期限前にコンパイルするのが
難しいこととは思えないんですが。
>>803 ルネサスのモニタつーとサポートで配ってる奴か?
最近(でもないか)のgdbなら標準で対応してるぞ。
>>804 Webで調べましたけど、gdbにパッチがあてが必要みたいですね。
動けばいいって話はあるんですが、標準で対応しているというのは誤解をまねく気がしますね。
パッチを当てなくても、動かせる方法があるなら申し訳ないんですが。
>>803 >それに普通は最初にモニタ用意するもんだと思うんですよね。期限前にコンパイルするのが
>難しいこととは思えないんですが。
最初構築したモニタが動くメモリマップから変更したいときはどうする?
ソフト変更したい場合もそうだし、
初めはSRAMつないでました。途中で設計変更があってFPMメモリもつなぎたい。メモリ増設しました。
いくらでもある話。
リンケージスクリプト手で書けばいいし、俺は知ってるからHEWなくてもいいが。
>gccを使うのに、ルネサスのモニタを使うメリットって何なんでしょうか?
はぁ?君まったくわかってないんじゃないの?gccを使おうがルネサスコンパイラを使おうが実機デバッグにモニタは必須だ。
>Webで調べましたけど、gdbにパッチがあてが必要みたいですね。
ルネサスのモニタを使うためにはgdbにパッチを当てることが必要だ。
ただし、gdbにあわせたスタブってのもある。ルネサス製ではないが。
>>805 それは4.xのころの話でないかい?
5.1あたりから標準で対応してる。とりあえず手元にあった
5.2.1のソースにhms用のコードが入ってるのは確認した。
漏れはgdb-stub使っているので実際に使った事は無いが。
>>807 いやパッチは必要だ。因みに俺は6.2.1にパッチをあててgdbをコンパイルして使ってる。
嘘だと思うなら実験すればすぐわかること。
ちなみに
hms == Hitachi Micro Systems
であって日立モニタとは何の関係も無い。gdbは標準で日立のモニタコマンドに準拠していない。
gdb-stubっていうと多分dddからgdb使ってるんだと思うけど、
Linux or FreeBSDから使ってるの?
Cygwinからgdbを起動してメモリをディスアセンブルするとなーんか遅くて仕方がない・・・
それに比較してHtermは早い早い。結局ルネサスのモニタが手放せない・・・
>>806 ちょっと趣旨が違いますね。単にルネサスのモニタじゃなくてもいいんじゃないのっていいたかっただけですよ。
期限があることが分かっているのを無理やり使えば、苦労があるのは仕方ないんじゃないですか。
代替の手段がないわけではないんですから。 gdbを使うだけなら、gdb-sutbのあるモニタがあればいいんですから。
ちょっと力のある人だったら、はじめからgccを使うでしょう。どうしてもHEWというのなら詳しくは
知らないですが、KPITというgcc主体の開発システムは、HEWの下で動くらしいですし。
それに、それだけ設計変更できるような人だったら、リンケージスクリプトの記述とか問題にしないでしょう。
いったいどんな人が、ルネサスのモニタのリンケージスクリプトが分からなくて困るのか分からないですね。
一からmakefileを作るのは大変ですが、事前にmakefileを作っておけば、変更点を見つけるのはそう難しくは
ないでしょう。 たかが、リンケージスクリプトが書ける程度のことがどれほどの自慢できることなのか知りませんが。
言うまでもないでしょうが、プロは評価版も使わないし、ICEを使う場合が多いですから、そもそもデバッグモニタも使わない。
しかし、知っていないとしても、必要があれば何とかするのがプロですよね。
>>811 モニタをCでコンパイルしたいの?
わざわざアセンブラソースがあるものを!わざわざCでコンパイルしてコードを大きくしたいの?
そして日立のアセンブラがgasで通らないことも知らない?
それとgmakeのmakefile書くなんて簡単だよ。少なくともUnixで遊んだことある人なら何の問題も無い。
でも日立のリンカスクリプトは日立リンカを使ったことのある人で無いと書けない。
とっとと自分の書いたソフトを動かしたいのにその前にリンカの仕様から調べなきゃならない。
もちろんその前にバスコンフィグレーションも調べなきゃならない。
あまりにも敷居が高すぎる。実際、俺はそのプロセスをたどってきたから言ってる。
>gdbを使うだけなら、gdb-sutbのあるモニタがあればいいんですから。
プププ
どうでもいいけど君。ほとんどわけわからずにカキコしてることだけはわかった。
>>811 >いったいどんな人が、ルネサスのモニタのリンケージスクリプトが分からなくて困るのか分からないですね。
それはまさに君だ。
リンカスクリプトという言葉を今日生まれて初めて知った君には書けない。
('A`)モウカエレヨ
>>813 gdb関係やモニタに関して大した知識がないのは事実ですね。 商品版のHEWとICEでしか開発したことないですから。
使ったことのないものを確認せずに話をしてしまう。あなたと同じ間違いをしてしまいましたよ。
実機デバッグにモニタは必要とありますが、ICEを使う限り少なくとも自分で用意する必要はないですからね。
ルネサスのモニタで苦労されているようですが、そういう苦労は自分には無縁なものですから。
>使ったことのないものを確認せずに話をしてしまう。あなたと同じ間違いをしてしまいましたよ。
俺は君とは違って知ってることしか書かないし知らないものを知ったかするつもりはないよ。
>gdb関係やモニタに関して大した知識がないのは事実ですね。
確かにロクな知識を持ち合わせてないようだが、どうせ言うなら
gdb関係やモニタに関して"も"だろ?
>>818 それは失礼しました。これはあなたではなかったのですね。
>>771 >君ド素人そのものだね。
>modelsimはMentor製だ。
>半導体メーカーとサードパーティーの区別もつかないの?
>それともmodelsimが主力商品のソフト会社に多額のライセンス料をXilinxが払って
>Xilinx特化バージョンをフリーにして配布するのかよ?
>実機デバッグにモニタは必要とありますが、ICEを使う限り少なくと
>も自分で用意する必要はないですからね。
オヂサンはICEにさんざんだまされてきたから、どうも
モニタを走らせないと安心出来ないというイヤーナな性格に
なってしまったでした。
えぇ、えぇ、JTAG-ICEなら昔のような心配は無いという
のは承知していますけども。
821 :
774ワット発電中さん:04/11/05 06:48:19 ID:ban/t8xq
昔はCPUを引っこ抜いてICEをつなぐという形だということもあって、
ICEをつなぐと動く/動かなくなるっていうのが往々にしてあったし、
ICEとCPUでは挙動が違うなんていうことも結構あった。
>822
今でもフルICEとROM-ICE、JTAG-ICEの挙動が違う事はザラですがな。
特にICEなんか慢性人材不足な会社で作ってる事が多いので(KMCとかソフィアとかunidaxとかいろいろ)
わらわら出てくる新CPUへの対応だけで手一杯だったりするそうですよ。
高速化してくるとピン容量が違うのでフルICEでは動くけど実機じゃ動かない
(逆もあり)というのもありますしね。
今も向かいの席で同僚がJTAG-ICEで動くのにスタンドアローンで動かないと苦労してますよ。
ところで、PICやAVRの場合フルICEってあるのかなあ?なんかエミュレータ+ポートシミュレータで
開発した方が早かったりして・・・
>>823 関連質問なんですが、AVRのJTAGICEmk2でATTiny2313とかをDebugWireでデバッグしている人がいたら
使用感なぞ聞きたいです。
ちょろっと読んだだけなんですが、DebugWireで「書き込み←→デバッグ」を行う時って、
Tiny2313にAVRISPとJTAGICEを両方つけて、一々、なんかすごく面倒な手続きをするみたいなんですが、
どうなんでしょうか? ATmega16あたりをJTAGICEでデバッグするのは別に面倒でもなんでもないんですが。
(JTAGICEで書き込みが出来るから)
AVRにもフルICEあるけれど、滅茶苦茶高いよ。
>>825 ICE40 とか ICE50ってやつだっけ?
ICE40=112852円
ICE50=396970円
(digi-key)
>>826 それくらいなら安い方だろう。
物によっては一ヶ月分のレンタル代でもそれより取られるぞ。
AVRあたりなら、FPGA使ってICE込みのAVR互換チップ作れないかな?
ブレークとかトレース機能付きの。
だれか作って、エロい人。
>>828 オープンコアを知らないのかな?
AVRのコアは既に互換の物がHDLで公開されてる。
>>828 AVRを使いたいためだけにFPGAを引っ張り出すのはコスト的に厳しくならないかい?
AVRのIPも完全に現物と同じとは限らんからのぅ
用途にもよるが使い慣れたマイコンを大規模なFPGAの中に入れておいてデバッグなどに
使うってのは割と良い感じかも知れない。
でも
>>830の言うことも一理あって、只のIPはデバッグが終わってない可能性があるからバグを
抱えてる可能性もあるのが怖い。
832 :
828:04/11/06 09:10:33 ID:QLbb9if0
俺が言いたかったのは、
高いICE買うくらいならFPGAでICE付きAVRを作れないかってこと。
ソフトのデバッグが完了したら普通のAVRにさしかえればよろし。
>>829 そのコアにはICE機能は含まれてますか?
834 :
774ワット発電中さん:04/11/06 11:03:34 ID:2Jr/4hgK
顰蹙買うかもしれないが一言。
正直、デバッガがないとデバッグできない人ってのはプログラマとして無能だと思う。
端的に言えばデバッガなんて(たいていの場合)イラネ。
デバッガ使ってデバッガに起因する余計な苦労を背負い込むくらいなら、
同じ時間を設計とかコードの可読性向上に神経を配ることに当てたほうが
よほど生産性が高い。
20年前ならともかく、今の開発ツールならアセンブラでも十分可読性のある
コード書けるんだから。
おしえてください〜
mega8のTCCR1Aレジスタについてなのですが、
FOC1A/FOC1Bの意味が今ひとつわかりません。
これはたとえばCOM1A1-A0を10(比較一致でLo)を11(比較一致でHi)に
切り替えた場合、そのままだと比較一致が起こるまで変更は反映されないが
FOC1Aに1を書き込むと即時反映されると読めるのですが、これは
たとえば比較一致でHiを比較一致でLoに切り替えた場合、
FOC1Aを書き込まない→次の比較一致ではHiを出力後モード切り替わり、さらに次の一致でLo出力
FOC1Aを書き込む→その場でモード切り替わり、次の比較一致でLo出力
ってことなんでしょうか??
atmega48系ってIOの一部が拡張アドレスになってて
アセンブラでCPI命令とかが使えないね。
>>836 CPI命令って汎用レジスタ(r16-31)以外にも使えるのですか?
megaで拡張されたの?それともアセンブラ上の疑似命令?
CBIの間違いだと思われ
CBIについては、
at90s*のころからアドレス$20以降には使えないような気がする。
at90s2313のデータシートIOレジスタ一覧の備考にも書いてある。
たぶん、in/outが使えないで、メモリのようにld/st系命令を使わなきゃいけないって話では。
>>834 ハードが間違っていたり、コンパイラにバグがあったり、仕様書通りになってないとかザラだからな。
余計な苦労はデバッガだけじゃありませんよ。
デバッガなしでデバッグできないのは無能なんて言ってたら、世の中に有能なプログラマは0ですよ。
>>834 喪前、ICEのマニュアル精読してセットアップするのがめんどいだけなんだろ?
そうだよな、今時のフラッシュマイコンならそんな苦労しているうちに先に
進めるもんな。だが、OTPが主流だった頃は(ry
>>834 あんた組み込みの仕事したことあるのか?
発言から汎用機とか業務系、UNIXerの匂いがプンプンするぞ。
ワンチップマイコンの世界はソース見てバグが取れるほど生易しいもんじゃないぞ。
可読性のあるコード?何寝言こいてますか?
そんなメモリスペースが余ってればワンランク下のマイコンにしてコスト削減を狙うのが
この業界の手法。
841の言う通り、OTPの頃はまさに一発勝負。失敗したら(下手すると)ウン千円の
ICがパァ。で、入手したICを使いきろうものなら納期が何週間なんてのもザラ。
変動する外部信号にあわせて動作するプログラム(タイマなんて当然ないマイコン、
しかもクロックは消費電力削減のため最低限、RAMもないからログすら取れない)
のデバッグなんてICE無しでは不可能に近い。
漏れはだいたいロジアナ使ってデバッグしていたな
少なくともICEよりは信用できた
>>843 ロジアナとICE?が合体したやつがソニーテクトロから出てたような。
正直最強だと思うぞ。
てか、ワンチップマイコンなのにどうやってロジアナを突っ込むんだ?
あ、ほんとだ。
ATmega48って拡張I/Oアドレスなのか。
でもなんか意味もなく上に追いやった感じだなぁ。
in/outの使える下の方ガラガラじゃん。
ワンチップの時はチェックポイント毎に信号出して
「ここまで走ってきてるな」なんてやってたね
ピンが余っていたからできた技だけど。
ICEにさんざん泣かされて、とうとうそっちに行ってしまった
ICEがあるような物ばかり選ばせてくれないし、あっても
なかなか買ってもらえないし、レンタルしても高いし・・・
836です。
CPIとCBI間違えてました。すんません。
IgorPLUGUSBのコードをMega48に移植しているんだが
拡張I/Oのおかげで滅茶苦茶めどい。
>>845 mega64などのIOを見ると、がらがらとも言えないのかな〜と思った。
IOレジスタがPORTGまであるんだなあ。PORTA〜Eを基本IOに納めて、
使用頻度が低い?PORTF,GやTimer3やOCR3なども追い出して、
UART関連など速度を要求しない物を追い出した格好なのかなあ。
>>846 普通にICE使っているけど、それほどトラブルにあったことないけどな。
確かに、実機で出るけどICEでは出ないトラブルはあるけど。頻度はかなり少ないし。
C言語だったらソースデバッグじゃないとやってられないしな、特に最適化しなくても、
コードを消したり、理解しづらいコード出すコンパイラも多い。
デバッガ使うのは無能だとか訳わかんないこと言う人もいるから、ロジアナあれば十分て
人もいるかもしれないけど、大変すぎるよね。
プロでも、アセンブラでプログラム組んだことない人は、今では珍しくないし、ロジアナで
デバッグできる人自体が少ない。そもそも、自分の周りでロジアナデバッグの経験のある人も
いない。
>プロでも、アセンブラでプログラム組んだことない人は、今では珍しくないし、
上にあるように、コンパイラのバグとかいうことまで考えるなら、
最低限アセンブラのソースコードを読める程度でないと困るだろ
うし、ハードの問題とかも考えるなら、ロジアナやオシロの使い方
位分からないと効率悪くてしょうがないんではないかな?
>>850 コンパイラのバグということまで考えるならの回答ということであれば、 通常はそこまで
考えない でしょう。
頻度も低いし、普通は困らないんじゃないか。 なんかおかしいなって思っても、
別の書き方をして回避する場合が多いのでは。アセンブラ分かっていてもいなくても、
試行錯誤で変更して直すしかないのは同じでしょう。
ロジアナやオシロの使い方くらいは、みんな知ってますよ。ロジアナ使ってトレースして
デバッグする人はいないということで、使わないっていうことじゃないですよ。
>ロジアナやオシロの使い方くらいは、みんな知ってますよ。
アセンブラ使ったプログラミングなんてみんなやってますよ。
できない奴は単なる無能なお嬢ちゃん。金もらう価値なし。
おとなしくJavaプログラマでもやってな。
>>852 どういう世界の人なんでしょうか。世の中のことをご存じないんでしょうね。
アセンブラのできるプログラマって人を集めようとすると、年齢の高い人しか今ではいませんよ。
制御といえども数万ラインの世界。アセンブラでのそのそプログラムしている時代は当に終わってますよ。
ルネサスのH8コンパイラなんかも、C言語ですべて記述することが可能になっています。時代の要求に
応じているんでしょう。
アセンブラで記述するとしても、スタートアップルーチンくらい。割り込みをアセンブラで記述することは
まれにありますが、ほとんどの場合C言語の記述ですよ。
確実にアセンブラを使っている業種なんてパチンコ業界くらいしか知りませんが、どういう業界が使っていると
いうのか教えていただいたいものですね。
>>852 おっと、H8でC言語で全部記述したことはないけどね。調べた限りでは、スタックの設定やベクタの設定も拡張機能で
できたはず。すぐに、侮蔑の言葉を吐く心貧しい人がいるから念のため。
>コンパイラのバグということまで考えるならの回答ということであれば、 通常はそこまで
>考えない でしょう。
その言葉、そっくりそのまま>840に投げてみた方がいいんでは?
>アセンブラ分かっていてもいなくても、
>試行錯誤で変更して直すしかないのは同じでしょう。
アセンブラが分からないと、果たして記述の変更が妥当なのかどうかさえ
分からないんではないかと。たまたまメモリマップが移動したために現象
が出なくなったように見えるなんてことだってあるし。原因をちゃんと掴ま
ないまま、結果オーライで製品にしちゃう勇気ないでしょ?
>853
H8は知らないけど、スタートアップルーチンも勝手にくっつけてくれたり、
割込も勝手にベクタに登録してくれるようなコンパイラもあったけどもね。
それでもさすがにタスクスイッチングさせるようなところはアセンブラで
コリコリと書いてやらないと駄目だったな
>>852 そのスタートアップルーチンの記述もできないバカは黙ってな!
>スタックの設定やベクタの設定拡張機能でできたはず。
これはC言語の機能じゃない。メモリマップの機能。
Cで書くときはこれができなきゃ当然プログラムにならない。
>>855 >>853はアセンブラ書いたことないし、書けないんだよ。
できない奴はなんやかんやと理由つけて己の無能を弁護したがるもんよ。
>>855 結果オーライってのは、現実としてあるんじゃないですか。たとえアセンブラで調べても、ポインタの
ミスで変数が書き換えられているのか、コンパイラのバグなのか区別するのは難しいでしょう。
納期が限られている場合が多いし、なかなかコンパイラのバグを見つけている余裕はないでしょう。
タスクスイッチを書くのは、さすがにCではできませんが、誰でも書くってルーチンではないし、
できなければ、市販のリアルタイムOSを使うてもあります。マルチタスクは、信頼性と機能、デバッグの
しやすさを考えると、必ずしも自作がいいとはいえないでしょう。
>>855-858 あえて反論はしませんが、しいて言えば、お父さん、お母さん、学校の先生でも結構ですから
言葉遣いを習ってきて、ちゃんとした言葉つかいができるようになったらお話しましょう。
自分の書いたものをみて、心の貧しさが読み取れませんか?
まともな言葉遣いを期待したいんなら初めから2CHには来るな!
H8ならメーリングリストもある。
それより、も・少しましなスキルを身につけてからここにおいでお嬢ちゃん!
タスクスイッチングたって、別にそんな大げさなものじゃない
んだけどな。単に処理の見通しを良くするためにタスク分けして
簡単なタスク間通信機構を付けて通信させたり。一定周期で
面倒みるような場合でも楽だしね。そんなもの買ってくるまでも
無くてチョロチョロっと書いて実装してしまえばいいだけ。
数万行もあるコード書くのに比べれば楽なもんだと思うよ。
>たとえアセンブラで調べても、ポインタの
>ミスで変数が書き換えられているのか、
>コンパイラのバグなのか区別するのは難しいでしょう。
少なくともCの記述変更でうまくいくようになった部分があっても、
本当にそれが原因だったのかということは生成されたコードを
比較してみればいいことだろ?どちらでも全く構わない
ようなところなら、それはたまたま現象が他に移っていく
だけで何の解決にもなってないという可能性が大だから、
真の原因を探らないといけない。
明らかに生成されたものがおかしかったならコンパイラ
のバグだということになるから、今度は「こういう記述はヤバい」
というのを調べてやらないとまずいだろ?他にも同じような
書き方をしているところが他にもあるかもしれないとは思わない?
アセンブラで困るのは、CPUによって、例えばBCC(キャリークリアでブランチ)の記述が違うことだ。
NOPは、殆ど(というか、例外を知らない)NOPなのに、BCCは、BTFSCとかBRCCとか、
そもそも演算結果が負ならキャリーが立つのか、立たないのか、とかとにかくCPUで
違いすぎ。その点Cなら
if ( val > 4 ){ }
っていう表記で統一される。
逆にCで困るのは、(unsigned char)val みたいに、キャストをちゃんとつけないと、
勝手に符号拡張とかされたり、 volatileをちゃんと入れないと、勝手にループを
省略されたりすることだ。
なかなか これ といった言語が無いんだよねぇ。
864 :
774ワット発電中さん:04/11/08 00:23:58 ID:UT2hqQdT
BASICコンパイラで気軽に楽しもうぜ
>>862 マルチタスクの機能を入れるってのは、結構理解を得られにくい場合もあるんですよね。
自作のマルチタスクは嫌がられる場合もありますね。 実際、自分が嫌といったこともあるし、
使わずにやってくれと言われることも多いです。 作るのはともかく、確認はどうするんだって
話はありますよね。
結局自分のまわりでは、マルチタスクモニタを自作するような選択はされませんでした。
あなたの周りではそんなにマルチタスクモニタを自作しておられるんでしょうか?
(CPUが変わったので、タスクスイッチングを移植したことはあるが、これは、ノンプリエンティティブで
タスクスイッチングの機能しかなかった)
原因を調べるというのは、正論と思いますよ。他に言うことはないですね。
Cって高級アセンブラのことでしょ(w
>マルチタスクモニタを自作しておられるんでしょうか?
ごく普通のプログラミングだから必要だなぁと思ったら当たり前
にやってるけどな。
リソース管理とか仮想記憶とか言い出すと面倒くささ炸裂
だけどそこまでしなくても良い用途はいくらもあるし、単に
タスクの状態保持のブロックをアイドル、ビジー、タイマー
の3つのキューで管理する程度でも充分な用途はいくらで
もあるのでは?タイマー使って定周期で起動かけるなんてい
うのとかも何かと便利だし。
そんな大それたものと思わずに、単なるお役立ちテクニック
として身につけておくと何かと楽できて便利だよ。
>866
yes(w
懐かしいなぁ〜その言い方。要らぬ最適化はしなくて、ソースから
どう落ちるか想像できてしまうのがCだったよね。
(それに比べてPL/Mときたら・・・)
>>866 構造化アセンブラっていうのもあったな。MACROS。(といっても、バルキリーじゃないぞ)
$_while TRUE
$_getchar CH
$_if <cmp CH,80h>,GE,AND
$_c <cmp CH,9Fh>,LE,OR
とかいうやつ。
はっきりいって、読みにくいので、即止めにしたが(w
>866
インラインアセンブル機能しか使わないとそうなりますねw
昔x86のソフト開発やってたころ「Cで書いて」というのにいぢわるして_asm_しか使わずに
hogehoge.cを提出した人知ってますw
>>867 用意されたものをただただ使うだけでエンジニアを名乗る勘違い野郎に何を話しても時間の無駄だよ。
>>870 うるさいやつだな。スタートアップが作れてなんの自慢になるんだ。H8のHEWだと自動生成だぞ
どこでそんな知識を役立てるんだ。 メーカーのモニタをgccに移植するなんてしょぼい仕事を
どこでやるっていうんだ。
君は転職や就職のときに、スタートアップが作れますって自慢して回るっていうのか。
知らないことは言わないとかでかい口たたくわりには、世の中のことを何もしらないじゃないか。
学生はほっとけよ。
873 :
774ワット発電中さん:04/11/09 19:03:35 ID:yFp5zXMS
少なくとも組込分野でのプロを自称するなら、スタートアップ
ルーチンが作れるなんていうのは当たり前過ぎるスキルだから
自慢にはならないだろ。
標準のスタートアップルーチンがそのままでは使えない場合も
あるしな。
なんだなんだ荒れてるな。
アセンブラが分からん馬鹿がごねてるのか
そうかそうか
Cができるったってアセンブラが分からんと
char *test()
{
char *a = "test";
return a
}
が良くて、
char *test()
{
char a[] = "test";
return a;
}
が駄目な理由が分からんだろ?
そうでもないか
アセンブラよりもC言語よりも
ヌーブラの彼女とCが一番
>>871 今時の新人臭いな。
理屈は二人前
スキル、知識は小学生
ところでニーモニックとオペランドは同じ意味なの?
違う
880 :
774ワット発電中さん:04/11/09 22:33:25 ID:BfCtMqoy
なんか自分が見えてないお人が多いけど、
マイコンのコードなんか書いてる時点でエンジニアとして二流以下でしょ。
一流の奴はマイコンのコードなんぞ書かん。悲しいかな。
もちろん、これは自分を棚上げするものではない。俺はまあ三流以下でしょう。
アセンブラがどうとかいってる人は恥ずかしくないか?
アセンブラなんて全く難しくないって。中学生でも理解できる。
現に俺は中学時代MZ-80でアセンブラでゲーム作ってたし。
アセンブラが出来るかどうかなんて低レベルな次元でお山の大将してどうする。
>>880 極論としてそういうのもあるでしょうね。
でもアセンブラ(アセンブリ言語)でもプログラミング技法やコードの効率など善し悪しがあるし
昔はいかに小さく芸術的なコードを書くか真剣に競っていたもんだわ(ってジジイの昔話でスマソ)
何をもって一流二流って言うのかわからんけど、今時はソフトの規模も大きくなっているうえに
コンパイラが優秀だから、アセンブリ知らなくてもCで効率よく開発できる奴がデキる奴って
ことになるのかな。
それともマイコンの仕事自体が二流ってことかい(w
アセンブラができるから偉いとかいう話ではなく、アセンブラくらい最低限
やっとけっつ話。だいたいH8あたりのアセンブラなら、まったく予備知識
が無い状態からはじめても1週間もあればほぼマスターできるだろ。
x86クラスのCPUともなる1週間っつーわけにはいかんがマイコン程度なら
楽なもんだ。
アセンブラを知ってるのと知らないのとでは、たとえばCで何かやっても
差が出る。簡単に覚えられるんだから、やらなきゃ損っつーか、そういう話
だ罠
C言語しかできないってのは、
車で言えばオートマ限定免許みたいなもんだな。
普段はそれでもなにも困ることはないが、
なんかあって車を運転しなきゃいけなくなったとき、
そこにマニュアル車しかなかったら・・・みたいな感じかな。
べつにオートマだけでいいよ、って奴はそれでいいし、
やっぱりマニュアル車も運転できるようになりたいって奴は
ほうっておいても一人で勝手に努力する。
>>880 \ ∩─ー、
\/ ● 、_ `ヽ
/ \( ● ● |つ
| X_入__ノ ミ フッ..舐めんなよ。
、 (_/ ノ
\___ノ゙釣られる訳ねーだろクマ
/ 丶' ⌒ヽ:::
/ ヽ / /:::
/ /へ ヘ/ /:::
/ \ ヾミ /|:::
(__/| \___ノ/:::
>>882 >アセンブラを知ってるのと知らないのとでは、たとえばCで何かやっても
>差が出る。簡単に覚えられるんだから、やらなきゃ損っつーか、そういう話
>だ罠
禿胴。
じじいなんで、アセンブラだけじゃなくアレとかソレとかも考慮してコードを
書くべき と書こうと思ったが、釣りにマジレスしてもな... ┐( ´ー`)┌
何かあったときじゃなくてもCPUを含む回路作ったとき最低限動作チェックするのに
アセンブラは必須だ。
回路エンジニアならロジック屋であってもトランジスタ知っとけ言うのと同じ。
まぁ、分野によってはピュアソフト屋で必要ないやつも居るだろうけど、
組み込みエンジニアにとってはアセンブラでソフトを組めることは
ソフト/ハードエンジニアともできて当然。
メインの開発手法としてアセンブラを使ってなくてもアセンブラリスト見せられて
全く理解できないつーのは話にならん。
886 :
774ワット発電中さん:04/11/10 03:04:25 ID:hM3WxQMM
4
アセンブラができてハードをちょっとかじっとけばハード屋と喧嘩ができるのが強み(w
ま、ハード屋にとってはアセンブラのほうが理解しやすいからさ共通言語みたいなもんよ
組み込みやるならやっとけって感じ
すごくスレのびてますね。
組み込み屋じゃなくて日曜工作屋ですけど(w
今はgccで遊んでいますけど、趣味工作野郎でもやっぱりアセンブラでも
遊んでおいてよかったと思う場面は多いなと思う。
何通りかcで書き方がある場合、どっちが速いのか、どっちがコード小さいのかと
考えるとき、出力されるアセンブラリストを読めるのと読めないのとでは大違い。
ああ、攻殻と・・じゃないこう書くとこのようにコンパイルしてくれるのね、って
わかってくるとc使っていても多少自由がきくし、インラインアセンブラなどを
使う勘所もわかってくると思う。
それに参考資料っつーか、アセンブラで書かれたお手本も参考にできるし、
1つのマイコンのアセンブラをだいたい把握できたら2つめ以降は楽なので
他のマイコン用のお手本(笑)も可能になるし。PICで作られたものを参考に
avrで作るとか。
お仕事で使う人はこのへんはどうなのでしょうか?
>889 すごくスレのびてますね。
それに比べてPSoCは…。
アナログ回路屋ですがマイコン使ってます。外部のSWを読み込んでテーブル検索して
内部のアナログスイッチ切り替えたりアナログ電圧可変したり。
アセンブラで書いてますよ。何しろ一番長いのがテーブルで次がスタートアップ(笑)。
でもロジックで組むと部品増えるしPLD高いしで、マイコンがコストパフォーマンス一番良い。
Cで書いても良いんだろうけどgccインスコしている間にプログラム書き終えそうなものばっかり
だからコンパイルしても512word超えないし(笑)。
全品種フラッシュのAVR愛用してます(笑)。俺の頭じゃPICは良く判らねぇ…何で条件分岐
無いんだってのと、品種多すぎでファミリー間の互換が微妙に無いらしいのがちょっとイヤ。
俺限定
・自分で回路設計もしている
・アセンブリで書いた方がバグが少ない
・1円でも、1Hzでも、1mm^2でも削らなきゃならん用途
という理由で、H8ではアセンブリ派。
もちろんPCだとCを使ってるけど。
なんか、すれ違いネタで盛り上がっているようだが…。
ATTINY2313に4mm角のパッケージが出たね。
よくあるアセンブラに対する悪口に互換性ってのがあるけど、アセンブラそのものは似たりよったり、
そもそもマイコンの場合、アルゴリズムがメインじゃなくてハードウェアコントロ−ルがメインなんだから
ハードウェアの見通しのよいアセンブラが喜ばれる場面が多いのは当然だ。
適材適所使い分けるのがプロだろ?それができないってのが一番よくない。
先月号のDW誌に数値演算のVC++/ICC/アセンブラの速度比較が載ってたね。
P4だとICC > アセンブラ > VC++だったが、
H8の場合は絶対Cがアセンブラに勝つことはないからな。
あと、速度ばかりじゃないんだよね。
どれだけハードが見通しやすいかとかね。
レジスタのリネームなんかされたらお手上げだけだけどさ・・・
>>894 禿げあがるほどに同意w
cでいいところはc、アセンブルが必要なところはアセンブルで書けよおめーら
アセンブラは必要だが・・・gasは嫌いだぁ!!!!
>>897 あれは慣れです。
最近asm38使って無いなあ。
899 :
774ワット発電中さん:04/11/10 23:53:35 ID:wRIHOT0X
斡旋ブラの時代は終わりました。
終わったと思い込んでアセンブリが適しているところも無理やりCで書くのが最悪。
ハード屋から敷居をまたごうとするとCは敷居が高いですはい
やっぱFORTHですよ
なにかにつけてFORTH、FORTHって騒ぐ人はいるんだけど
実際使っている人を見たことがない。
forthって知らなかったので調べてみた。
forthってまんまアセンブラ?
スタックに積んで関数ルーチンコールしてスタックに値返したり、
レジスタに値をロードしてから演算命令したりするのってこの言語に似てるよなあ。
906 :
魚チョコ:04/11/11 15:03:52 ID:XofdYaML
>>905 forthのコンセプトは「人と機械の歩み寄り」だから、人も機械に合わせにゃならんわけだ。
アセンブラといえば、手続き型言語のコンパイラはみなアセンブラ自動生成プログラムと
もいえるわけで、forthの場合は、文法をアセンブラ・機械語に近づけることで、強力な最適
化を可能にしようという作戦だ。
forthのプログラムは数百行くらいのものしか見たことがない。慣れないと異様という他は
ないが、慣れれば他の言語と大差ないんじゃないか。やってることは同じだし。
FORTHは、FORTHコンパイラなり、インタプリタなりを作るのが簡単なんすよ。
YACCとかみたいな、構文解析がいらないし。
if ( a >= b ){
goto hoge;
}
を構文解析する様にするのは頭イタイけど
a
b
>=?
goto hoge
を構文解析するのは簡単だし。
FORTHは非常に日本語的でおもしろい
AとBを足したものにCをかけるというばあい
AB+C*となるとか
909 :
774ワット発電中さん:04/11/11 21:35:48 ID:/qHxc66n
ひまわりが一番
ちなみにopenBIOSだかFreeBIOSはForthで記述されている。
フリーのforth環境もあるので、チャレンジしてみては?
(変態言語と言う点ではAPLといい勝負かもなー)
余談、FORTHはもともとFOURTHとなるはずだったアセンブラ・BASIC・Cだったかなに続く4番目の言語ということで
FOURTHとなるはずだったが、開発マシンのファイル名の制限でFORTHとなった。
そのFORTHは天文観測所の望遠鏡自動追尾プログラムを作成するために作られたという。
80年代初頭にはアセンブラの代替品として期待されforth-79,83と規格が決められたんだけど
83以降Cがブレイクしたため、どうなったかは不明。
スタックマシン向きだから組み込み用なんかいいかもねー
組み込み用マイコンの話題でPPC405シリーズは駄目ですか?
先週からちょっといじり始めたんだが、どーにもマイコンらしくなくてさぁ・・
NECの78Kシリーズってどう?
猛烈に売り込まれてる最中なんだけど。
そりゃそうだ。PICだのAVRだのH8だの・・というレベルの
”マイコンらしさ”を求めるのは間違ってるだろ
>NECの78Kシリーズってどう?
開発環境がロハでライター不要で数百円なら買ってやる
>>912 > NECの78Kシリーズってどう?
開発環境がロハでISPライター自作可能で千円以下なら買ってやる
916 :
912:04/11/12 01:21:30 ID:KLnRHcb/
開発環境がロハだけどライターが専用で5800円ぐらいだって。
78Kを積極的に使おうという気になれる要素が何かある?
78Kはフラッシュの耐久性がなあ…
仕事で使うことがあるけれど、コア・命令セットが超古くさいのであまり積極的に
使いたくはないなー。フラッシュ30回だしぃ(ww
I/O拡張してまで78K/0から逃げたがってるヘタレがここに。
ICE一式レンタルして、開発終わってみたら買った方が安かったよ・・・。
って、開発環境ロハって有り得るのか?
NEC供給のQFPソケット、フットプリントがパッドに合わんぞゴルァ!
78KのICEって内藤電誠以外に出してるところあるのかな。安くて機能もそこそこだからまぁいいんだけど。
>>920 /0ならまだマシな方だと思うが。
/0Sになるとレジスタバンク抜かれて、ただでさえショボい命令セットもさらに抜かれまくってるから鬱になるよ。
現在はC言語も只になってるのかなぁ?
スマソ、亀レスだが、
>>875の理由がわからん。
マシン語はある程度わかってるつもりなんだが…
エロい人解説キボンヌ
>>922 ローカル変数 a[] はスタックの中に作られるから、return した時に破壊される。
>>875ってアセンブラとどう関係するのかよくわからん。
Cの仕様の問題だと思うのだが。
んで、
>>875の上がなぜ○なのかよくわからん。"test"の中身もローカル扱いで
スタック上に確保、んでreturn時に消滅するような気がするのだが・・・
>>924 上のは、"test"が定数領域に確保されていて、その先頭アドレスを
aの初期値としている。戻り値はaの中身なので、定数領域の"test"の
アドレスが返される。
>>924 コンパイラの仕様によるが大抵の場合、
>>875 の上の場合、"test"は
const修飾子を適用した変数と同様に定数データ領域,又はコード領域
に割り付けられているので、最初から常に存在している。
il|li ●| ̄|_ il|li リロード忘れた・・・
>>925-926 スレ違いな疑問でしたがサンクスです。てかローカルに定数確保って意味ないですね。
スタックへ積むデータはどこから持ってくるのかと小一時間(ry
俺なにバカなこと考えてるんだ・・・もう寝る!
>>928 あれは定数でないことに注意してほしいのだが。
あくまでローカル変数の初期値定義ね。
下の例、あのままだとだめなプログラムだが、
引数に戻り値用ポインタが与えられていて
a[]の中身をコピーして返すような仕様だったと
したら、たとえば、入力ポートの状態とかに
応じて関数の中でa[0]の値を書き換えたりする
こともできる。
逆に上の方ではa[0]は書き換え危険。すべきでは
ない。
えーと、そういう場面がどれほどあるかは別にして
下のは
char a[5];
strcpy(a, "test");
/* 何らかの処理 */
の省略形というべきものだから、必要なこともあるよ、と。
>>928 ローカル変数の初期化にはコード埋め込みかROMのテーブルから持ってきて、returnで破棄される。
ただ、staticかconst(コンパイラによるが)付ければローカル以外に確保されるので下の例もOKだな。
921だが、ちっとボロクソ言い過ぎたかも。
78Kの名誉のために言っておくが、PICよりはまともなマイコンだ。採用してるとこもH8より多くらいだしね。
>>930 uPD78F0034AのフラッシュROMは何回書き換え可能なのでしょうか?
A1 デバイスのバージョンによって異なります。
「P」規格以降は ★回の書き換えを保証致しております。
なお、この保証は最初の書き込みから 10年間はデータを保証することを示しています。
従って、★回以上書き換えた場合は 10年のデータ保持は保証できません。
なおデータの保持を気にしない場合はこれ以上書き換える事は可能です。
ただしこの場合はデータの保持は保証されません。
さぁ、★はいくつか、予想してから
http://www.necel.com/ja/faq/mi78k/__78flash.html#0010 を読もう!
>>931 旧日立製作所の人も同じことを言ってたよ。口頭で。
933 :
774ワット発電中さん:04/11/13 12:10:26 ID:m09FN6qt
>>929 >>930 avrgccで試していました。上の奴と、static付き下の奴はあらかじめSRAMにコピーされた
"test\0"のSRAM上アドレスに飛びますね。一方staticなし下の奴はローカル変数域に
FLASH上の"test\0"のコピーを作ってしまう。もちろんリターン後スタック使えば破壊される場所。
>>875 まあアセンブラがわからなくても、*aが確保するのはポインタで、a[]が確保するのは配列で、
先頭アドレスを参照できるだけだ、というのはC言語の知識だけで理解できるのではなかろうか?
Cだけの知識でも後者がだめなのは理解できる。
"test\n"がどこに確保されるのか?という部分はCの仕様だけでOKだっけ?
俺はときどき混乱するけど(w
>>932 そういえば、何のマイコンだったか忘れたが、デバッガはFLASHを書き換えるので、
デバッガに使ったCPUを市場に流しちゃダメよん。
って書いてあったな。まぁそりゃそうか。
>>931 メーカーの保証云々となるとこんなもんだわ。
936 :
774ワット発電中さん:04/11/13 14:48:16 ID:dIAebxCv
20回しか書き換え保証がないのね。びっくり。
21回のものは、9年と11ヶ月ぐらいかな?
937 :
774ワット発電中さん:04/11/13 15:13:00 ID:bjXrAEXG
936はネタ
ではない
>>936 いや、それよりも「10年」の方が問題な様な気が。
10年経ったら消えても知らんってのはまずいと思うけどな。
そういえば、メモリカードのたぐいもそうだっけ。
>>939 フラッシュは保証期間それくらいだったような。
まあ消えないことを保証できるのは昔のヒューズ式くらいじゃないの。
20回すか・・・・・・
デジカメのフラッシュの実力のほどは?なんか不安
942 :
774ワット発電中さん:04/11/13 19:06:58 ID:Rr2oOZx/
20回じゃあ デバッグで終ってしまうよ
せめて100回たのむよー
デバッグ期間中だけ持てばいいんなら、10000回ぐらいは大丈夫ってことでしょ。
944 :
774ワット発電中さん:04/11/14 03:16:00 ID:wpYOZib+
みなさん教えてください。H8を使うのは2回目なんですが、
外バス仕様のH8の外付けRAM内のデータ約1MBを、線の接続無しでPCに転送したいんです。
どのような方法が適当でしょうか(考えられるでしょうか)。目標は、転送レート115kbps程度
つまり、14KByte/sec程度です。
現在考えている(あるいは実験した)ことを書きます。
・IrDA赤外線通信 H8のシリアルポートをIrDAに設定して、赤外線送受信LEDを
接続してPDAで受信、その後メモリカードをPCに差し込んで転送。(実験済み)結果は、
PDA側アプリののコンパイラがIrDAをうまくサポートしておらず、よくなかった。
・電波式通信 315MHz帯の送受信モジュールを使ってRS232データを送信。
通信レートが遅くてダメだろうと思っています(未実施)
何かよい方法がありましたら教えて下さい。
946 :
774ワット発電中さん:04/11/14 03:45:24 ID:97kS7hKX
>>938 いい所に気がついたわね。
他のフラッシュでも40年とか言ってるから、あと20年もすれば
フラッシュメモリのデータ化けが元での大事故が起こるわよ。ケケケ
947 :
さるげと:04/11/14 03:54:35 ID:H5jOa622
955 :
774ワット発電中さん:04/11/14 21:50:29 ID:uX7ztiNW
バーロー
天プレ用意したなら、さっさとスレ建てろよ。
他人が用意した天プレでスレ立てるバカが居るわけ無いだろ。
957 :
774ワット発電中さん:04/11/15 04:09:13 ID:0Lt9Wm4x
氏ね > 956
958 :
774ワット発電中さん:04/11/15 18:21:45 ID:Y0ZVlqEW
>>949 ありがとうございました
さっそく注文しました
2.4GHzなので 802.11bとの兼ね合いが心配です
日本では 違法にならないでしょうか
うーむ
2.4Gはゴミ捨て場だから、てきとーにやっていいと思われ
>>958 っていうか小電力だから問題無しだろな。つかまることはありえない。
TVとかラジオの帯域だとご近所迷惑にならだろうからアレだけど2.4Gなら。
11bとの干渉は2.4G+xxMHzの問題(いわゆるチャンネル)のぶつかり程度じゃない?
962 :
774ワット発電中さん:04/11/15 21:14:53 ID:G0RwTWCR
SH3とかSH4もここで良いの?
964 :
774ワット発電中さん:04/11/15 22:02:57 ID:Y3zFOr3m
解説しよう
ウェルコネとは
歓迎の意である WELCOME は 訳せば ウェルクル
"来る"の反対の意味は "来ない"ですね。
従って ウェルコネ とは、正しく美しい日本語に直せば、「一昨日来やがれ」となります。
MとN。
スペル間違えていたことに起因しているようにしか思えないよ。
ウェルコネ
>>966 そこはあやしさ一杯のインターネットですね。
972 :
774ワット発電中さん:04/11/17 11:21:35 ID:aFVhrmCc
マイコンの初歩的な質問です。
現在、大学のほうで三相PWMインバータを製作する予定なのですが、
マイコンでゲート信号を精製するのは簡単なのでしょうか?
一から勉強するので少し不安になってます。
H8なんかには、PWMモジュールが付いているので、そこに値を書き込めば
ハードがPWMを発生してくれるよ。
974 :
774ワット発電中さん:04/11/17 14:41:15 ID:aFVhrmCc
>973
えっ、そうなんですか?
自分でプログラムを考えなきゃいけないと思っていました。
じゃぁ、そういったマイコンを買えばいいんですね?
975 :
774ワット発電中さん:04/11/17 14:58:38 ID:ANlERXZx
期待している波形が得られるか
データシートをダウンロードして確認したほうがいいよ
976 :
774ワット発電中さん:04/11/17 16:04:40 ID:aFVhrmCc
>975
データシートをいろいろ見てみようと思います。
でもなんか多くて見つけるのが大変ですね(汗)
978 :
774ワット発電中さん:04/11/17 18:49:57 ID:aFVhrmCc
>977
ありがとうございます。参考にさせて頂きます。
やはりマイコンを使うには時間がかかりますか・・・。
学生なので時間をかけて勉強したいと思っています。
とにかく三相モータを回すまであきらめられません。
>978
あきらめずに頑張るっていう姿勢・・・イイ!
指示されたから仕方なく、なんていう奴より身に付くことが多いと思いますよ。
学生でこの時期というと卒論かな?
H8のスペック調べるだけでも大変かな?PWMを単に作ることが目的じゃないだろうし。
H8のPWMつーかカウンタ周りはかなり協力だし、
単にソフトでポート叩いてるわけじゃないんで大丈夫だとは思うが、
ジッタフリーの正確な波形を発生させたいなら、クロックもちゃんと選択して
FPGA/PLDで作ってしまった方が早いかもな。
982 :
774ワット発電中さん:04/11/17 21:15:45 ID:f0/fnNLd
AT90S8535を使った工作はじめて1ヶ月半。ようやくサーミスタ使った温度計とRTC使った
時計を動かす所までたどり着きました。
TOSC1とTOSC2に32kHzのクリスタル付けてやってまして、きちんと正確な時刻を刻むよ
うになりましたが、ISPケーブルを抜くと、うまく発振しないのか時刻の進みが遅れて、しか
もムラが出てきます。
ISPケーブルはchanさんのシリアル接続を使ってるんですが、なんか心当たりある方い
らっしゃいますか?
ちなみに、XTAL1、2につないでいる8MHzのクロックは正確に動いているようです。
>>982 エラッタにこんなことが書いてあるんだが..
>タイマ/カウンタ2のクロックに32.768kHz外部発振器を使用する場合
>VCCが4.0V以上では正しいカウントを行いません。
985 :
982:04/11/17 22:14:53 ID:f0/fnNLd
>>984 うげ、まじっすか?
Vccは5Vですがな・・・
でも、AT90S8535の動作電圧って4.0V〜6.0Vってなってんですが。
AT90LS8535なら2.7〜6.0ですが。
うーん、ちと調べてみるか。
90S8535のRTCはまともに動かん。
Mega16とかに換装して比較してみ。+5Vでもちゃんと
動くから。
987 :
982:04/11/18 00:09:43 ID:Q9FZrae9
って、いろいろ触っているうちに、テスターの先っちょでVccとGNDを一瞬ショートさせて
しまった・・・
LCDが一瞬消えてまた動作しだしたが・・・RESETがきかなくなった・・・
あーこれで8535お釈迦にしたの2個目だ。ショックでかいなぁ。
しかし、ISPケーブルを抜いてもRTCがまともに動作するようになった。しかし意味無し。
>>986 RTCは8535内部の問題?
Mega16かぁ。といっても通販じゃないと入手できなかったよーな。
マイコン壊したし、要検討だなー。
988 :
774ワット発電中さん:04/11/18 00:19:42 ID:lizxIQEH
>980
いろいろ参考になるページありがとうございます!
天才さんだったら脳内シミュレートですか〜・・・、すごい。
僕は地道に頑張ります。
>981
卒論に向けてではないんですよ〜。直接研究テーマには関係ないのですが
どうしてもインバータを作らなくてはいけなくなってしまいまして。
しかも教授は教えてくれない(知らない?)ので、東芝やルネサスに問い
合わせたりしています(汗)
でも、将来自分のためになると信じて頑張っていきます。
>>987 MEGA16は、467円で、安くていいですよねー。
#Digi-keyで25個買ったときの値段だけど(w
>>980 が踏み逃げした様なので、
次スレ勃てていい?
早く、早く、お願いします。
ただし、「勃てられる」と引きます、某スレみたいに。
992 :
980:04/11/18 00:51:16 ID:EJfmZ7jk
993 :
980:04/11/18 00:55:33 ID:EJfmZ7jk
>990
遅れてゴメン、、失敗してたら削除申請します。
994 :
774ワット発電中さん:04/11/18 01:50:37 ID:gUjMr+xW
じゃ、埋め立ては991にお答えして
!、___
/ `ヽ、
/ ',
/ i
{ー-、.,,,,,____,,. イ/ー、
___ゝ ,.イ
/ / ,.-、 ̄ /
ゝ、 / _,.,. イイ/! ヽ/
/ 了 '´ | ', ヽ
_レ-、 | /| ゝ-'´i
/ | ノ ノ / ! i
| ゝ--く / } ',
/ヽi_ノ ! / /| !
{ ィ \_ノ / / | |
ノ`ーー' / / ! |
/ / |
/ / /! |
/ / | i
/ / ! !
', !
995 :
774ワット発電中さん:04/11/18 01:53:37 ID:gUjMr+xW
955
oO
。°
!、___
/ `ヽ、
/ ',
/ i
{ー-、.,,,,,____,,. イ/ー、
___ゝ ,.イ
/ / ,.-、 ̄ /
ゝ、 / _,.,. イイ/! ヽ/
/ 了 '´ | ', ヽ
_レ-、 | /| ゝ-'´i
/ | ノ ノ / ! i
| ゝ--く / } ',
/ヽi_ノ ! / /| !
{ ィ \_ノ / / | |
ノ`ーー' / / ! |
/ / |
/ / /! |
/ / | i
/ / ! !
', !
996
997
998
1000
1001
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。