自動ニュース作成G
PC-8801用グラフィック画面クリア
https://twitter.com/KenAkamatsu/status/1544922544616001536
2022-07-08 09:50:27
>赤松 健 参議院議員(全国比例)候補者
>XOR AはAレジスタを0にする技で、LD A,0より速い。LD BC,035Ch1は3周ループとVRAM1枚目の5Cポートを一気に入れる工夫。CP HはHLレジスタがFFFFから0になった事を察知する技(Aが0なので)。今は必要ない裏技だが、こういうデジタルの基本が分かっていると現場に丸投げせず指示できる。政治にも必要だ。
SPを指定してPUSHを数10個程度並べループするのが一番速いよ
・残念ながらこんな凝った例え話が通じるほど有権者は賢くないんや。・xor aが早い、というのはz80学習初期に教えてもらったな・さすがにこれを政治に繋げるのは無理筋だろ!・#1 俺もわかるぜ系の人にはぐぐっと来る例えだけどな。一般人受けはせんよな。・末端ではそうかもしれんけど、むしろ上位の人間はそれを縛ってでも可読性の良さを優先させるべきでは。知らずに騒ぐのと知ってて縛るのは別だから、世襲より現場たたき上げが必要ってのは同意だけど。・わかるぜ系の人にはぐぐっと来るかもしれないけど、そのあと「国の仕事でこのレベルの細かい指示が来たら嫌だな」て冷静になりそう・xorは命令長が1バイトに対してld a,nはオペランドが必要になるから2バイトになる。だから8bitデータバスで1度に1バイトしかフェッチできないZ80ではそうなるな。「Z-80命令表」 https://www.nuis.ac.jp/~kawahara/lec/sys/z80.html SUB Aでも一緒ね。#0 SPを弄る前に割り込み禁止を忘れずに(笑)って赤松さんのコードにもDI命令入ってた・ループ周回数をBレジに入れる事がDJNZで回す時にも活きてるのにもぐぐっと来た。色んな所を圧縮してるのが美しいコードだと思うし俺は赤松氏の漫画作品よりもこっちの話題が好きなんだが、可読性は逆に失われる(そういう時代のものではない)とか、政治に当てはめようとすると人の削減に通じるんじゃないかというツッコミになってしまうのではという余計な心配が。・字数を抑えてる間にコメントが増えてた。#5を見てない状態で#8を書いたが、リーダブルコードという言葉もある時代なので同じ所は気になるよね。 #6 本人は「マイクロマネジメントは悪影響、デメリットが多い」くらいの知見は持ってると思いたいけど、受け取り方は人それぞれだからなー・C9・知らないよりは知ってる方がいいけど、それをどう使うかだね。「俺はものすごく原子力は強いんだ」みたいなことにならなきゃいいけど・義務教育でアセンブラ必須とかだったらちょっと面白いけどな・面白いけどそんな昔ばなしを例えで出されても困る・あーちょっと政治家向いてなさそうだなと思ってしまった。個人的にはZ80のXOR A技めっちゃ懐かしいし、こういう人に政治やってもらいたいんだけどね。むしろ老人オタクから票取れればいいって算段なのかな。・フラグの切り替えにA=1-Aするとかそういう話?・#15 初期化用の0を何らかのレジスタに代入するより、演算レジスタをXORする方が必要ステップが少なくて早い、という手法。・アセンブラのオプティマイザーってないん。・リンク先にあるニーモニック記述は、最終的な機械語とはアセンブラを介してるだけでほぼイコールの関係にあるので、昔はオプティマイザーを手動でやってたよねみたいな。・#17 1980年台当時は無かったな。今ぐぐったらこんなのは見つかった。『MDL (a Z80 assembler optimizer)』https://github.com/santiontanon/mdlz80optimizer ざくっとreadmeを斜め読みした感じだとJava version 8以上が必要、z180(HD64180?)まで対応、-dialectオプションで利用するアセンブラを指定、VSCodeに組み込んで使う使い方が記載してある。・Z80とZ8を一緒くたにしている奴が居るw同じじゃ無いから! >まさか令和の世の中になってZ8のニーモニックにお目にかかれるとは…。・#17 アセンブラを使うのは細かな調整を手動で出来るからだと思うので、需要が無いのでは?それにアセンブラは低レベル言語でコードから意図を見出すのが困難。高級言語みたいに抽象化されたものでないとオプティマイズの余地は少ないだろう。・でもなー。Z80でアセンブラを覚えてしまったから、8086に入るのにてこずったわ。・関数にしてライブラリにしましょうよって、ならんか? お絵かきに苦心した時代は理解できるし、この手のプログラム解析やったことあるけど、気が狂いそうだわ。ただでさえ、人の作ったプログラムの修正は苦行なのに・CPUの計算資源が限られてた頃の裏技だろう。計算でのフレームシフトとか。グラフィックは負荷が高いので、こういう手法が編み出されたんだろう。その時代のをそのまま持ってくるのは政治センスないわ・ザイログのゼッパチが好きだがPC8801育ちだとインテルニーモックかつNECのセカンドソース品なんだよな・#23 メモリ空間の狭さもあって必要最低限な処理のみを格納する必要があったので、ライブラリとして一般的に整備が始まるのはもう少し後の時代。 これをそのまま政治に【持ってきたら】「センスない」には同意するが、所詮「趣味の昔話ツイートの一つ」なので。・例えなんだから今風である必要はない。ようは現場を知らないと政治は上手く出来ないとの話だろう。最新の例えなんか今は専門が細分化しているからむしろ理解出来る人はこっちの方が多かったり。・関数にするならちゃんと、パラメータをどうやって渡すか(レジスタ、スタック、ヒープ、参照、実体…)とかリエントラントにするか、リターン値はどうやって渡すか等々決めておかないといけない事がいっぱいあってなあ。