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

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

http://xyz.abc
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言語でプログラム書いてる組み込み屋?
0129かに星雲(茸) [GB]
垢版 |
2019/12/14(土) 01:04:54.46ID:CZsGt6mO0
>>44
そのあとZフラグ参照する系の命令があった時に死ぬ奴
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
0142セドナ(北海道) [US]
垢版 |
2019/12/14(土) 15:30:20.70ID:TWHk+AyG0
R800は速いZ80としてしか使わなかったな。勿体ない。
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で逆汗して遊んでたわ
0161高輝度青色変光星(兵庫県) [US]
垢版 |
2019/12/14(土) 23:06:06.69ID:9FyDxrHS0
未定義命令ね、HとLの代わりに使ったことあります。
いちおうNECの型番忘れたけど互換CPUでは使えた。
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年ローン
■ このスレッドは過去ログ倉庫に格納されています

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