2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

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/

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

808 :ナイコンさん:2016/04/30(土) 18:26:12.56 .net
>>797,797
CP/Mの0ページメモリマップの参考資料
http://fast-uploader.com/file/7017563171321/ PASSWORD CPM
出典 オーム社刊 パーソナルコンピュータのためのCP/M入門より

まあNETで調べると使用可能としてるHPがあるから間違うのは仕方ないだろうけど
リアルでCP/Mを使ったことが無いのが判ってしまうね。

おまけ知識としてCP/M PLUSではRST 08Hから38Hは全てReserveになっている。

809 :ナイコンさん:2016/04/30(土) 18:27:38.63 .net
リアルに存在したとは思えないぐらい日本では影が薄かったからな。

810 :ナイコンさん:2016/04/30(土) 18:40:09.93 .net
>>806
> Z80でPCの値が取得したいならRSTやCALL使うのが手っ取り早いと思うんだけど、それじゃダメなのか?
手っ取り早いと言うよりそれしか方法がないだろ
どっちも固定番地を使うから完全リロケータブルにはならないって言うだけのこと

811 :ナイコンさん:2016/04/30(土) 18:40:12.22 .net
> 出典 オーム社刊 パーソナルコンピュータのためのCP/M入門より

英語が読めないので一次資料が出せないというのは分かったw

812 :ナイコンさん:2016/04/30(土) 18:42:08.12 .net
6809や8086のソフトウェア割り込みを含む割り込みベクタは固定番地だが
Z80のシステムコールが固定番地でダメな理由がわからない。

813 :ナイコンさん:2016/04/30(土) 18:46:13.29 .net
根本的にできないと先に言っちゃったから、できることはすべてダメなんだろう。
レジスタ一つ使ったぐらいで「とても普通に書けないレベル」って言うぐらいだし。

814 :ナイコンさん:2016/04/30(土) 18:46:49.16 .net
> まあNETで調べると使用可能としてるHPがあるから間違うのは仕方ないだろうけど
> リアルでCP/Mを使ったことが無いのが判ってしまうね。

リアルでCP/M使ったことない奴はマニュアルに予約とあるから使っちゃダメとか本気で信じてそうだなw

815 :ナイコンさん:2016/04/30(土) 18:49:27.72 .net
"骨までしゃぶる"使い方とか想像の範囲外なんだろう

816 :ナイコンさん:2016/04/30(土) 19:09:11.17 .net
>>810
> どっちも固定番地を使うから完全リロケータブルにはならないって言うだけのこと

システムが固定番地を占有するってだけで、その上で動作するプログラムは
完全リロケータブルでしょ。特定の領域がプログラムで使用されないということに
特別な意味はないよね。

817 :ナイコンさん:2016/04/30(土) 19:16:16.04 .net
完全リロケータブルという用語まで作り出したか。アロケートを管理する部分、システム共通ルーチンまでリロケータブルを要求してくるとは。

もうおまえの勝ちでいいよ。誰もおまえには勝てないよ。いくらでも後出しで仕様出してくるんだからw

818 :ナイコンさん:2016/04/30(土) 19:24:32.42 .net
> どっちも固定番地を使うから完全リロケータブルにはならないって言うだけのこと

システム呼び出しを例えば0038Hにしてそれを呼び出す命令をRST命令に限定し、
M1サイクルでRST 38Hを判定してバンク切り替えをする機構を用意すれば
固定番地を使用してもプログラムは64kBどこにでも配置できるしお前の言う
"完全リロケータブル"になるよ。

819 :ナイコンさん:2016/04/30(土) 19:29:28.58 .net
> どっちも固定番地を使うから完全リロケータブルにはならないって言うだけのこと

MS-DOSのEXEは0000:0000〜FFFF:FFFFすべてのアドレスにロードされる
わけではないので完全リロケータブルじゃない、くらいのバカ主張

820 :ナイコンさん:2016/04/30(土) 19:52:55.11 .net
670 : ナイコンさん2016/04/28(木) 13:54:32.53
 >Z80だとリロケータブルなコードがものすごく書きにくい

 普通に書けるだろ。この前提でなぜレスが進むんだ。馬鹿なのか。

