
遥か半世紀を遡る8088/8086の時代からx86はマルチプロセッサに対応しとります。そのお印がLOCKプリフィックスです。LOCK自体はエミュレータ上でも使い放題ですが意味なし。その動作をシミジミ味わうには、マルチ・プロセッサに対応したインテル・マルチバスシステムなどが必要。そんなもの無いぞなもし。 “ぐだぐだ低レベルプログラミング(210)x86(16bit)、LOCKプリフィクス” の続きを読む
デバイス作る人>>デバイス使う人>>デバイスおたく
遥か半世紀を遡る8088/8086の時代からx86はマルチプロセッサに対応しとります。そのお印がLOCKプリフィックスです。LOCK自体はエミュレータ上でも使い放題ですが意味なし。その動作をシミジミ味わうには、マルチ・プロセッサに対応したインテル・マルチバスシステムなどが必要。そんなもの無いぞなもし。 “ぐだぐだ低レベルプログラミング(210)x86(16bit)、LOCKプリフィクス” の続きを読む
x86(16bit)のオペコードマップの「塗りつぶし」も見た目は後一息という雰囲気を醸してます。今回は過去回でMOVSのみ練習して他の命令どもから目を背けていたストリング命令の残りからSCASとCMPSを練習してみます。メモリの中から特定のパターンを見つけたり文字列同士の比較に威力を発揮するもの。まあCISCらしい。 “ぐだぐだ低レベルプログラミング(207)x86(16bit)、SCASとCMPS” の続きを読む
x86(16bit)のオペコードマップもかなり塗りつぶし出来てきて、今回は落穂拾い回。XLATとな。何の略かと問えばTRANSLATEみたい。AIの言語変換ではありませんよ。バイト単位で最大256バイトの単なる表引きデス。当時、どなたかがこういう命令が欲しいなどとリクエストしたのかな?お惚け老人には知るよしもなし。
“ぐだぐだ低レベルプログラミング(206)x86(16bit)、XLAT” の続きを読む
別シリーズにてx86のアセンブラを古き16ビットから順に練習中です。段々煮詰まり、バス波形を参照しないと動作が説明できん命令に近付いております。しかし今時8086のバス波形など説明するための土台がありませぬ。そこで今回は何を今更8086/8088のバス波形(Read)をWaveDrom使用で描いてみました。
“冥界のLSI(12) 8086 Minimum Mode のバス波形(Read)を描く” の続きを読む
迂闊なことに、つい最近までWio Terminal(ハード的にはWiFi対応)上のuLispで無線LANできるものと思い込んでました。しかし、uLisp4.6b ではWio Terminal上でのWiFi対応は無。仕方ないのでSDカードを使用できるようにしてみました。とばっちり? SDカードはフツーに使えます。 “Lispと一緒(49) Wio TerminalでもuLisp、SDカードの使用” の続きを読む
前回はホフスタッターQ数列でクロージャを学びましたです。今回は1ピクセル描画関数 draw-pixel の「重そうなデモ」ということで Graphics examples の Ray tracing を試行。@200MHzとはいえ uLispインタプリタで直列処理。360×240ピクセルの画面に出力するのに約11分。
前回、前々回とuLispのグラフィクスの使い方を学び始めました。グラフィクスににはアリガチな(再帰駆使した)デモ例題有。マンデルブロ集合、バンズリーのシダなど別シリーズでやったものも在。デモのuLispコードを読んでいくと流石、素人老人が思いつかないスマートなコード。今回はホフスタッターQ数列でクロージャを学びます。
“Lispと一緒(47) Wio TerminalでもuLisp、ホフスタッターQ数列” の続きを読む
前回はuLispのGraphics extensionsの全般的な表示設定について確認。文字出力をLCDへ向けてでした。今回はいよいよグラフィクスの描画に入ります。まずはアリガチな丸描いて四角描いて的な描画関数どもを練習してみます。一通り最低線の描画セットはある感じ。こんだけあればなんとかなるべよ。ホントか?
前回より練習台をラズパイPico2機からWio Terminalに変更。LCD画面表示用の関数どもの練習のためです。今回はディスプレイ設定のキホン的なところを確認。とりあえず前回同様のLCDへの文字列の出力を使って設定を確認してみました。しかしデフォルトの文字サイズでは老眼の目には見えんぞなもし。
前回はCBWとCWDでした。今回はCMC、CLCとSTCです。似たような3文字ニーモニックの命令が続きますが他意はありません。x86は3文字ニーモニックの命令が多いだけのこと。今回の3命令に共通するのは末尾のCです。CARRY FLAGのCです。キャリーフラグ(CF)を操作したいことがそれだけ多いってこってす。