■ このスレッドは過去ログ倉庫に格納されています
8086 vs. Z80 vs. 6809 vs. 6502 その10
- 1 :ナイコンさん:2014/08/10(日) 15:25:26.31 .net
- 8086(8088)・Z80・6809・6502のうち、どのCPU(MPU)が優れているか議論するスレッドです。
CPU(MPU)アーキテクチャや周辺デバイス制御など
基本的に「石」に関連する議論なら、ほぼ何でもアリです。
■過去スレ
8086 vs. Z80 vs. 6809 vs. 6502 その9 (再び)
http://hello.2ch.net/test/read.cgi/i4004/1365951318/
8086 vs. Z80 vs. 6809 vs. 6502 その9 (短命)
http://ikura.2ch.net/test/read.cgi/i4004/1362833400/
8086 vs. Z80 vs. 6809 vs. 6502 その8
http://ikura.2ch.net/test/read.cgi/i4004/1333965297/
8086 vs. Z80 vs. 6809 vs. 6502 その7
http://ikura.2ch.net/test/read.cgi/i4004/1319314159/
8086 vs. Z80 vs. 6809 vs. 6502 その6
http://toki.2ch.net/test/read.cgi/i4004/1286766300/
8086 vs. Z80 vs. 6809 vs. 6502 その5
http://toki.2ch.net/test/read.cgi/i4004/1280380374/
8086 vs. Z80 vs. 6809 vs. 6502 その4
http://gimpo.2ch.net/test/read.cgi/i4004/1252639237/
8086 vs. Z80 vs. 6809 vs. 6502 その3
http://gimpo.2ch.net/test/read.cgi/i4004/1235851359/
8086 vs. Z80 vs. 6809 vs. 6502 その2
http://gimpo.2ch.net/test/read.cgi/i4004/1213527504/
8086 vs. Z80 vs. 6809 vs. 6502
http://bubble6.2ch.net/test/read.cgi/i4004/1165801265/
6809とZ80 part 2
http://bubble4.2ch.net/test/read.cgi/i4004/1093190685/
6809とZ80
http://bubble2.2ch.net/test/read.cgi/i4004/1008496410/
- 708 :ナイコンさん:2016/04/28(木) 23:17:12.06 .net
- >>707
馬鹿なのはあきらかにお前。また恥をかく前に撤退しろよw
- 709 :ナイコンさん:2016/04/28(木) 23:23:58.56 .net
- じゃあその根本とやらを説明してみてよ。
なぜベースアドレスを渡せばいいだけなのに、それをやらない根本的理由をw
- 710 :ナイコンさん:2016/04/28(木) 23:26:50.99 .net
- > ベースアドレスを渡せばいいだけ
というのが根本的な間違い。
- 711 :ナイコンさん:2016/04/28(木) 23:30:43.61 .net
- その理由を聞いてるのに答えれないのは根本が何も分かってないからだよw
ほんとおまえ恥ばかりかいてるけどメンタル大丈夫かw
- 712 :ナイコンさん:2016/04/28(木) 23:32:03.22 .net
- >>711
そこまで言うなら
ベースアドレスを渡せばいいだけ
というコードを書いてみろよw
- 713 :ナイコンさん:2016/04/28(木) 23:38:23.99 .net
- 理由を聞いてるのにコード書いてみろってなに逆ギレ左翼論法w
- 714 :ナイコンさん:2016/04/28(木) 23:42:16.21 .net
- 書いてみれば理由(の半分くらい)はわかると思うよ?
- 715 :ナイコンさん:2016/04/28(木) 23:49:24.88 .net
- なるほど。おまえは自分が挫折した理由を半分くらい理解したわけだな。
残り半分を教えてやろう。スキル不足だ。
- 716 :Office & Gamers @ 試験運用中(トリなしw:2016/04/29(金) 00:03:25.68 .net
- ムダな足引っ張りはやめて、素直にDarkGDK使いなさいw
- 717 :2016.4.28.Thu 今日はマイコン40周年の日:2016/04/29(金) 00:15:20.11 .net
- http://s-sasaji.ddo.jp/pccata/vic1001.jpg
- 718 :ナイコンさん:2016/04/29(金) 02:00:49.77 .net
- ベースアドレス、ベースアドレスって言ってるのは、IXに入れておけばどうとでもなるって意味?
あまり >>704と大差無い結果になる気がするが?
それと、Z80で相対アドレスCALLって出来るんだっけ?
x86ならばこういうバイナリパッチは常套手段だけど…
- 719 :Office & Gamers @ 試験運用中(トリなしw:2016/04/29(金) 02:07:58.70 .net
- CALL NEXT
NEXT: POP HL
どうぞw
- 720 :Office & Gamers @ 試験運用中(トリなしw:2016/04/29(金) 02:22:33.09 .net
- 自分で計算することになるけど、相対アドレスCALLができるのは8048系統ぐらいだろうなw
>>718は何の用途で使ってるんだ?wwww”
- 721 :ナイコンさん:2016/04/29(金) 03:01:57.71 .net
- >>704
・・・
CALL L1
L1: POP HL
LD DE,MSG - L1
・・・
Z80のCALL命令は、絶対アドレス指定しかないから
そもそも提示のコードはリロケータブルにならない
Z80でPC相対が出来るのは、JR/JR xx のみ
残念でした。
- 722 :ナイコンさん:2016/04/29(金) 03:28:36.81 .net
- やっぱそうだよねぇ。あとDJNZも相対指定可だった気がするけど、どうでもいいか
どうしてもやりたいなら
0038: POP HL
JP (HL)
としておいて RST 38H とするとか…かな?
むかーし昔、これやって怒られた気もするけどw
- 723 :ナイコンさん:2016/04/29(金) 05:32:38.42 .net
- >>702
たぶん君の気のせい
スレッドセーフに関係しそうなのはリエントラントっていってた奴ぐらいしかいないし
- 724 :720:2016/04/29(金) 06:37:41.28 .net
- 確かに気のせいだった・・・
マルチタスクは〜と新しい話題振られる。
リロケータブル書きにくいよね、と続く。
書けるだろ、と突込みが。
簡単に書けないないのは皆わかっててのやり取り(の様に見えるのだが)に「リロケータブル書くの簡単だろ(超意訳」とか本気で言ってるとしか思えん訳わからんバカが乱入した、と。
- 725 :ナイコンさん:2016/04/29(金) 07:49:17.39 .net
- Z80でリロケータブルなコード書くのは面倒くさい。
- 726 :ナイコンさん:2016/04/29(金) 08:25:03.19 .net
- ベースアドレス君 玉砕の巻き
- 727 :ナイコンさん:2016/04/29(金) 10:16:38.05 .net
- >>721
うわ…その通りだw
>>722のようなコードを用意して置いてそれを呼び出すしかないのかな。
固定アドレスで呼び出せるBIOSかOSにコードを用意しておけば38HじゃなくてもOKだと思うけど。
- 728 :ナイコンさん:2016/04/29(金) 11:24:21.15 .net
- >>726
いやおまえがまた論破されたんだよ。
JP (IX) で飛んでくるんだから、ベースアドレスは普通に分かってるから。昔のコードはそうなってるでしょ。
- 729 :ナイコンさん:2016/04/29(金) 12:13:18.14 .net
- リロケータブル書けない君、面倒君は単に開発経験ないのだろう。
- 730 :ナイコンさん:2016/04/29(金) 12:40:54.36 .net
- >>724
馬鹿はおまえだよw
- 731 :ナイコンさん:2016/04/29(金) 13:09:22.52 .net
- >>728
ほうほう
Entry:
...
call L1
...
L1:
...
ret
リロケータブルにしてくれ
(IX = Entry のアドレスでいいよ)
- 732 :ナイコンさん:2016/04/29(金) 14:08:03.26 .net
- Entry:
...
LD A, 0_;taskID
call _dispach
...
_dispatch:
LD HL, _table
ADD L,A
ADD L,A
JP (HL)
L1:
...
ret
- 733 :ナイコンさん:2016/04/29(金) 15:58:15.56 .net
- >>728 >>729
実例の一つも出せばそれで終わりなのに、残念な書き込みだな
- 734 :ナイコンさん:2016/04/29(金) 16:12:02.34 .net
- できない理由を説明しろ → コード書けば分かる。おまえがコードだぜ → コードです → 実例出せ
馬鹿なのか?
- 735 :ナイコンさん:2016/04/29(金) 16:38:03.20 .net
- >>734
> コードです
ひょっとして >>732 のことを言ってるのか?
> call _dispach
> LD HL, _table
笑うしかないんだが w
- 736 :ナイコンさん:2016/04/29(金) 16:50:44.72 .net
- >>735
何を勘違いしてるかだいたいわかってきた。FreeBSDのコードが参考になるよ。
- 737 :ナイコンさん:2016/04/29(金) 16:54:20.38 .net
- >>735
それリロケータブルタスクの外のディスパッチルーチンやでwww
- 738 :ナイコンさん:2016/04/29(金) 16:54:52.20 .net
- FreeBSD/z80 ?
- 739 :ナイコンさん:2016/04/29(金) 17:28:18.29 .net
- >>732
ああ、これが>>731の「実例」なのかw
すべてのサブルーチンをこうやって呼ぶのかw
毎回テーブル作ってw メモリ食うしw OS側は面倒で仕方ないねw
ディスパッチルーチンのオーバーヘッドもあるしw
その上このディスパッチルーチンだと_tableの下位8bitは0固定、_taskIDは127まで
とか、色々涙ぐましい制限まで要りそうだねw
何というか…面倒くさい事の見本だねw
- 740 :ナイコンさん:2016/04/29(金) 17:41:54.11 .net
- Z80なんて64KBしかないのにTASKなんて数個だし、アロケートテーブルは16byteもあれば足りる。
ほんと8bitCPUで何をやらせる気だよ。OS側ってなんだよw
いつからマルチタスクOSを作る話になってんだよw 典型的な無能SEの後出し仕様じゃねーか。
スレッドセーフ言い出したりZ80にMMUあると勘違いしてた馬鹿でしょ?
- 741 :ナイコンさん:2016/04/29(金) 17:55:49.08 .net
- >>737
要するに完全にリロケータブルにはできないってことだろ
まあそれはいいとしても
・サブルーチンの数だけエントリー作る必要ある
・プログラム修正する度にエントリーの内容を変更しないとダメ
・サブルーチン番号を渡す必要あるのでレジスタがひとつつぶれる
とても普通に書けるってレベルじゃないわな
- 742 :ナイコンさん:2016/04/29(金) 18:05:07.98 .net
- 共用するものをサブルーチンにするんだから、それはコア部分に置くのでリロケータブルにしないね。
メモリが64kbしかないんだから一回走らせたら破棄するコードをリロケータブルにするんだよ。
管理コードもとにかくシンプル。8bitCPUじゃ常識。
>レジスタがひとつつぶれる → とても普通に書けるってレベルじゃない
というかアセンブラ経験ないど素人かよw 馬鹿なんだから素直にBASIC使っとけw
- 743 :ナイコンさん:2016/04/29(金) 18:05:20.94 .net
- >>731ってTASK呼び出しのサンプルなのか?
なんか、凄く都合よく解釈してないか?
- 744 :ナイコンさん:2016/04/29(金) 18:12:59.00 .net
- どや顔でだしてきたコードが >>732 ww
サブルーチンは共用しか認めないとか、レジスタがつぶれることにはまともな反論できないとか
恥ずかしすぎるだろ
- 745 :ナイコンさん:2016/04/29(金) 18:18:25.00 .net
- 反論する馬鹿はいない。元からレジスタなんてほとんどないCPUばかりだろw 8086もz80も6809も6502もwwww
- 746 :ナイコンさん:2016/04/29(金) 18:26:14.31 .net
- LD HL, _table
ADD L,A
ADD L,A
JP (HL)
JP (HL) の動作は(表記からわかりにくいけど) PC←HL だから、
Aが0の場合そのままJP _tableと等価の命令になる、
この場合確実に暴走するんじゃね?
そもそも全タスク共通で一つのテーブルというのも現実味がない。
タスクごとにローカルなテーブルを持って、
dispatchルーチンではそれをIXに格納されてるアドレス相対で参照するべき。
- 747 :ナイコンさん:2016/04/29(金) 18:28:58.67 .net
- ADD L,A なんて命令ないし、やっつけ杉だろw
- 748 :ナイコンさん:2016/04/29(金) 18:35:05.06 .net
- そういや間接が一段足りないなw
ADD L,Aも無いなw
>アセンブラ経験ないど素人
なんだ、自己紹介だったのかw
>馬鹿なんだから素直にBASIC使っとけw
特大ブーメランだったなw
- 749 :ナイコンさん:2016/04/29(金) 19:29:49.12 .net
- 気づかないおまえが馬鹿w
- 750 :ナイコンさん:2016/04/29(金) 20:08:24.00 .net
- 結局玉砕の巻じゃねーか w
- 751 :ナイコンさん:2016/04/29(金) 20:47:05.75 .net
- 俺のチン子はベクトル型
- 752 :ナイコンさん:2016/04/29(金) 20:51:20.48 .net
- 無理とか面倒とか「不可能じゃないけど」ってスタンスばかりの中「Z80でリロケータブルなコードが簡単だろ」と主張した奴は一度もコード例を出してないのな。
- 753 :ナイコンさん:2016/04/29(金) 20:52:54.34 .net
- 懲りもせず孫持ちジジイが暴れているのか。老害。
- 754 :ナイコンさん:2016/04/29(金) 21:24:39.83 .net
- 68000が話題にならないからってハエみたいに煩くするなよ、クソ餓鬼。
ママのおっぱいでもしゃぶってろ。
- 755 :ナイコンさん:2016/04/29(金) 21:50:15.32 .net
- >>752
>レジスタがひとつつぶれる → とても普通に書けるってレベルじゃない
- 756 :ナイコンさん:2016/04/29(金) 21:58:14.19 .net
- 初心者だろうな。初めはみんなレジスタ少ないって文句を言うのさ。
でもRISC-CPUで書くと分かる。レジスタが32個あっても結局足りないのさ。ボスキャラの吐く弾幕すら保持できない。結局メモリにデータ置く。
するとRISCの糞さが浮かび上がる。メモリに対して演算ができない。CISCの強力なアドレッシングがいかに効率的かに気づく。
- 757 :ナイコンさん:2016/04/29(金) 22:33:09.51 .net
- ベースアドレス君はごまかしモードに入りました
- 758 :ナイコンさん:2016/04/29(金) 22:36:00.03 .net
- ベースアドレスが渡せない理由を挙げるとこれだけある。理解したかね? ベースアドレス君。
・サブルーチンの数だけエントリー作る必要ある
・プログラム修正する度にエントリーの内容を変更しないとダメ
・サブルーチン番号を渡す必要あるのでレジスタがひとつつぶれる
とても普通に書けるってレベルじゃないわな
- 759 :ナイコンさん:2016/04/29(金) 22:40:51.60 .net
- >サブルーチンの数だけエントリー作る必要ある
ベースアドレスあれば戻りアドレスPushしてジャンプするだけじゃん。
- 760 :ナイコンさん:2016/04/29(金) 22:41:41.30 .net
- >プログラム修正する度にエントリーの内容を変更しないとダメ
これは意味が分からん。
- 761 :ナイコンさん:2016/04/29(金) 23:22:38.27 .net
- こんなんでいいんじゃね?
RST 38H
DEFW SUB1-LABEL1
LABEL1: NEXT_OP
SUB1:
RET
0038: POP HL
LD E,(HL)
INC HL
LD D,(HL)
INC HL
PUSH HL
ADD HL,DE
JP (HL)
Z80ニワカがZ80小馬鹿にしながら書きなぐってみたよw
レジスタが盛大に潰れるし、オーバーヘッドもデカイけど、普通のアセンブラで書けるよw
テーブルも作らなくていいしw
- 762 :ナイコンさん:2016/04/29(金) 23:30:32.16 .net
- 香具師の多いスレだなあ
- 763 :ナイコンさん:2016/04/29(金) 23:43:53.12 .net
- ああ、なんとなく判ってきたw ベースアドレス爺の言いたいことがw
>>704 の例は
LEA DE,(IX+(MSG-BASE_ADDR))
って1命令で終わりだろって感じじゃないか?
齢のせいで幻聴、幻覚、無い命令が見えるっていう症状が激しいんだろw
- 764 :ナイコンさん:2016/04/30(土) 00:05:18.32 .net
- 1命令か複数命令だろうができるってだけなんだけど。なんでそんなにゆとりは発狂してるんだ?
1バイトの青春なんて言葉も知らないガキのくせに、
レジスタ一つ使うだけでなんでそんなに発狂するのかおじーちゃんにはさっぱり分からん。
- 765 :ナイコンさん:2016/04/30(土) 00:34:27.03 .net
- 恥の多い人生だったんだろうね。もう無理しなくていいよ。
- 766 :ナイコンさん:2016/04/30(土) 00:48:00.06 .net
- >>763
LD D,(IX+d)
LD E,(IX+d)
あるけど? 一体何を指摘したいんだい?
ベースアドレスがダメな理由は今のところレジスタ使うからとか、複数命令だからとかアホな反論以外ないけど?
ただの機械語全否定。
- 767 :ナイコンさん:2016/04/30(土) 01:03:54.34 .net
- >>766
あのさw そのLD命令で >>704を書き換えてくれよw
もう耄碌して会話もままならないの?
- 768 :ナイコンさん:2016/04/30(土) 01:10:02.30 .net
- >>767
だからさぁ。なぜダメな理由を説明しないの?コード書け、実例だせってアホかと。
説明したと思ったら、レジスタ使った。複数命令だったとか。それが根本的理由なのか?だから馬鹿にされる。
LD D,(IX+d)
LD E,(IX+d)
って書いたろ。一体何が足りないんだ?はっきり理由言え。
- 769 :ナイコンさん:2016/04/30(土) 01:15:33.12 .net
- あんまり面白いんで思わず書き込みボタン押しちゃったけど、そのLD命令2つと
>>763のLEA 命令が等価だとでも?w ま、無い命令だけどさw
ホントに機械語やったことあるの?w
>>704をちゃんと書き換えてみなってw 出来ないの?w
- 770 :ナイコンさん:2016/04/30(土) 01:23:19.81 .net
- >>768
何一つ説明できない馬鹿はスルーしたほうがいい。自分で書けないから他人も書けないというアホ論理だから。
たがら書いてみろとしか言えない。
- 771 :ナイコンさん:2016/04/30(土) 01:28:46.75 .net
- 先に理由は絶対に言わないよな。典型的な左翼。論破されるのが怖くて言えないのだろうな。
- 772 :ナイコンさん:2016/04/30(土) 01:32:03.64 .net
- 横から失礼するが>>704をリロケータブル化って
IYにプログラムの開始アドレスが入ってるとして
PUSH IY
POP HL
LD DE, MSG
ADD HL, DE
EX DE, HL
LD C,9
CALL 5
RET
MSG: DB 'HELLO WORLD$'
この程度のことなんでないの? 何そんな草生やしてるのかわけわからん。
- 773 :ナイコンさん:2016/04/30(土) 01:45:24.07 .net
- >>772
まさにそれなんだけど。
>>718書いたのも俺。>>704の最初のCALL命令がPUSHに変わる程度だから「大差無い」って
指摘してるんだけど、LD D,(IX+d)とLD E,(IX+d) で簡潔に書けるって言い張っている爺さんが居るのよw
ま、どうせZ80はニワカだからもっとステップ数の少ない書き方もあると思うんだけど、それを示してくれれば
それまでの話なのにw
- 774 :ナイコンさん:2016/04/30(土) 01:49:49.73 .net
- Z80のインデクスレジスタは -128〜+127 の範囲でしか相対アドレスが使えないし、
プログラムのサイズを256バイト以内に制限するとかでなければあんまいい方法
にはならんのじゃないかな。
- 775 :ナイコンさん:2016/04/30(土) 01:54:16.42 .net
- >>773
キミねぇ。さっきから開始アドレスを渡すのがダメな理由を全然説明してないよ。
草ばかり生やしてないで少しは説明しなよ。それじゃ誰も理解しないよ。頭悪すぎだよ。
- 776 :ナイコンさん:2016/04/30(土) 01:58:39.01 .net
- >>773
まさにそれってできないんじゃなかったの? アホの子なの?
- 777 :ナイコンさん:2016/04/30(土) 02:02:57.52 .net
- 書いてる途中で正解が来ちゃったから後付けだけど、LEA命令があればこれは動くよ
LEA DE,(IX+(MSG-BASE_ADDR))
LD C,9
CALL 5
RET
MSG: DB 'HELLO WORLD$'
ディスプレースメントに16bit取れるならMSGとベースアドレスがどんな位置関係でも
普通問題ないでしょう。
ベースアドレス爺の発言を斟酌すると、どうもこうなるんだがw
LD D,(IX+d)
LD E,(IX+d)
LD C,9
CALL 5
RET
MSG: DB 'HELLO WORLD$'
これは動かないよね。2命令になるのは問題じゃない!ってさっきから怒られてるけど、
いや、問題はそこじゃないんだけどw
LD D,IX+d
ってのがあれば >>774の言う通りベースアドレス-128〜+127バイトの範囲で動くとは
思う。
- 778 :ナイコンさん:2016/04/30(土) 02:08:56.49 .net
- うん。アホの子だ。間違いない。
- 779 :ナイコンさん:2016/04/30(土) 02:14:38.90 .net
- >>775
あなたがこの発言をしたと思っているんだが
703 名前: ナイコンさん [sage] 投稿日: 2016/04/28(木) 23:08:43.49
自前でPC取得したきゃすればいいいが、自前である必要がない。
アロケートした側はベースアドレスを把握してるのだから。渡せばいいだけ。
705 名前: ナイコンさん [sage] 投稿日: 2016/04/28(木) 23:15:35.10
根本ねぇ。馬鹿なの?必死こいてPC取得とかアホの極みだろw なんだそのコードw
>>704 の書き換えが問題無かったとして、>>772との違いはCALL命令とPUSH命令の
1命令だけ。人をアホの極みとまで呼べるほどの差は出ないだろ?って思ったまでよ。
- 780 :ナイコンさん:2016/04/30(土) 02:15:35.59 .net
- >>777
あのねぇ。無い命令は他の命令と組み合わせたら実現できる話でしょ。機械語の基本でしょ。
その程度でベースアドレスは渡せないと発狂してたの?
結局、最初のレジスタ使うからダメ、複数命令はダメと同じレベルの指摘なんだけど。アホくさ
- 781 :ナイコンさん:2016/04/30(土) 02:23:02.14 .net
- だめだ、このジジイもう恍惚の人になってるw
自分の発言も忘れているし、どうしたって話かみ合わないw
自分は介護職目指すつもりないからもうどうでもいいやw
- 782 :ナイコンさん:2016/04/30(土) 02:33:51.51 .net
- >>780
おそらく8086から入ったから8bitの命令の少なさに耐えられないんだろう。
ない命令は実装する方法がないとか勘違いしてるのだろう。
LD D,IX+d がないから無理とかおまえは幼稚園児かってレベル。
- 783 :ナイコンさん:2016/04/30(土) 02:39:26.39 .net
- マスホを手にしたゆとりが自らデジタルネイティブと名乗り、パソコンを馬鹿にしてるみたいなものか。
- 784 :ナイコンさん:2016/04/30(土) 03:22:23.47 .net
- 出来る出来ないで言えば「ベースアドレスなんか渡さなくても」出来るだろ。
- 785 :ナイコンさん:2016/04/30(土) 04:29:07.17 .net
- どうやら、レジスタ一個取られたからボクのロジック破綻だよぉ、あの命令もこの命令も無いから難しくて書けないよぉ、
がベースアドレス渡しができない理由らしい。そりゃ理由書けと言われても恥ずかしくて書けないわなw
じゃあコード書いてみろという反論も納得、納得。
- 786 :ナイコンさん:2016/04/30(土) 08:00:10.05 .net
- 出来る出来ないで言えばたいていの事は「できる」からなぁ。
- 787 :ナイコンさん:2016/04/30(土) 08:29:34.91 .net
- 残念ながら「簡単に書く」ことは出来ないのがはっきりしただけだったな
- 788 :ナイコンさん:2016/04/30(土) 08:54:07.73 .net
- ここで改めてはっきりさせる必要がある奴ってのは・・・だねぇ。
- 789 :ナイコンさん:2016/04/30(土) 09:43:08.92 .net
- 事実を書かれて顔真っ赤
おそまつ
- 790 :ナイコンさん:2016/04/30(土) 11:13:10.66 .net
- だねぇ。ほとんおそまつ。
レジスタ一個使ったら、とても普通に書けないだもんねぇ。相手にしないほうがいいよ。高級言語と勘違いしてんじゃねーの?
LD D,(IX+d)はあるけど、LD D,IX+d ないから動かないって・・・ほんと簡便してよ。それがアドレス計算ができない理由とはいやはや。
- 791 :ナイコンさん:2016/04/30(土) 11:33:28.59 .net
- 香具師の多いスレだなぁ
- 792 :ナイコンさん:2016/04/30(土) 12:24:29.13 .net
- 小便くせーガキが昔の8bitCPUをディスってるようだけど、おれたちの世代はそんなCPUで月まで行った。
それに比べてなんなんだおまえらガキは。月まで行けないだけでなく、人は乗せれないは、
打ち上げたはいいが高性能CPU積んでるのにバグって姿勢制御できなくて高速スピンして木っ端微塵だって?
なめてんのか、糞ガキ。
- 793 :ナイコンさん:2016/04/30(土) 13:35:17.61 .net
- 世代が同じってだけで
自分でやったわけでもないのに
ここまで大口叩ける事に
同世代として恥ずかしい
- 794 :ナイコンさん:2016/04/30(土) 15:47:57.87 .net
- ベースアドレス君が話題変えるのに必死なんだろ
察してやれよ
- 795 :ナイコンさん:2016/04/30(土) 16:25:31.70 .net
- まだベース…いや、何でもない。
GWプロジェクトの合間にパズル感覚でまたZ80ニワカしてみたから貼っとく
LD HL,MSG-LABEL1
RST 30H
LABEL1: LD C,9
CALL 5
RET
MSG: DB 'HELLO WORLD$'
0030: POP DE
ADD HL,DE
EX HL,DE
JP (HL)
まぁ例によって「必死こいてPC取得」なんで、「馬鹿なの?」とか「アホの極みだろw」
とか罵詈雑言が聞こえてくるようだけど。
それとお題からして30Hとか、そんな低位アドレス勝手に使えるのか判らんけど。
それにしてもなんだな、こうしてRUN TIMEルーチン揃えていくと「あと10年は戦える」
とか言っちゃった人の気持ちも少しだけ判…やっぱり判らん
- 796 :ナイコンさん:2016/04/30(土) 16:37:58.23 .net
- プログラムのターゲットOSがCP/MならばRST 30Hは予約済み。
RST 08HからRST 28Hまでは使用可能。
- 797 :ナイコンさん:2016/04/30(土) 16:55:05.90 .net
- > プログラムのターゲットOSがCP/MならばRST 30Hは予約済み。
というのはガセ
- 798 :ナイコンさん:2016/04/30(土) 17:02:01.02 .net
- >>795 いやぁ、そんな事ないよ
> 「必死こいてPC取得」
問題の本質は、↑だから
Z80は、これが難しい、
今までに提示されたコード全てが、絶対アドレスを使ってるからな
RST xx にしても、絶対アドレスを使ってるわけで本質的には差が無いが
"誰かが、ベースアドレス渡してくれる"
って、本末転倒な 言い分に比べれば遥かにマシだ
このパズルの回答としては
絶対アドレスを一切使わずに、PC取得するコード
これを提示出来るレベルのヤツが、いつ出てくるかに興味があるな。
その他部分は、目糞鼻糞程度の差異であって、ハッキリ言ってどうでも良い
- 799 :ナイコンさん:2016/04/30(土) 17:03:23.53 .net
- > プログラムのターゲットOSがCP/MならばRST 30Hは予約済み。
CP/Mでは0番地がプログラム終了に使われるのとDDTが内部でRST 38Hを
デフォルトで使ってるだけで他は自由。Z80を割り込みモード1で動作
しているシステムであればDDTにパッチを当てて30Hや28Hを使ってもいい。
- 800 :ナイコンさん:2016/04/30(土) 17:06:53.67 .net
- >>798
> 今までに提示されたコード全てが、絶対アドレスを使ってるからな
> RST xx にしても、絶対アドレスを使ってるわけで本質的には差が無いが
文字列出力で5番地呼び出してる癖にバカなのかな?
- 801 :ナイコンさん:2016/04/30(土) 17:12:43.61 .net
- まだやってんのか。
PUSH IX
JP (HL)
するだけじゃねーか。
- 802 :ナイコンさん:2016/04/30(土) 17:14:01.00 .net
- > "誰かが、ベースアドレス渡してくれる"
> って、本末転倒な 言い分
そういう機能を実現したければそういう実装をするだけだろ。
ベースアドレスが欲しければ渡してくれるようローダを作るだけ。
- 803 :ナイコンさん:2016/04/30(土) 17:17:03.94 .net
- 実現のための仕組みを考えるんじゃなくて、できない理由を必死に探してるのは馬鹿としか言えない。
- 804 :ナイコンさん:2016/04/30(土) 17:18:08.75 .net
- 文字列出力のシステムコールが許されるならPC取得のシステムコールが許されない筈がない。
- 805 :ナイコンさん:2016/04/30(土) 17:32:06.26 .net
- 昔のバイナリとか見たらPC取得ルーチンとか普通にあるかもな。
- 806 :ナイコンさん:2016/04/30(土) 17:52:23.13 .net
- Z80でPCの値が取得したいならRSTやCALL使うのが手っ取り早いと思うんだけど、それじゃダメなのか?
ダメだっていうならもっといい方法教えてくれよ。
- 807 :ナイコンさん:2016/04/30(土) 17:56:09.52 .net
- 呼ぶ側
LD HL,L1
CALL L1
呼ばれる側
L1:
(呼ばれたときにHLにPCと同じ値が入ってる)
RET
総レス数 1007
237 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver.24052200