X



【CPU】8080やZ80ってリロケータブルなプログラム書けないよな
■ このスレッドは過去ログ倉庫に格納されています
0001リゲル(やわらか銀行) [US]垢版2019/12/12(木) 16:40:11.30ID:1iLpomps0?2BP(3276)

メモリが絶対番地だから、プログラムを置く位置が常に決まっている。
6800や6501や8086は相対番地も使える。

http://xyz.abc
0002イオ(茸) [ニダ]垢版2019/12/12(木) 16:40:40.54ID:utorEyjI0
スレスト
0007オリオン大星雲(茸) [US]垢版2019/12/12(木) 16:45:56.41ID:2KsBeU+J0
開始番地にジャンプ命令置いて飛ばすだけ
0008ベテルギウス(青森県) [AR]垢版2019/12/12(木) 16:47:39.36ID:yTaMTo9W0
Z80でもリロケータブルなアセンブラは当時リリースされてたし使ってた
0010天王星(日本) [EU]垢版2019/12/12(木) 16:50:43.04ID:ITz/qKtI0
空き地の土管の横1mのところに、、、
・・・ある日土管が撤去されていた
0011フォボス(東京都) [MX]垢版2019/12/12(木) 16:50:56.08ID:iUsuBzy30
>>8
リンカーがアドレス埋めてたんでしょ?
0012ポラリス(神奈川県) [US]垢版2019/12/12(木) 16:51:25.34ID:3jFwsAlu0
ケロケロ
0013リゲル(やわらか銀行) [US]垢版2019/12/12(木) 16:53:20.10ID:1iLpomps0
8080…電卓
6800…ミニコン

設計思想の違い
0014ボイド(ジパング) [JP]垢版2019/12/12(木) 16:58:40.54ID:P8y3u/Ix0
相対アドレスとrstで作ればいい
0015ポラリス(東京都) [ニダ]垢版2019/12/12(木) 17:01:54.79ID:MxVrwOeo0
絶対と相対についての知識は、表計算ソフトでも役立つ
0017アンタレス(福岡県) [US]垢版2019/12/12(木) 17:07:54.01ID:H1zsRPdp0
相対ロードストアをどうするかだねぇ
インデックスレジスタを使っての相対アクセスはあるけど
インデックスレジスタに入れる値をどうやって持ってくるか
0018イータ・カリーナ(ジパング) [UA]垢版2019/12/12(木) 17:10:24.84ID:OYSItkVw0
あの頃は先端を行ってる気分だったのに、もう何も書けない
0019高輝度青色変光星(ジパング) [US]垢版2019/12/12(木) 17:12:07.18ID:WzBL1LJg0
男は黙って絶対アドレス指定
0022水メーザー天体(茸) [US]垢版2019/12/12(木) 17:24:06.32ID:uR4Mbh+r0
>>3
とりあえずパンツ脱いだ
0025百武彗星(茸) [US]垢版2019/12/12(木) 17:51:51.36ID:XImmz/I90
>>24
40代でもいるぞ
というか、そこまでだな

あとはパチンコ・パチスロのメイン基板開発してる奴ら
未だに命令がZ80だし
0028アンタレス(大阪府) [JP]垢版2019/12/12(木) 17:58:48.27ID:PMtnDzYl0
Z80のマシン語はシンプルで学習にはいい教材だと思うぞ。
あと、マシン語勉強するといいっていうのはマシン語を勉強する過程でプロセッサの理解が進むからいいって言ってるのであって、
マシン語そのものを丸暗記する必要はないからな。
0031百武彗星(茸) [US]垢版2019/12/12(木) 18:03:01.13ID:XImmz/I90
未だに覚えている命令は
NOP
LD
JP
ADD
SUB