821 :ナイコンさん:2016/04/30(土) 19:59:47.96 .net
> サブルーチン番号を渡す必要あるのでレジスタがひとつつぶれる

> とても普通に書けるってレベルじゃないわな

822 :ナイコンさん:2016/04/30(土) 20:22:36.29 .net
「リロケータブルなコード」の中から「リロケータブルなコードの中にある」サブルーチンをCALLするってどうやるんだ?
自己書き換え?

それだとやっぱりPCの値が必要で、PCの値を得るには・・・

823 :ナイコンさん:2016/04/30(土) 20:23:42.15 .net
PUSH IX
JP (HL)

824 :ナイコンさん:2016/04/30(土) 20:30:48.01 .net
それで逝けるのか・・・
IXとHLの求め方が結局PCの値をとってきてって手間がかかるのか。
メンドイ・・

825 :ナイコンさん:2016/04/30(土) 20:34:30.95 .net
面倒ならマクロでも作っとけ。

826 :ナイコンさん:2016/04/30(土) 20:53:39.54 .net
面倒なら8086でも使っとけ。

827 :ナイコンさん:2016/04/30(土) 20:56:29.66 .net
いちいちPCとってきて計算してとかかったりー。
ケアレスミスの類だが、127バイト以上の距離のジャンプとかもしちゃいそうだ。

8086のセグメントに慣れてると正直「やってられっかぁ!」って言うレベルにかったりー

828 :ナイコンさん:2016/04/30(土) 21:29:11.25 .net
>いちいちPCとってきて計算してとかかったりー。
>ケアレスミスの類だが、127バイト以上の距離のジャンプとかもしちゃいそうだ。

マクロアセンブラ知らんのかな?

829 :ナイコンさん:2016/04/30(土) 21:31:49.77 .net
>>816-817
言い訳してるところ申し訳ないけど、システムかなんか知らんけど固定番地のルーチンが必要なんだよね?
それさえ認めてくれればあとはどうでもいいよ

830 :ナイコンさん:2016/04/30(土) 21:38:35.37 .net
>言い訳してるところ申し訳ないけど、システムかなんか知らんけど固定番地のルーチンが必要なんだよね?

番地固定のナントカなんてどんなシステムにもあると思うけどそれ言うと言い訳になるのかな? 理解できない話だな

831 :ナイコンさん:2016/04/30(土) 21:40:01.94 .net
>>829
固定番地が完全に排除されたシステムってなんか例挙げてちょ 5個くらいでいいよ

832 :ナイコンさん:2016/04/30(土) 21:52:26.66 .net
>>829
もちろん必要だよ。当然だね。どこにアロートされたか分からんものを呼びようがないからね。
アドレス管理してるところは固定じゃないと間接的に呼びようがない。当たり前だね。

833 :ナイコンさん:2016/04/30(土) 21:59:45.80 .net
>>828
マクロアセンブラなら128バイト以上の距離の相対ジャンプが自動的に作られるのかい?

834 :ナイコンさん:2016/04/30(土) 22:05:46.53 .net
絶対ジャンプのアドレスを自己書換でもしとけよ。
8086の条件ジャンプも128バイト以上飛べないし。そのときはどうやってるのかと。

835 :ナイコンさん:2016/04/30(土) 22:17:15.21 .net
>>833
>マクロアセンブラなら128バイト以上の距離の相対ジャンプが自動的に作られるのかい?

そういうのが可能なマクロアセンブラは普通に存在するけどそれが何?

836 :ナイコンさん:2016/04/30(土) 22:30:35.28 .net
> マクロアセンブラなら128バイト以上の距離の相対ジャンプが自動的に作られるのかい?

ジャンプ命令の最適化なんて8bitの頃のマクロのないアセンブラでもあった程度の機能だけどなあ? この人馬鹿なのかな?

837 :ナイコンさん:2016/04/30(土) 23:39:03.17 .net
>>811
判りやすい資料をと思ったが御希望のようなので。

http://www.cpm.z80.de/manuals/cpm22-m.pdf 6-26

