樫樹の広場



1行掲示板です。情報提供などありましたらよろしくお願いします。

特に、記事の誤り訂正などは「ほかの方も読める記録が残る」ので、掲示板を推奨します。


長い内容など、メールで連絡を取りたい方は以下のアドレスへ。


各ページの下にも1行掲示板がついていますが、このページではそれら全てを集めて表示しています。

特定ページへの内容への意見は、そちらのページで書いていただけるとありがたいです。


また、日付にリンクがある場合は、そのリンクを辿ることで元ページを見ることが出来ます。

(日付にリンクがないものは、このページで書き込まれた意見です)


作者が怠惰なので、反応は遅いかもしれません。


申し訳ありませんが、現在意見投稿をできない状態にしています

【名無し】 6502の高速版プログラムですが2+3+2+2+3+2+19*(3+3+2+5+2+2)+81*(3+2+5+3)-1+3+3=1395クロックが正しいようです。先の「1357クロック」は、おそらくはキャリーが発生した際のCLCを計算に入れなかったミスっぽい。 (2014-07-31 21:00:06)

【名無し】 Z80に花を持たせるにはメモリのブロック転送などが有効だと思います。Z80ではLDIRで済む程度の処理が6502では案外面倒なことになります。 (2014-07-31 16:59:55)

【名無し】 ご対応ありがとうございます。「Z80 版は、計算したところ残念ながら却って遅くなっていました」とのことですが、XOR A;LD H,A;LD B,100;LOOP:ADD A,B;JP NC,SKIP;INC H;SKIP:DJNZ LOOP;LD L,Aで3113クロックとなり、遅くなってはいないと思います。ちなみに6502版にロジックを合わせてXOR A;LD H,A;LD B,100;JP LOOP;INCH:INC H;DEC B;JR Z,EXIT;LOOP:ADD A,B;JR C,INCH;DJNZ LOOP;EXIT:LD L,Aとすると2900クロックで更に高速化できます。 (2014-07-31 16:51:25)

あきよし】 ご意見ありがとうございます。参考に修正しました。 (2014-07-31 12:59:53)

【名無し】 LDA #100;STA >2;LDA #0;TAX;JMP SKIP;INCH:INX;DEC >2;BEQ EXIT;SKIP:CLC;LOOP:ADC >2;BCS INCH;DEC >2;BNE LOOP;EXIT:STA >0;STX >1 で1357クロックなので、クロック速度倍のZ80と比べてもいくらか速いと思います。 (2014-07-29 20:00:49)

【名無し】 6502、LDA #100;STA >2;LDA #0;TAX;CLC;LOOP:ADC >2;BCC SKIP;INX;CLC;SKIP:DEC >2;BNE LOOP;STA >0;STX >1 で1800くらいかな。 (2014-07-29 04:53:58)

あきよし】 早期に書き変えたいと思いますが、次の週末かな…申し訳ない。 (2014-07-29 04:52:34)

あきよし】 ご意見多数ありがとうございます。感謝いたします。特に、より高速なプログラムを示してくれたのは非常にありがたいです。(もう何十年も使ってなかったので勘が鈍ってます) (2014-07-29 04:51:32)

【名無し】 「1~100 の数字を全て足すプログラム」 Z80でも16bitレジスタを使わずに XOR A;LD H,A;LD B,100;LOOP:ADD A,B;JP NC,SKIP;INC H;SKIP:DJNZ LOOP;LD L,A 等としたほうが高速です。6502版は更に無駄が多すぎ。 (2014-07-29 01:38:48)

【名無し】 「0.5 クロック単位で作業ができるため、0.5クロック目で「アドレス送信」を行い、1クロック目で「データ読み込み」を行うことで、1クロックで読み込みが完了するのです。」タイミングチャート見てもそういうことにはなってないですね。http://www.mdawson.net/vic20chrome/cpu/mos_6500_mpu_preliminary_may_1976.pdf (2014-07-29 01:25:18)

←最近 33 34 35 36 37 38 39 40 41 42 43 過去→

戻る
トップページへ

-- share --

0000

-- follow --




- Reverse Link -