1 :
_outp(0x03f8,0x2ch):
2 :
トコノイタンハ ◆WfuO0J/v7s :03/12/29 17:18 ID:Jzw7/sUv
2
>>1 0x2ch ってなんだよ
と逝ってみるテスト
8bitcodeで2cHex
>>5 それならアセンブラで0xぬいて2chがよかったな。
0xもhも入っているのは妙だぞ
7 :
1:03/12/31 11:39 ID:eqJCCHKS
アゲてみよう・・・
8 :
名無しさん@お腹いっぱい。:03/12/31 22:05 ID:Fc/DyVjc
DJNZ
DI
EX (SP),HL
XOR A
LD H,A
LD L,A
PUSH HL;PUSH HL;PUSH HL;PUSH HL;PUSH HL;PUSH HL;
PUSH HL;PUSH HL;PUSH HL;PUSH HL;PUSH HL;PUSH HL;
昔と違ってアセンブラ自体の機能が低くて、ほとんどコンパイラの
バックエンドと化してしまった今、withC(++)で使うしかないのか?
GCCのasmは便利だけど、変更リストに載せるレジスタを間違うと、
デバッグ困難なバグが出るんだよな。
あと、最近のコンパイラは同じ変数でもレジスタを渡り歩いたりす
るので関数の途中から飛び出して適当なところに飛び込んだりする
のが難しかったりする。トラップ処理ができないじゃないか!
といった話をするスレか?
>>9 Z80で一番高速なゼロクリアプログラムだねぇ。
メモリへの書き込みは、Pushが一番速いんだよな。
12 :
9:04/01/03 23:57 ID:Rd9faeO2
>>11 >メモリへの書き込みは、Pushが一番速いんだよな。
そうだったね。 昔のZ80のゲームで多用されたやりかた。
しかし自分で書いといて言うのもなんだが、
EX (SP),HL じゃ意味無いし
XOR A
LD H,A
LD L,A は
LD HL,0 のほうがちょっと速いし
まあ、大晦日の飲んだくれカキコだから勘弁して。
8・16ビットマイコンのデファクトってNECだと思ってたんだけど、
最近はH8とかSHなのかな。
>>13 NECつうと78Kあたりですか?
漏れはV850とかVRしか聞かないなあ。
15 :
13:04/01/04 19:04 ID:7TP2fPKE
>>14 78K0あたりがデファクトだと信じてたんですけど。
nasmとかmasm32とかTASM32とかRadASMとか
いろいろありすぎてどれ使ったらいいかよく分からん
なんでもいいよ。
ていうか、この板だと86系でアセンブラ組む奴は少数派な気がするな。
>>13 今は間違いなくH8->SH系だな。携帯電話での採用実績にはじまって、
ホビー用でもダントツ。トラ技の巻末の広告ページ見てみ。
H8/SH系のボード販売がどれだけ多いか。
で実際、picなんか使うぐらいならH8の方がよほど使いやすいよ。
ライターなんかなくても使えるし。ポートの数は多いし。
まともなOS載せられるし。
19みたいなお客さんが居て、ソフトの費用がかさむのだよな。
H8はコンパイラのポリシーを理解し・かつ生かした良い石だとおもうよ。
新しいCPUにすると開発環境に金かかるわけで。
現状で困っていないならそれでいいんでは?
NECのはフラッシュの書き込み回数少な過ぎなので
漏れは使いたくない。
22 :
19:04/01/07 20:55 ID:MuHXWh9z
でも、トラ技の「実装技術館」(市販品の分解写真)
なんかを見ると、デジカメとかはNECのCPUが多いよ。
(消費電流の関係か?)
フラッシュ書き込み回数が少ないのは同意。
23 :
19:04/01/09 01:26 ID:4M6G7WxB
24 :
19:04/01/09 23:33 ID:xFzgbOXj
まぁ、いずれにせよソフト屋にCPUの選択権など無いのだが。
この前ハード屋に日立のCPUの方がいいと言ったら聞いてもらえなかった。
連続カキコスマソ。
26 :
19:04/01/10 21:48 ID:FLQs3JCj
>>25 コストダウンしようとしてハードを
ソフトに置き換えるのってほんと大変なんだよ。
ハード屋さんは簡単に考えているようだけど。
ただ単に「こっちのCPUの方がいい」とか言われてもなぁ。って感じなんじゃないの。
いくら使いやすいCPUでも、納期、価格、商社とのつきあいの都合、サポート、在庫管理の都合、
過去に開発した製品のしがらみ、購入済みの開発ツールの償却、社員が既に持っている
ノウハウ、その他諸々・・・。説得するにはいろんなものをひっくり返さないと。
やるとしたら、購買や資材や開発部門全体を含めた話し合いになるんじゃないの?
でもソフト屋ってそういう根回し自分でやらないんだよなぁ・・・。
そうだね。
・商社とのつきあい
・購入済みの開発ツール
こういう、純粋に工学的でない要因もかなりのウェイトを占めてるね。
あと、設計者の好みっていうのもあるけど。
29 :
名無しさん@お腹いっぱい。:04/01/13 11:02 ID:wPqxAEh/
>>28 入手性、廃品種にされやすいメーカーか(何年現行でいられるか)などのファクターもあるしね。
Z80が何年も現役で居たことを考えると、ある意味すごいと思う。今では純粋なZ80はなくなったけど、FPGAのipで生き残っていたりする。
コストダウンは、ソフトも判るハード屋とハードも判るソフト屋がいないとぜってー無理。
ハード屋は自分の作ったハード用のソフトを書いてみて、ソフト屋は秋月なんかのキットを買ってきて組み立てながら、ハードの勉強をすべき。
アセンブラは68系の方が綺麗だけど、Z80は直交性にかける部分があったし
30 :
名無しさん@お腹いっぱい。:04/01/13 11:32 ID:jC3uGcWu
>>29 ザイログから未だに売っているんだけど。シルクが黄色いやつ。
使い道はパチスロのサブ基板。でも、このサブ基板も川鉄KC80とか、H8とかに
移行しているから、マジ無くなるのは時間の問題。
>>30 罪ログって一度倒産してるよね。まだ存続してるんだ。びっくり。
パチスロのメイン基板の設計はしていたよ、6年位前。LEテックのしか使えなかったからなあ・・・
>>31 有名どころのスロは、LE2080とかが使えるけど、日電協非加盟のスロは、
今でもZ80を使ってるよ。
予断だけどLE2080高すぎ。3社の合弁会社ぼり過ぎ。ああいう
天下り会社は根絶して欲しい。
>>31 勤めていた会社は業界最大手なので、LEしか使ってませんでした。やきとりね。
NDKよりSECTA(保通協)の顔色伺いの方が大変だった記憶しかありませんねえ。
(まあ、子会社でいろいろいろ悪さしたしなあ。)
昔は6802とか色々使えたんだけど、最近はつまらないですなあ。
高いのもあるけど、アーキテクチャが微妙に気色悪いLE系チップ(詳細は契約上ここでは言えないけど)。
>>33 (まあ、子会社(沖スロ)がいろいろいろ悪さしたしなあ。)
でつ。わたしはやっていないーけっぱーくだー♪。
35 :
名無しさん@お腹いっぱい。:04/01/13 18:04 ID:NO6m/6EV
アセンブラ勉強するのにいいHPない?
hello,worldレベルから教えてくれる所キボン
36 :
名無しさん@お腹いっぱい。:04/01/13 18:09 ID:j6MaT2vk
MSXって、使うのにライセンス料とかいるんですか?
>>37 秋月C基板サイズのMSXって売らないかなあ・・・
>>37 市販のMSXはメーカーが製造時にライセンス料(名称利用料とMSX-BASIC利用料かな?)を払っています。
>>38 1chipMSX開発してる人居るので可能性はあり。
状態遷移処理って、関数テーブルでやってます?
それとも、switch〜caseでやってます?
>>40 ケースバイケースでしょう。
状態数が少なければswitchでもいいけど、漏れはテーブルかなぁ。
テーブルの方が保守性がよいし。
漏れはswitchかな。
あらぬ値でテーブル引いてとんでもないところに飛ぶ
危険性がないのと・・・・・昔のCコンパイラは結構バグが
多くて、そういう出現頻度の少ない記述をすると間違え
られたりしたのがトラウマになってる。
ビットフィールドもバグの巣窟だったなぁ。
M$-Cは式が複雑になると途中で勝手にやめてエラーも
出さずに「ちゃんとコンパイルした振り」をしていたのも
印象的。
43 :
40:04/01/27 20:22 ID:Hcqb8kh3
>>41そういえば私もケースバイケースですね。
状態遷移のマトリックスが小さいときはswitch〜case、
イベントが多くなってきたらテーブルとか。
確かにテーブルの方が各処理が小さくなって保守しやすいという面はありますね。手間はかかるけど。
テーブル使うときは
>>42が言うように、dでもないところに飛ばないように、
テーブルを呼ぶ前に範囲チェックしたりしてましたね。
最近は、やらなくなったけど。
ところで、単体デバッグとか、どの程度真面目にやってますか?
私は動けばOK程度のデバッグしかやってないですけど、
ちゃんと入出力決めて記録残して系統立ててやってますか?
44 :
ココ:04/06/08 15:41 ID:2+x/gTXD
カレン
45 :
電鍵4種:04/06/10 11:40 ID:OYatlf5A
>>43 まず仕様書ってのがあるでしょ。
最低これは満足させなきゃならんでしょうね。
しかしこれで充分ではないっす。
よいコーディングの条件の一つは、頑丈なことですな。
仕様書以外の使われ方をしてもフリーズとかの異常動作に陥らないことが大切ですな。
そういう条件をまず洗い出す。大変だけどね。
それをやっとけば現場で混乱を起こすことがすくないっていうもんだにゃ。
まあ、他にもあるけどにゃ。
>>40 switch-caseで可読性が悪くなったらStateパターンに移行するってのは無しですか?
>>40 switch-caseよりelseifのオンパレードの方が好きだな。
融通が利くし、break要らないし。
48 :
774ワット発電中さん:04/06/25 02:05 ID:0zbbbtSc
SYSTEM-C SpecCのスレはここ?
誘導してくんろ、ここの人たちだったら誘導してくれると・・・
50 :
774ワット発電中さん:04/06/25 03:40 ID:0zbbbtSc
まじであったんだ。
感動したありがと。2chってすごすぎ
明日も仕事だ、お互いがんばりましょ^^>49
>>47 インテルコンパイラforX86だとif-elseの方がほーーーーーーーーーーーんのちょぴっとだけ早いんだよな。
>>51 intのサイズとCPUの扱えるサイズが一致してればcaseいいが、
8bitなCPUだとcaseが16bit扱いとなりでかく遅いコード吐くものがあった
hosyu
テヌト
テヌト
56 :
774ワット発電中さん:04/12/03 13:39:16 ID:xrvj4nWe
age
ホシュ
58 :
774ワット発電中さん:2005/04/25(月) 22:57:12 ID:T/q17Fe9
H8のGCCってビット操作命令吐かないんだな。
知らなかった。もっとかしこいと思ってた。
59 :
774ワット発電中さん:2005/04/26(火) 01:03:25 ID:JTCfgpDO
H8 のビット操作命令って 8bitレジスタ縛りのBSET 1, R0 みたいな命令セットだっけ、
たしか H8 -> SH-3 にアセンブラレベルで移植してたときに
SH ってビット操作命令 (BSET/BCLRタイプ)がなくて愕然としたことがある。
まあH8の場合16bit/32bitのビット操作のときどうするかという一貫性の無さあたりで
採用してないんじゃないかと思います。
ビット操作命令がないCPUもあるからいっそのこと不採用ということじゃないかな。
嫌なら改造しろって感じかな
そういえば最近のGCCが吐くARMのコード見てるけどちょっとおバカさんと
おもいますね。かといって70万もするARM C(RealView)は買ってもらえないし、、
3.4あたりから吐いてくれるはず。
どういう条件だったかな。
61 :
774ワット発電中さん:2005/04/26(火) 13:05:39 ID:Uhacskkt
i
SH ってビット操作命令 (BSET/BCLRタイプ)がなくて
AND/ORで代用できてしまうからでは?
>>59 どのメモリ・IOレジスタに適応できるかは機種依存
→どうせ機種依存ならインラインアセンブラでも使えよ
ってことかな。
むかし外注で某大手のソフト屋に仕事やらせたら、
こいつビット演算知らなくてif文の嵐になったことがあった。
一画面のルーチン漏れが書き直したら2行になった。
アンナ香具師でもソフト屋やってられるんだなぁ・・・と
思ったのどした。
大手にひどいのはいっぱいいる
アセンブラで条件分岐しないプログラムで
16進文字('0'〜'9'、’A'〜’F''/'a'〜'f')からバイナリへの
変換をやってのけるというのにはちょっと感動したっけ(遠い目)
10進補正かなんか使うやつ?
俺も、どうすればこんなトリッキーなコードを思いつくんだよと悩んだことある。
20年くらい前か。草の根BBSで意味を教えてくれた偉い人ありがとう。
出来ればそのコード晒してくんろ。
>>66 俺が見たのは逆だった。バイナリから16進文字。
確か、トラ技Special(Z80のなんとか…)だったような。
AND A,0FH
ADD A,90H
DAA
ADC A,30H
これで合ってるかな?
xorでmovするのもあったな。
#asm
#endasm
アセンブラでプログラム組んでやったぞ。ほめろ。
74 :
774ワット発電中さん:2005/11/07(月) 01:17:30 ID:EoikqVge
86系のアセンブリ言語とH8系のものとの違いが分からない
その二つだけを比べてもだめだ。
もっと色々知ってれば分かるよ。
76 :
774ワット発電中さん:2005/11/26(土) 23:00:05 ID:riOKdcq9
>>74 ソースとディスティネーションの順序が逆
■86系
mov dst,src
■H8系(モトローラ系)
mov src,dst
CELLのアセンブラ仕様書見たけどさっぱり分からなかった。
ときどき表見ながらアセンブラ使います。
命令表をでっかく印刷して壁に貼ろうかな。
左手に持ってると邪魔。
78 :
774ワット発電中さん:2005/11/27(日) 03:15:04 ID:LTbbQSF6
↑ブゲラ
79 :
774ワット発電中さん:2005/11/28(月) 05:32:01 ID:e3u+HS9V
アセンブラやC言語は 独学で勉強できますか? おすすめの参考書とかありますか?
独学出来ますが、言語だけじゃなくハードウェアや
コンピュータサイエンスのバックグラウンド的知識を
同時に増やすことが言語を覚えることより重要です。
とにかくたくさん実際に使われているソース読むのがいいよ。
81 :
774ワット発電中さん:2005/11/28(月) 07:34:33 ID:e3u+HS9V
つまりは 電気・電子工学(ハードウェア)+アセンブラ・C言語 コンピューター(ソフトウェア) を勉強したほうがいいと ハードウェアの独学勉強は難しそうですね 専門学校等に行くのがいいですかね できたら
82 :
774ワット発電中さん:2005/12/12(月) 01:23:06 ID:J1XmkRSs
話豚切るけど、アセンブリ言語でプログラムしたたくさんいると思うけど、
その「アセンブラ」自身を作ったことある人いる?
ディスアセンブラとデバッガなら作ったことあるす。
>>83 即レスサンクス。
頼もしいですね。漏れも逆アセンブラはZ80用を作ったことあるよ。
モニタROMに入れたもので、わずか2Kだけど、ちゃんとラベル付き
だった。
デバッガは、まあ、「モニタ」と呼べるものなら作ったかな。ブレーク
ポイントとかシングルステップとか、そんな機能を作るのも楽しかった。
マルチタスクモニタでもそれを出来るようにしたこともあったっけ。
んで、アセンブラ作ったことある人、さらに募集!
>>82 クロスアセンブラなら作ったことある。
プログラムの構造はさほど難しくないけど、
全命令に対応しようとすると、単純コーティングの繰り返しで飽きてくる.w
86 :
82:2005/12/12(月) 01:41:57 ID:J1XmkRSs
>>85 おおっ、こちらさんも即レスサンクス。
そうですね、アセンブラは、作ったことのない人から見ると、ちょっと難しいように
感じるかもしれないけど、一度そのやり方(パス1とかパス2とかの分担)が分かれば、
比較的簡単ですものね。
私も、Z80用、6502用、Z8用など、いくつか作りました。もう二十年以上も昔
の話です。当時は、開発ソフトそのものにも事欠くことが多かったので、アセンブラ
をまず作ってから、それを元にして開発するということもありました。
初めて作ったときは二、三週間かかったのですが、2回目以降は手慣れてきて、
早いときは二、三日で出来たりしてましたね。
一番面白かったのは、被演算子の処理で、逆ポーランド記法に変換して数式を
使えるようにするような処理でしたね。あれは勉強になりました。
87 :
83:2005/12/12(月) 01:47:15 ID:+nPISruN
>>86 動作する機種は?やっぱりPC-9801かな。
おいらはZ-80と6502のエミュレータも作ったす。
MSXエミュとファミコンエミュなんすけどネ。
88 :
774ワット発電中さん:2005/12/12(月) 02:51:50 ID:LMZPxCUK
逆ポーランド・・・・高齢者スレですか。(w
私も20年ほど前、高校に入った頃にMZ上でZ80用のアセンブラを作ったな。
私も、最初にBASICで多用する命令だけに対応したアセンブラを作り、
それを使って、アセンブリ言語で書いた一部の命令だけに対応した
アセンブラをアセンブル。
今度はそれを使って対応する命令を増やしたものをアセンブル・・・・
という風に次第に対応命令を増やしていった。
もちろんOSなんて持ってないからソースはBASIC自身のエディタで
入力してASCIIセーブ。
なにしろ最初のBASICで書いたものはその次の一部命令にしか対応していないものを
アセンブルするのにも20分も30分もかかっていたのでデバッグが大変だった。
次にアセンブリ言語で書いたものは自身を1分かからずにアセンブルしてくれたので
一気に作成がはかどるようになったっけ。
ついでに、作るのに使った資料が何かの雑誌に載ってた数ページの
インストラクションセット表だけ。
これからコードマップ作ってビットパターン抽出して・・・と
まっとうな資料さえ手に入っていたら必要ない手間までかけてでも
作れたのも若かったからでしょう。
その後はオリジナル言語のコンパイラを作ったりもしましたが、
最終的に行き着いた先はゲームのプロテクト解析とかエロゲの
CGフォーマット解析とか.....orz
>>88 なんか勘違いしてんでない? 逆ポーランド記法への変換は
現在の進化したコンパイラでも必ず採用されているんだけど……。
今時は二分木ですね。
逆ポーランドと等価だから変換されてると言えなくは無いが違う。
>>92 ??
二分木は逆ポーランド記法に変換するための手段のひとつとして使われる
が、逆ポーランドが使われないというのはおかしいと思うが?
二分木は逆ポーランド記法に変換するための手段のひとつとして使われる
ことには同意しますが、逆ポーランド記法が使われている訳ではないでしょ
コンパイラ言語は、一旦、中間言語であるアセンブリ言語に変換され、それを
さらにアセンブラにて機械語に変換します。
アセンブリ言語に変換される前段階として、一時的に逆ポーランド記法に変換
されるのが普通です。その変換の手段としては、二分木もあれば、他の方法も
あります。
それを中間言語というのは抵抗ありますなあ。
>>96 考え方次第でしょ。
あなたは、インタプリタがご専門かな? だとすると、ワード数の少ない中間言語に
変換するというのが普通ですから、それがあなたにとっての「中間言語」なのかもしれ
ませんね。
コンパイラ作ってる会社は少ないので、事業所毎に呼び名は変わりますから。
4つ組みたいなのを逆ポーランドって言ってる?
(+ op1 op2 result) <- こういうの
op1 op2 + .
↑こういうのですよ
Forthナツカシ
>>99 そんな逆ポーランド中間語でどんな処理をするの?
出てくる状況が分からない…
>>101 コンパイラが扱う式
c = a + b;
をアセンブラに展開するときに
b a + c (Forth忘れたので記述違ってたらごめんなさい)
というように逆ポーランド記法に直すと
記述の順番にアセンブラ命令で書いていけばいいということ。
つまりコンパイラの内部処理で使われているだけなので
中間語なんていうと誤解しやすいかも。
最適化用の中間語からアセンブラコードを吐くのに大した苦労も要らない
が、いちいち逆ポーランドに直すとそれよりいいことがあるのか?
現代の進化したコンパイラというのは分からんなあ。
もしかして FORTH が中間言語だと勘違いしてるアフォ (==
>>102) がいる?
>>105 全部読むのは面倒だから、逆ポーランドに変換するとどんな利点があるのか
書いてよ。必ず採用されているような一般的な処理なんでしょ。
107 :
102:2005/12/18(日) 18:04:11 ID:XdB135b8
108 :
102:2005/12/18(日) 18:07:27 ID:XdB135b8
失礼、最後は
言葉足らずだったが こんなところで理解してもらえるかな
>>104 の間違いでした。
>>107 ドラゴンブックの頃の知識しかないのだが、数式などは構文解析後に直接
中間語(仮想マシン命令みたいな物)に落ちる。その間に逆ポーランドは
でてこない。
その中間語をいじくって最適化した後に対象マシンのアセンブリ言語命令
列などを出力するわけだが、手間などほとんどない(そのように中間語を
設計する)。
進化したコンパイラで逆ポーランドが必ず出てくるのはなぜ?
なにか利点があるからなんだろう。利点を説明してよ。
>>109 うはwwwおkwww把握
うむ数式なら構文解析の時点で優先順位を判定するからなぁ。
逆ポーランド記法ってどの時点で使うんだろう?
まぁ解析完了時のスタック状態は逆ポーランド記法的な状態になってるわけだが。
数式以外は知らん。実装してみようとしたこと無いからな。
> まぁ解析完了時のスタック状態は逆ポーランド記法的な状態になってるわけだが。
ようするにそういう状態を表現するために逆ポーランド記法って言葉が使われるだけですね
コンパイラは作ったことないけどプログラム中で数式解析をするときもYacc&Lexを使うから
逆ポーランド記法なんて意識することないしな。
112 :
774ワット発電中さん:2006/08/22(火) 04:34:12 ID:erjNAnxn
age
113 :
774ワット発電中さん:2006/08/23(水) 19:17:08 ID:GyPUvUPL
逆ポーランドの利点は書かれた順番に実行すればよいという単純さで条件分岐が必要ないので
現在のCPUのパイプラインにもやさしい、つまり高速化に貢献できるってことじゃねえ?
ヒント:2年前
116 :
774ワット発電中さん:2007/11/23(金) 15:17:20 ID:IyWGSytf
アセンブラ言語でスイッチの二度押し、長押しを判定する入力を考えているんだけど
フローチャート(概念)でやるのが一般的なんでしょうか?
趣味レベルの電子工作なので、改めてC言語を覚えようとは考えてません。
pic、H8はなんとか使えます。
普通に考えると
スイッチ入力→タイマー500msec以内→スイッチ入力→二度押し
スイッチ入力→タイマー500msec以上→スイッチ入力が続く→長押し
とかでなく、バックグランドでカウントさせるようなのを考えてます。
117 :
116:2007/11/23(金) 15:18:39 ID:IyWGSytf
訂正
フローチャート(概念)でやるのが一般的なんでしょうか?
↓
どのようなフローチャート(概念)でやるのが一般的なんでしょうか?
判りにくい文章ですみませんm(_ _)m
118 :
774ワット発電中さん:2007/12/08(土) 07:52:19 ID:1RMGtqGS
>>116 忘れた頃にレス。
他のこともしなきゃいけないから、インターバル割り込みで、数を数えさせる。
それで一定数数えたら、状態遷移させる。
キーのイベントで割り込みかけると、想像以上に面倒。
概念の整理に、フローチャートは、あまりお勧めしない。
趣味なら、アセンブリ言語でガリガリプログラムしても、あまりメリットがない。
プロなら1ランク下のCPU 使ってコストダウンとか、銭金の賭かった話だが、
アマなら、C言語で楽した方が良い。特に癖のあるPICやH8は、ミスしやすい
ので、設備と腕のないアマチュアだと、デバッグで地獄を見るかも。
Cで書くと、フローチャートなんか書かなくていいし、コード生成も、実際には
ズブの素人の書くアセンブリ言語のコードよりコンパクトで高速のことが多い。
アセンブラで
0b00000001→0b00100000
0b00000100→0b00001000
のように6bitのbitの入れ替えでスマートな書き方ありませんか?
CPU次第(というか使える命令セット次第)
32ビットの乗算と剰余算が使えるなら
mul acc, 0x0008 2082 ; 0x0008 2082を掛ける
and acc, 0x0112 2408 ; 0x0112 2408のbitwise-and
rem acc, 0x0000 00ff ; 0xffの剰余
の3命令で、accの下6ビットのビット順を反転できるらしい。
もし8ビットマイコンレベルでやるなら、6ビット程度なら素直にテーブル引いたほうが
いいと思うが。
122 :
119:
>>120-121 PICです、無い頭使っても思いつかなかったのも
無かったということですね、ありがとうございました