ぐだぐだ低レベルプログラミング(238)x86(16bit)、PUSHA、POPA

pusha_popa_diagram
Joseph Halfmoon

今回は、8086になく80186/80286で拡張されている命令の練習その3ということでPUSHA、POPA命令です。汎用レジスタマシンと言うにはレジスタ型付けが強いx86の全「汎用レジスタ」を一気にPUSH/POPする命令デス。でもスタックポインタ(SP)もPUSH/POPの対象に見えるのよ。大丈夫なのか?

“ぐだぐだ低レベルプログラミング(238)x86(16bit)、PUSHA、POPA” の続きを読む

Pico三昧(62) ラズパイPico 2 W、WiFi ネットワーク・ステータス

networkStatus
Joseph Halfmoon

前回は「後攻、有線LAN」だったので今回は「先行、無線LAN」に戻ります。前々回、無線LANはラズパイPico 2 W上のMicroPythonから手近なアクセスポイントに接続できたところで終わってました。今回は、プラットフォームとネットワークの接続ステータスなどをも少し丁寧に確認していきたいと思います。
“Pico三昧(62) ラズパイPico 2 W、WiFi ネットワーク・ステータス” の続きを読む

ぐだぐだ低レベルプログラミング(237)x86(16bit)、BOUND、添え字のチェック

unasmMAIN
Joseph Halfmoon

前回、x86(16bit)範疇にはまだまだ命令があることに気づきました。お尻が長いよ。今回は、8086になく80186/80286で拡張されている命令のその2(遥か昔にENTER/LEAVEはやったので)ということでBOUND命令を練習してみます。使うか使わないかはあなた次第?コンパイラによっては余計なお世話か? “ぐだぐだ低レベルプログラミング(237)x86(16bit)、BOUND、添え字のチェック” の続きを読む

Pico三昧(61) W5100S_EVB_PICO、有線LAN、MicroPython起動

Joseph Halfmoon

前回は無線LAN登載のRaspberry Pi Pico 2 W ボードにMicroPythonをインストール、ネットワーク接続を確認。今回は有線LAN登載のPico互換ボードW5100S_EVB_PICOで同じことを確かめてみたいと思います。有線、無線と物理メディアは異なれど、ほぼほぼ同じ手順で接続OK。お手軽。
“Pico三昧(61) W5100S_EVB_PICO、有線LAN、MicroPython起動” の続きを読む

Pico三昧(60) ラズパイPico 2 W、WiFi登載、Micropython起動

Pico2_Pico2W
Joseph Halfmoon

前回は、着弾のRaspberry Pi Pico 2 W ボード (無線LAN)とWS100S-EVB-Pico ボード(有線LAN)の2枚のボードにピンヘッダをはんだ付けしたところで終了。老眼の目も復活したので、本日は「火を入れ」て行きたいと思います。まずはRaspberry Pi Pico 2 Wから。
“Pico三昧(60) ラズパイPico 2 W、WiFi登載、Micropython起動” の続きを読む

Pico三昧(59) ラズパイPico系、無線LAN登載ボードと有線LAN登載ボード

Pico_boards_w_LAN_WLANEC
Joseph Halfmoon

Pico三昧、久々の復活。ついボード2枚買ってしまったのであります。一つは Raspberry Pi Pico 2 W ボード (無線LAN登載)、もう一つが WS100S-EVB-Pico ボード(有線LAN登載)であります。この二つを使って、有線でも無線でもネットワークを使い倒してやるぞ、とお惚け老人。ホントか?

“Pico三昧(59) ラズパイPico系、無線LAN登載ボードと有線LAN登載ボード” の続きを読む

MicroPython的午睡(144)RP2350-GEEK版MicroPythonの例題

sampleScript
Joseph Halfmoon

別シリーズにてラズパイPico 2ベースのUSBスティック型「RP2350-GEEK」着弾。メーカのWaveshare社版のMicroPythonをインストールしてみたので、こちらシリーズでその使い勝手を調べてみます。フツーのMicroPythonに見えるけど。まずはダウンロードできたExampleを動かしてみます。 “MicroPython的午睡(144)RP2350-GEEK版MicroPythonの例題” の続きを読む

ぐだぐだ低レベルプログラミング(236)x86(16bit)、80186/80286追加命令