アドレス飛ばすのはなんだったっけ?
0032ポラリス(東京都) [US]垢版2019/12/12(木) 18:04:56.64ID:+aP6216b0
相対化させるモジュール組込めばいいだけでは?
0033トリトン(ジパング) [AE]垢版2019/12/12(木) 18:15:06.06ID:Nwf9xt1E0
前後256バイトまでなら相対ジャンプ命令があったような
できるかできないかで言えばできる
0035ハレー彗星(北海道) [ニダ]垢版2019/12/12(木) 18:19:06.69ID:9g6OjUeV0
FA分野だと84C015とかZ80コアの仕事は今でも有るでよ
0036アルタイル(埼玉県) [ニダ]垢版2019/12/12(木) 18:19:17.01ID:rRUfVI/40
TK-80使ったわ
0037ヒドラ(大阪府) [JP]垢版2019/12/12(木) 18:21:06.31ID:fZ6bxwUE0
NFER XFER
これなんだったの なんでおれの頭に焼き付いてるの?
0039木星(大阪府) [US]垢版2019/12/12(木) 18:28:38.04ID:ZfTbdVDm0
実行可能形式にラベルテーブル付けてロード時に書き換えるだけ
全部インダイレクトアドレッシングなコードなんてその方が希少
0040環状星雲(茸) [ニダ]垢版2019/12/12(木) 18:29:02.92ID:t/TticLc0
基本的には無理だなあ、ローダー作らないと
0042地球(庭) [JP]垢版2019/12/12(木) 18:31:28.77ID:DkZ/aFA10
カセットテープこえええ(・ω・`)
0045パルサー(兵庫県) [US]垢版2019/12/12(木) 18:42:14.99ID:VasOhsmv0
6809だと本当に再配置可能なコードかけた。動かしたことはないけど。
0046百武彗星(茸) [US]垢版2019/12/12(木) 18:44:17.35ID:XImmz/I90
>>44
そういう頓知みたいなコードを書けるのも良さではあるけど、可読性が低下するw

まぁ、容量として力業で解読できる限界が8bitまでなんだろうけど
0047赤色矮星(茸) [US]垢版2019/12/12(木) 18:49:57.60ID:XOCl2/6L0
フラグのフリップフロップ制御でX=1-Xってのは感動した
0051ジャコビニ・チンナー彗星(新日本) [NO]垢版2019/12/12(木) 19:52:05.08ID:TgOcbLuQ0
6809はリエントラントもいけた
0054ヒアデス星団(北海道) [JO]垢版2019/12/12(木) 20:02:06.02ID:ylV13otJ0
リロケーションするプログラムでメモリーが無くなる
0055リゲル(ジパング) [SG]垢版2019/12/12(木) 20:04:18.21ID:vh7m+Edf0
両方やってみて好きなのは6809だったけどZ80もゲームボーイに採用されたのがデカかったな。色々作ってみてた。
0057チタニア(家) [EG]垢版2019/12/12(木) 20:12:15.89ID:wzKM35SY0
プログラムに使われてるデータを
画像テータとして流用してた8ビット時代のゲーム
0058水メーザー天体(兵庫県) [EU]垢版2019/12/12(木) 20:12:33.59ID:GgWOTQ0Y0
Z80も相対ジャンプはあります。

ニーモニックは、絶対ジャンプの"JP"に対して、相対ジャンプは"JR"

ただし、マイナス128バイトから、プラス127バイトの範囲しかジャンプできない。
それ以上のジャンプをしたいときは、小細工をする必要がある。
0059チタニア(東京都) [US]垢版2019/12/12(木) 20:14:22.78ID:navjK3IH0
ロリ啓太?誰や?
0060チタニア(東京都) [US]垢版2019/12/12(木) 20:16:02.03ID:navjK3IH0
>>44
逆アセンブルしてこのコード見たとき3秒考えてなんちゅうオサレなと思ったわ
0061水メーザー天体(兵庫県) [EU]垢版2019/12/12(木) 20:16:08.41ID:GgWOTQ0Y0
そもそも、メモリが64Kバイトの空間で、相対ジャンプが必要か?
シングルタスクだから、そもそも複数プログラムをロードする必要も無い。

80系CPUのメジャーOSであるCP/Mは、00hからFFhが、カーネル本体。わずか256バイト。
プログラムをロードするのは、0100hがスタートアドレスという決まりだから、絶対ジャンプのプログラムで十分。

ちなみに、OSのBIOS部分は、もっと後ろのメモリに配置している。
0063テチス(日本) [US]垢版2019/12/12(木) 20:32:18.13ID:aqiSY1+K0
これ位のCPUをゴリゴリハンドアセンブリしてると
全メモリやレジスタが自分の思い通りに動かせる万能感に浸れて楽しいわ
0064木星(大阪府) [US]垢版2019/12/12(木) 20:45:34.23ID:ZfTbdVDm0
今8ビットで遊びたいならAVR一択
レジスタ多くて楽しい
0065タイタン(大阪府) [ニダ]垢版2019/12/12(木) 20:53:45.30ID:v7qWfoNw0
>>35
Z84C015 のセカンドソースってあるんだっけ?
東芝はとうの昔に製造中止だよな。Z80 周辺全部入りで好きだったな。
0066ジャコビニ・チンナー彗星(新日本) [NO]垢版2019/12/12(木) 20:55:49.36ID:TgOcbLuQ0
>>61
OS-9で普通にマルチタスクできたよ
0068青色超巨星(東京都) [US]垢版2019/12/12(木) 21:01:53.59ID:9FxSL67z0
ポジションインディペンデントって言いたいのか?
0069ポルックス(福岡県) [ニダ]垢版2019/12/12(木) 21:01:56.18ID:sRZH/9eN0
>>62
S-OS懐かしい
今でもOh!石さんのサイトで各機種用やWin用エミュをダウンロードできるな
0070ポラリス(千葉県) [ヌコ]垢版2019/12/12(木) 21:04:05.54ID:X8BrtZIR0
Z-80は相対ジャンプがあるから限定されるが書けないことはない
ただ割り込み処理とかで絶対アドレスが指定されるからそこは仕方ない
0072ポラリス(千葉県) [ヌコ]垢版2019/12/12(木) 21:09:26.75ID:X8BrtZIR0
8080やZ80ではアドレス空間を全部RAMにすると走るプログラムとか自殺プログラムなんてのが書けたな
トラ技かなにかに出てた
0076ポラリス(千葉県) [ヌコ]垢版2019/12/12(木) 21:16:28.96ID:X8BrtZIR0
AとAをxorするのはマシン語手書きでもよくやってた
1バイトで済むし処理が速い
0080金星(茸) [DE]垢版2019/12/12(木) 21:23:56.26ID:QGF92GUU0
>>70
相対ではなくPUSHとRETをうまく使ってリロケータブル出来るぜ
0081ヒアデス星団(東京都) [US]垢版2019/12/12(木) 21:27:51.25ID:qS2BBjab0
ちなみにPentium4くらいから
レジスタファイルというのが導入されて
MOV EAX, 0 も1サイクルで実行可能になったけど
やっぱり慣例でXORを使う。
0082金星(茸) [DE]垢版2019/12/12(木) 21:30:28.62ID:QGF92GUU0
>>81
Pen4クラスでアセンブラ使う気になれんわ
予測分岐などはコンバイラに任せるべきだとおもう
0083バーナードループ(神奈川県) [ニダ]垢版2019/12/12(木) 21:31:04.14ID:V2QWM6Mn0
あれ?
使えたろ
0085木星(大阪府) [US]垢版2019/12/12(木) 22:17:03.85ID:S+b9gEPs0
M68000ではclrよりmoveqの方が速くて何でだよ、って感じだった記憶
lslで2ビットシフトよりadd2回の方が速かったり
乗除算はビット数が限られてたらmulu、muls、divu、divsよりテーブル参照の方が速かったり
妙な癖というかディジタル回路の実装が読めるような感じだった
0086青色超巨星(ジパング) [US]垢版2019/12/12(木) 22:21:07.96ID:EwcsKPG60
素直な疑問なんだけどマシン後勉強してた人たちって今どんな仕事してるの?
0087アリエル(ジパング) [ZA]垢版2019/12/12(木) 22:40:18.89ID:+neuMZJ10
>>61
Z80の事情は知らないのだけど、相対ジャンプ(-128〜127)なら、ニーモニックの中に1バイトで埋め込むことができるけど、番地を直接、間接にポイントするにはそうはいかないのではと
0089カノープス(兵庫県) [CN]垢版2019/12/12(木) 23:27:00.07ID:B/sC3XMN0
>>86
いろいろやってるぞ
単純な帳票印刷から3DCAD、レジだのカーナビだの工場機械とかコピー機とか
0091エンケラドゥス(東京都) [US]垢版2019/12/13(金) 00:13:41.44ID:tO08Nmtf0
8086系もリロケータブルなプログラム書けなかったけど、メモリー上のどこに置いても実行出来るようにプログラムの保存方法とOSを工夫したんだよね。
0092エンケラドゥス(東京都) [US]垢版2019/12/13(金) 00:14:50.18ID:tO08Nmtf0
>>84
京急とか小田急も使ってね。
0093ハダル(東京都) [US]垢版2019/12/13(金) 00:17:26.95ID:IiDNIXDg0
>>65
84C015ってAKI-80に載ってたやつだよな
モデムやTNCのファームウェア焼くのにAKI-ROMライター重宝したわ
0096ベガ(岐阜県) [US]垢版2019/12/13(金) 01:06:22.35ID:pgqJc3Bl0
ザイログのアセンブラはわかりにくい

インテルのほうがいい
0098赤色超巨星(東京都) [US]垢版2019/12/13(金) 01:10:05.92ID:Dx5tlIHY0
8bit相対ジャンプだけでプログラムあんまり組みたくねえなあ・・・、あれ遅くならない?
どのアドレスにも再配置可能なサブルーチン作れると便利なんだろうけど
0101水メーザー天体(大阪府) [US]垢版2019/12/13(金) 01:17:13.80ID:bhZdpag/0
M1コード読み出し4クロック
オペランド読み出し3クロック

JPなら10+PCへの代入
JRなら7+PCを加算器にロードしてオペランド足してPCに代入
加算が入るからトータルでJRのほうが遅くなったんやったかな
0102レア(神奈川県) [US]垢版2019/12/13(金) 01:30:33.49ID:0lmM/Og00
>>1
ロリ
0106ニート彗星(神奈川県) [EU]垢版2019/12/13(金) 07:48:35.80ID:C9OSClF20
>>82
MMXやSSEやAVXの出始めは手書きでインラインアセンブラ使うこと多かったよ
ライブラリが整備されるまで
0107ニート彗星(神奈川県) [EU]垢版2019/12/13(金) 07:59:21.70ID:C9OSClF20
unsigned short a[]={0, 1, 1, 2}, b[]={0, 0, 1, 1}, c[4];

_asm{
movq mm0, a
movq mm1, b
paddw mm0, mm1
movq c, mm0
emms
}

// c の中身は {0, 1, 2, 3} になる

くらいの簡単なパック演算なら手動でも書ける
0110海王星(ジパング) [US]垢版2019/12/13(金) 14:09:55.37ID:bolrzPid0
paddw mm0, mm1

相変わらず演算命令で第一オペランド上書きするんだよね
退避しないと
0111トリトン(ジパング) [CN]垢版2019/12/13(金) 15:41:18.24ID:0KxVorp80
>>93
AKI ROMライターはRAMを使わずに動くよく出来たプログラムだったな
0112赤色超巨星(東京都) [US]垢版2019/12/13(金) 18:30:59.92ID:Dx5tlIHY0
MAIN:
JSR FNC001(PC)
RTS
FNC001:
PUSH HL,DE
LEA TBL001(PC), HL
MOVE.W #$4000,DE
ADD.W 2(HL),DE
ADD.W DAT001(PC), DE
MOVE.W DE,8(HL)
POP HL,DE,PC
こういう風に書けないよな?って事なんだろうと書いてみたレジスタ名だけZ80っぽい擬似コード
うーん、キモい
0114デネブ・カイトス(千葉県) [ヌコ]垢版2019/12/13(金) 19:57:13.55ID:pAQ6wscO0
HLレジスタの有能感
0115赤色超巨星(ジパング) [JP]垢版2019/12/13(金) 19:59:34.15ID:o48qK7Ib0
伝説のハッカーじゃないと使いこなせないよな
0116ミランダ(大阪府) [ニダ]垢版2019/12/13(金) 20:24:57.55ID:a5l7ZB8o0
>>91
まあ、プログラマやコンパイラが実メモリ空間のことを色々考えなくとも、
自由にメモリアクセスできるようにしたのが仮想記憶の原点でもある。

一応 286 より前でもなんちゃってな仮想記憶は使えたけれど、本格的な
仮想記憶、メモリ管理機構が実装されたのが 286/386世代から。
それぞれのプログラム、プロセスからは実メモリ(のアドレス)を気にする
必要がないので、リロケータブルがどうのこうのなんてどうでもいい。

メモリ管理機構がハード的にない Z80 系でも、純粋にソフト的にやろうと
思えばできなくはないけれど、労力に見合うパフォーマンスが出ない。
0117ミラ(家) [RU]垢版2019/12/13(金) 20:35:51.03ID:rXrsHjDd0
>>1はリンカをしらんのか
0118ウォルフ・ライエ星(埼玉県) [ニダ]垢版2019/12/13(金) 20:40:09.40ID:m0hNncBu0
ケータハムスーパーセブンがどうした
0120デネブ・カイトス(千葉県) [ヌコ]垢版2019/12/13(金) 22:21:18.63ID:pAQ6wscO0
究極の8ビットと銘打って出した6809はZ80と比べたらパッとしなかったな
リロケータブルなコードは書けるがSEX命令がどうにも気になって仕方なかった
0121ニクス(神奈川県) [ニダ]垢版2019/12/13(金) 22:41:12.63ID:GUh60Wmg0
読んでるだけでなつかしい。
でも、もう何の役にも立たない知識なんだよな。
いまは32コア 64スレッド、32GBメモリ対応CPUとかあるし。
0122グリーゼ581c(空) [US]垢版2019/12/13(金) 22:42:56.87ID:slqGhmi00
44 からはじまった A レジスタを 0 クリアする話。

46 が頓知みたいなコードという。が、当時の Z80
プログラマにとっては LD A, 0 のほうが頓知的で。

当時逆汗して LD A, 0 なんてのを見ると、

1) ここはフラグを変えたくないのか?
2) 00 のところを書き換える、いけないコードか?
3) 文字データを逆汗しているか?
4) 素人が書いたのか?
5) 書いたのジジイか?
6) もしかして XOR A 知らないバカか?

って考えたもんだ。
0123赤色超巨星(東京都) [US]垢版2019/12/13(金) 23:11:39.45ID:Dx5tlIHY0
0を入れる以外の場合と速度揃えたい時、なんてのはないかな?
0124ミマス(東京都) [ニダ]垢版2019/12/13(金) 23:40:39.46ID:8WLnf+k70
>>86
コンサルからVBAまで
なんでも任せてくれや
0125ハダル(東京都) [US]垢版2019/12/13(金) 23:58:41.64ID:IiDNIXDg0
>>109
昔TNCのキットを頒布していたサークルがあって、それを
そういえば、そのTNCもZ84C015が載ってるんだった
0127アルゴル(ジパング) [ニダ]垢版2019/12/14(土) 00:22:47.34ID:1jWjp2/N0
Z80は裏レジスタやら隠し命令だのあった記憶が
CALL先で裏レジスタ使ってPUSH,POP省くという技

とある会社からZ80用のMMUチップが売られてたが流行らなかったな
64180の方が魅力的だったからか
0128エリス(日本) [US]垢版2019/12/14(土) 00:55:30.67ID:sJc/l/UW0
お前らいくつだよ?
ってか現在はC言語でプログラム書いてる組み込み屋?
0130白色矮星(東京都) [US]垢版2019/12/14(土) 01:39:06.55ID:5yP8Df4q0
ファミべやディスクシステムで6502マシン語、MSXでZ80マシン語、X68000でGCC&HAS
PC98でROM BASIC&マシン語モニタやDOSでデバッガやLSI-C試食版で遊んでたのは
40歳前後でも稀によくある(それら以前となると、若干つらい)
0131黒体放射(千葉県) [ニダ]垢版2019/12/14(土) 01:42:36.96ID:Rq0e2fuP0
>>3
だよな
0132カリスト(茸) [IN]垢版2019/12/14(土) 01:45:10.78ID:9HAB4ui20
>>1
Z80は相対ジャンプできるけど?
8080にはない
そのへんごっちゃになってるようじゃあなあ…
0133カロン(東京都) [JP]垢版2019/12/14(土) 06:34:27.41ID:T5EmlpkD0
c使える話でも、ポインタのやり取りで遅くなるから、いつも番地指定で取得、評価、書き換えの繰り返し
0134高輝度青色変光星(埼玉県) [ニダ]垢版2019/12/14(土) 06:49:15.91ID:kVecAlj90
>>122
ゼビウスのコードはLD A,0だったらしいな
0135アリエル(東京都) [US]垢版2019/12/14(土) 07:22:47.98ID:i1UP8hJi0
今時のインテルは
xor eax,eax
mov eax,0
どっちもワンクロックで実行可能
0136カノープス(東京都) [IT]垢版2019/12/14(土) 09:19:13.39ID:AHtsdia/0
今は、普通にアセンブルなんてしなくなったし
コンパイラ任せだから気にもして無かったわ
0138冥王星(北海道) [US]垢版2019/12/14(土) 10:17:46.26ID:arJcWH/E0
>>135
今時のマイコンは ゼロクリア命令有る。
MIPSとかは、値が常にゼロのレジスタを用意してる。
0139アリエル(大阪府) [ニダ]垢版2019/12/14(土) 11:33:54.07ID:8QL2Hy4M0
>>136
コンパイラのバグにはまる事もあるんだ…

以前に別スレで出ていたが、確か20年位前の LSI-C80 で
static char err = 0;
なコードをコンパイルすると、毎回0クリアするバイナリを吐いたりな。
0140エッジワース・カイパーベルト天体(空) [US]垢版2019/12/14(土) 13:28:45.15ID:PdMaQWy20
こんなのもあった。何もかも懐かしい。

SUBR1:DB 3E
SUBR2:XOR A
...
...
AND A
JR Z, LABEL1
...
...
LABEL1:
...
...

オペコード 3E は LD A, n
0143ミザール(千葉県) [ヌコ]垢版2019/12/14(土) 15:51:21.86ID:7yLQpm+p0
3E懐かしい
0144ハダル(香川県) [US]垢版2019/12/14(土) 17:18:29.18ID:/c8IGoLF0
たまにお前らのことスゲーって思うことあるけど今がそれだわ
伊達にハゲ散らかしてるわけじゃなかったんだな
0146ミザール(東京都) [US]垢版2019/12/14(土) 20:44:35.01ID:FSmkEx0s0
push push ret
0147バーナードループ(栃木県) [US]垢版2019/12/14(土) 21:10:06.29ID:wsaX8GLt0
CPU作れば?って言っても何も無かったな?お前らw
0148ミザール(千葉県) [ヌコ]垢版2019/12/14(土) 21:13:36.34ID:7yLQpm+p0
そもそもZ80で相対分岐を使うのは速度アップの方が大きかったしな
高級言語でリンカを使うのなら重要でない
0150エッジワース・カイパーベルト天体(空) [US]垢版2019/12/14(土) 21:38:25.68ID:PdMaQWy20
>>148 絶対ジャンプの方が速かった
JR XX - 12 cycle
JP XXXX - 10 cycle
http://clrhome.org/table/
0151(庭) [US]垢版2019/12/14(土) 21:41:31.10
M80とL80なんて知らねえんだろうな
0152白色矮星(東京都) [US]垢版2019/12/14(土) 21:43:28.92ID:5yP8Df4q0
S-OSでZEDAが手軽で快適そうに思える
0153タイタン(神奈川県) [US]垢版2019/12/14(土) 21:49:22.68ID:a4BdiaQr0
4004なら知ってる
0154天王星(大阪府) [US]垢版2019/12/14(土) 21:54:02.76ID:NmQNuepW0
>>135
xorはフラグ書き換えるからアウトオブオーダーやスーパースカラと相性悪そう
0155ミザール(千葉県) [ヌコ]垢版2019/12/14(土) 21:55:32.84ID:7yLQpm+p0
>>150
条件成立と不成立で違うはず
0156地球(埼玉県) [US]垢版2019/12/14(土) 21:55:49.11ID:yOvnMEAe0
パチ台スロ台業界じゃZ80互換の石がバリバリ現役なんでそこの開発に聞け
0157エッジワース・カイパーベルト天体(空) [US]垢版2019/12/14(土) 22:03:56.76ID:PdMaQWy20
>>155 あーそうだった
JR Z,XX 条件成立 12 cycles, 条件不成立 7 cycles
0158土星(千葉県) [ニダ]垢版2019/12/14(土) 22:12:49.56ID:08NaYFkK0
受験が終わったら68000で原始的ワンボードマイコンでも造りますかね・・・と思ってたらメガドライブが出た。
0159ミザール(千葉県) [ヌコ]垢版2019/12/14(土) 22:17:48.78ID:7yLQpm+p0
あとインデックスレジスタ関係の命令のためのコードDD(IX用)あるいはFD(IY用)を前置すると、これらのレジスタを8ビット汎用レジスタ的に使える裏命令があった気がする
命令表には載ってないので正式に使うのはまずかっただろうが
0160プロキオン(東京都) [US]垢版2019/12/14(土) 22:31:19.63ID:rQciKYWl0
MDEで逆汗して遊んでたわ
0162(庭) [JP]垢版2019/12/14(土) 23:26:30.94
>>159
懐かしい
0165エウロパ(東京都) [MX]垢版2019/12/15(日) 00:13:22.64ID:YOpbTYBJ0
感動的な無駄知識だな
0166冥王星(関東地方) [MX]垢版2019/12/15(日) 00:16:19.75ID:QNvUcSgE0
思い出した
Z80はI/O空間256バイトって仕様だけど、裏技使うと64k使えたんだよな
ソニーのSMCがVRAM置いてたような、って調べたらWikipediaのZ80 - I/Oポートのところに書いてあったわ
0167アクルックス(東京都) [US]垢版2019/12/15(日) 01:10:07.17ID:9CP8zLTN0
>>163>>164
種というかそのままリフレッシュカウンタを読み出して使うことが多かったんじゃね?時代的に

>>166
X1でそんなんアリ?とか思ったけどシャープはZ80のセカンドソース作ってたから動作保証できる、アリだわなと思った
0169宇宙の晴れ上がり(埼玉県) [NL]垢版2019/12/15(日) 12:21:18.84ID:lIxuJBNV0
>>168
ちゃいます
01703K宇宙背景放射(家) [ニダ]垢版2019/12/15(日) 12:23:22.29ID:h8dtnkqs0
なんかお前らかっけー
0171ウンブリエル(大阪府) [ニダ]垢版2019/12/15(日) 13:40:53.90ID:iQIuIFIb0
>>168
Z80 (というか Intel系 CPU)は、メモリ空間・アクセスと I/Oのそれが完全に別概念で存在する。
アドレス・データバスは共用だけど、それぞれ ~MREQ、~IORQ という負論理な信号線で、
メモリか I/O かを区別する。
0172カノープス(SB-Android) [US]垢版2019/12/15(日) 16:17:39.10ID:/59/k3Vn0
>>171
それはわかってて言ってる
0173オールトの雲(空) [US]垢版2019/12/15(日) 16:27:16.22ID:i9pdpBMW0
out (c), a (ED 79)
という命令があるけど、実際の動作は
out (bc), a
となり、16 ビット I/O アドレス空間へのアクセスが可能っていう裏技
0174アルファ・ケンタウリ(宮崎県) [US]垢版2019/12/15(日) 16:37:28.16ID:CqGLlfBj0
100年ローン
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況