>>814
リスクを犯してまで使う必要は無いから素直に安全なRST 08H〜28Hを使うな。
ちなみにCP/M互換と言ってるMSX-DOSではRST 30Hには機能が与えられているから
覚えておいた方が良いよ。

838 :ナイコンさん:2016/04/30(土) 23:49:57.13 .net
> ちなみにCP/M互換と言ってるMSX-DOSではRST 30Hには機能が与えられているから
> 覚えておいた方が良いよ。

インタースロットコールはMSX-DOSの機能じゃないぞ

839 :ナイコンさん:2016/04/30(土) 23:51:59.83 .net
>>837
> 素直に安全なRST 08H〜28Hを使うな。

君の大好きなMSX-DOSのデバッガってCP/MのRST 38Hの代わりにその辺使ってね?

840 :ナイコンさん:2016/05/01(日) 01:12:38.29 .net
>>838
手元のMSX-DOSの資料では
000CH JP RDSLT
0014H JP WRSLT
001CH JP CALSLT
0024H JP ENASLT
0030H JP CALLF (RST 30H)
とインタースロットコールをサポートしているが。
反論をするならば調べてからした方が良いよ。

841 :ナイコンさん:2016/05/01(日) 01:15:01.90 .net
BIOSの機能とDOSのそれの区別がつかない人ねw

842 :ナイコンさん:2016/05/01(日) 01:46:05.98 .net
BIOSのエントリなだけだよなあ。
MSX datapack volume1「第3部 MSX-DOS」見てもファンクションコールや
FCBの解説はあるけどインタースロットコールについては「BIOSと同じ」
以上の説明がないし。

843 :ナイコンさん:2016/05/01(日) 01:54:17.71 .net
> ちなみにCP/M互換と言ってるMSX-DOSではRST 30Hには機能が与えられているから
> 覚えておいた方が良いよ。

「MSX-DOSではRST 30Hを使用しているから」だったら良かったのにね。

844 :ナイコンさん:2016/05/01(日) 02:03:36.77 .net
ではMSX-DOSのシステムスクラッチエリア(CP/Mでの0ページに相当)に誰がUserの為に
わざわざインタースロットコールのエントリーアドレスを設定してるんだろうね?
MSX-DOSがその機能を提供するために設定してるんじゃないのかね?

845 :ナイコンさん:2016/05/01(日) 02:24:41.95 .net
MSX-DOSって既にPC98+MS-DOS全盛時代だろ。おまえら貧乏だったんだな。

846 :ナイコンさん:2016/05/01(日) 02:42:26.02 .net
98、X68、FM-TOWNS、DOS/V機、全部持っててもMSX持ってるだけで貧乏人のレッテル貼られる時代。

847 :ナイコンさん:2016/05/01(日) 03:13:23.74 .net
> ではMSX-DOSのシステムスクラッチエリア(CP/Mでの0ページに相当)に誰がUserの為に
> わざわざインタースロットコールのエントリーアドレスを設定してるんだろうね?

え? Userの為??
MSX-DOS自身がBIOS使うからに決まってるじゃん。Datapackにも書いてあるぞ?

848 :ナイコンさん:2016/05/01(日) 06:49:51.45 .net
>>831-832
ごめんねー
システムの話しはしてないからそう言う反応はいらないっす
まあシステムの話しにしないと悔しくて眠れない
って言うのはわかったよ w

849 :ナイコンさん:2016/05/01(日) 07:24:05.33 .net
なにしろ、持ってたマシンが日立のS1だったもんで・・・

850 :ナイコンさん:2016/05/01(日) 08:15:22.61 .net
Z80なら無理してリロケータブルなコードを書くより、
最初にセルフリロケートを実行する方が良いんじゃないかな、
リロケート情報の分コードサイズが増えたとしても、
非効率なリロケータブルコードよりは小さくなりそうな気がするんだが。

もちろんOSのローダがやればそういう問題も無く、もっと良いんだけど。

851 :ナイコンさん:2016/05/01(日) 10:07:25.38 .net
機械語なんて単純なコードは勝手にリロケータブルになってんだろ。

総レス数 1007
237 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200