Joseph Halfmoon

長らく8087FPUの命令の練習を続けてきましたが、前回にて一応の完了といたしたいと思います(本人まだやる気ですが別シリーズ化の予定。)今回から32ビット、とも思いましたが、x86(16bit)範疇にはまだまだ命令が存在します。80186と80286で追加された命令どもです。なかなか32ビットモードに入れんぞなもし。 “ぐだぐだ低レベルプログラミング(236)x86(16bit)、80186/80286追加命令” の続きを読む

鳥なき里のマイコン屋(176) Waveshare、RP2350-GEEK着弾

RP2350GEEK
Joseph Halfmoon

ご無沙汰だった本シリーズを復活させたのは他でもありません、「お楽しみのマイコン製品」をつい買ってしまったからです。Waveshare社のRP2350-GEEKとな。ぶっちゃけRaspberry Pi Pico 2相当回路をカラーLCDパネルとインタフェースコネクタ付USBスティック型の筐体にいれたもの、であります。
“鳥なき里のマイコン屋(176) Waveshare、RP2350-GEEK着弾” の続きを読む

ぐだぐだ低レベルプログラミング(235)x86(16bit)、FSAVE、全レジスタセーブ

fsaveBeforeAfter
Joseph Halfmoon

8087FPUの制御命令の説明に前回前々回と2回を費やしました。今回こそ命令を「動かしたい」と思います。しかし、その前に確認しておかないとならないんだな、16ビット実行環境であるFreeDOSから「みえる」FPUの命令がどのレベルのものなのか?「ピュアな」8087ではないけれども、雰囲気は出してる?なんだそれ。

“ぐだぐだ低レベルプログラミング(235)x86(16bit)、FSAVE、全レジスタセーブ” の続きを読む

ぐだぐだ低レベルプログラミング(234)x86(16bit)、続、FPU制御命令

Joseph Halfmoon

前回、8087数値演算コープロセッサの制御命令の一覧を掲げました。全部を一気に説明するつもりが、ほんの一部の命令を説明したところで力尽きてました。今回は残りの制御命令を端から見ていきたいと思います。ううむ、アセンブラの実習はまたまた次回に見送りだな。なかなか「低レベル」練習に戻れませぬ。
“ぐだぐだ低レベルプログラミング(234)x86(16bit)、続、FPU制御命令” の続きを読む

ぐだぐだ低レベルプログラミング(233)x86(16bit)、FPU制御命令

FPU_Exception_Pointers
Joseph Halfmoon

前回は8087ストア命令を練習。いつものように命令セットに非対称性がありました。しかし今回のあれやこれやに比べたらまだましだったかもしれません。今回はずっと顔を背けてきた(その割に使ってしまった過去回もあるけど)FPUの制御命令を一挙に列挙してみたいと思います。今回は強烈なメンバどもを拝観するだけ、練習はまた今度。

“ぐだぐだ低レベルプログラミング(233)x86(16bit)、FPU制御命令” の続きを読む

ぐだぐだ低レベルプログラミング(232)x86(16bit)、FST、ストアあれこれ

unassemFSTEC
Joseph Halfmoon

前回は8087のpacked な BCD 整数のロード、ストア命令がなんで18桁なのか年甲斐もなく悩んでみました。今回はフツーの浮動小数とフツーの整数(2の補数)のストア命令を練習してみます。そんなの簡単じゃん、といいつつ、そこはx86一族です。ここにも命令セットの非対称性あり。いつものコマケー話なんだが。
“ぐだぐだ低レベルプログラミング(232)x86(16bit)、FST、ストアあれこれ” の続きを読む

ぐだぐだ低レベルプログラミング(231)x86(16bit)、BCD整数のロード、セーブ

unasmFBLD
Joseph Halfmoon

前回はpartialでexactな「剰余算」でした。今回もメンドクセー命令がつづきます。packed な BCD 整数のロード、ストア命令っす。BCD=Binary-coded decimalデス。8087FPUには「フツーの」整数とは別にBCD数を扱うための命令あり。計算できる桁数は10進18桁です。なんで18桁?

“ぐだぐだ低レベルプログラミング(231)x86(16bit)、BCD整数のロード、セーブ” の続きを読む