ときどきの雑記帖 RE* (新南口)
ぼくはいったいどこにいるんだ
笑わない数学
忘れないようにメモ。
Eテレ 毎週土曜 午後9時30分 (2023年4月~6月)*第1シリーズ
XUL
今までコードが残ってたんですか。 ところで
Proprietary, poorly documented technology
The Firefox desktop front-end, at the end of the day, is a regular website with superpowers.
Before, if you’re a front-end developer and you want to contribute to the firefox UI, you’d needed to learn what display: -moz-box does and how it behaves, which is not super well documented.
Now you can just use the browser toolbox and use regular CSS to change the UI or contribute to it.
Proprietary
というのにちょっと引っかかったけど
当事者が言っているのだし(使い方として)そんなものなのかもしれない。
MISRA C++
MISRAってC++のもあったんすか(知らなかった)
C/C++言語の新たなコーディング規約に完全対応したテストツールを販売開始:組み込み開発ニュース - MONOist
C++コーディング標準の新版となる「MISRA C++:202x」のドラフト版の一部に先行対応し、 一般公開前に一部のコーディング規約チェックができるようにした。
メモ
- 人知れず消えていったマイナーCPUを語ろう(第2回):NS SC/MPが日本のパソコン自作に果たした役割とDr.パソコン(大原雄介) | テクノエッジ TechnoEdge
- [B! 技術] 人知れず消えていったマイナーCPUを語ろう(第2回):NS SC/MPが日本のパソコン自作に果たした役割とDr.パソコン(大原雄介) | テクノエッジ TechnoEdge
Kindle本
C言語を全くの初心者が効率的に超スピードで書けるようになる方法 | 49375862 | 工学 | Kindleストア | Amazon https://www.amazon.co.jp/dp/B0BWWZYMS5/
C言語で副業案件を取る方法: C言語で必要なスキルと獲得方法まとめ | ハック|C言語自動化の魔術師 | 工学 | Kindleストア | Amazon https://www.amazon.co.jp/dp/B0BWWD26KV/
新入社員
今年も新入社員がくる季節に。 つーてもまだ近くには来ないのだけど。
浮動小数点数
【Swift】FloatやDoubleの小数演算で誤差がでる現象を実際に2進数演算して調べてみた - Qiita
(計算結果の相違が)気になったので、 (原因の見当はつくけど)ちょっと調べてみるかと思いつつ 実際に調べる前にもう一度確認するかとみてみたらコメント欄にあの方が。
FORTRAN Compiler on IBM 704
The arithmetic translator-compiler of the IBM FORTRAN automatic coding system を読みつつ。
HOLL
さて、ARITHMETIC STATEMENTの処理で
MS041 CAS L(9) IS CHAR. NUMERIC 4F13489
TRA MS050 N/, TAKE TRA 4F13490
MS4007 TXH CM4100,0 4F13491
TSX ROYCNV,4 X 4F13492
TRA HOLL RETURN 1, THIS WAS HOLLERITH. 4F13493
TRA LATXH THIS WAS FIXED OR FLOATING CONSTANT. 4F13494
のように数字を見つけたところでサブルーチンROYCNVを呼び出しているのだけど、 呼び出し先で解析中のそれが数値ではなくホレリス定数だった場合は 4F13493のTRA HOLLに戻ってくる (通常の数値の場合 4F13494に戻ってくる) のだけど、その飛び先のHOLLって
HOLL
HOLL STZ CHSAVE CLEAR CHSAVE 4F13708
CAL HOLCNT GET CURRENT H(+I WORD 4F13709
SLW E+2 4F13710
LXA N,2 GET NUMBER OF CHARACTERS IN THIS ARG 4F13711
LXD CHCTR,4 GET CURRENT RESIDUE CHAR COUNT 4F13712
LDQ RESIDU GET CURRENT RESIDU WORD 4F13713
C3351 LXA L(6),1 SET TO COLLECT SIX CHARS 4F13714
PXD 0,0 CLEAR AC 4F13715
C3352 TNX C3354,4,1 TEST FOR NO MORE CHARS IN RESIDU 4F13716
C33525 LGL 6 GET NEXT CHAR 4F13717
SLW 1G STORE WORD 4F13718
ANA ENDMK BLANK ALL EXCEPT CURRENT CHAR 4F13719
SUB ENDMK TEST FOR INTERNAL ENDMK 4F13720
TNZ C3353 4F13721
TSX DIAG,4 YES, ERROR, GO TO DIAGNOSTIC. 4F13722
C3353 CAL 1G RETREIVE WORD 4F13723
TNX C3358,2,1 TEST FOR ALL CHARS COLLECTED 4F13724
TNX C3356,1,1 TEST FOR SIX CHARS COLLECTED 4F13725
TRA C3352 NOT SIX CHARS YET, CONTINUE COLLECTING4F13726
C3354 LXD FWA,4 LOAD MQ WITH NEXT F REGION WORD 4F13727
LDQ 0,4 4F13728
TXI C3355,4,-1 UPDATE FWA 4F13729
C3355 SXD FWA,4 4F13730
LXA L(6),4 RESET MQ CHAR COUNT TO SIX 4F13731
TRA C33525 CONTINUE COLLECTING 4F13732
C3356 TSX C3390,1 GO TO ENTER WORD IN HOLARG TABLE 4F13733
C3357 TXI C3351,0,** RETURN TO CONTINUE COLLECTING 4F13734
C3358 STQ RESIDU UPDATE RESIDU 4F13735
SXD CHCTR,4 UPDATE CHCTR 4F13736
TNX C3360,1,1 TEST FOR SIX CHARS IN AC DEC IR1 4F13737
LDQ BLANKS NOT SIX CHARS, PREPARE TO ADD BLANKS 4F13738
C3359 LGL 6 ADD BLANKS 4F13739
TIX C3359,1,1 4F13740
C3360 TSX C3390,1 GO TO ENTER WORD IN HOLARG TABLE 4F13741
CAL ALL1 GET WORD OF ONES 4F13742
TSX C3390,1 GO TO ENTER WORD IN HOLARG TABLE 4F13743
REM LEVEL ANALYSIS 4F13744
LATXL CAL TXLOP 4F13745
TRA LATXL+3 4F13746
LATXH CAL TXHOP 4F13747
STP CM4105 4F13748
*
LA0000 LXA L(0),A 4F13749 0
CLA E+2 4F13750 1
SLT 2 IS THIS A FUNCTION NAME 4F13751 2
TRA LA0000+36 NO 4F13752 3
SLN 2 YES - TURN F LITE BACK ON 4F13753 4
LXD BK,C IS FORSUB EMPTY 4F13754 5
TXL LA0000+13,C,0 YES. GO SET FS BITS TO 0 4F13755 6
SXD LA0000+12,C 4F13756 7
最後はそのままレベルアナリシスに入っているような。 なんでこうなっているのだろう?
LA COUNTER MODIFICATION ROUTINES
そのレベルアナリシスで、TXI命令のオペランドに置かれた数字の意味が今一つわからん (-1は単純な「インクリメント」なのだろうけど)
CM4100 TXI CM4101,A,-3 LA COUNTER MODIFICATION ROUTINES 4F13956
CM4101 SXD 3LBAR,A 4F13957
*exit level-analysis
CM4102 SXD CBAR,B 4F13958
TXI CM4104,B,-1 4F13959
CM4104 SXD NBAR,B 4F13960
CM4105 *** MS010,0 4F13961 TXL/TXH (LATX[LH])
*
MS020 CAL ADSTAR 4F13962
TRA MS030 4F13963
*
*
CM4200 TXI CM4201,A,-3 4F13964
CM4201 SXD 3LBAR,A 4F13965
TXI CM4303,C,-1 4F13966
*
CM4300 TXI CM4301,A,-6 4F13967
CM4301 SXD 3LBAR,A 4F13968
TXI CM4303,C,-1 4F13969
CM4303 SXD ABAR,C 4F13970
TXI CM4102,B,-1 4F13971
SXD ABAR,C
のように英文字で指定されているインデックスレジスターの値の
格納先のラベルはレベルアナリシスの先頭付近でロードしているのと対応してますね
(当然と言えば当然)
LXD 3LBAR,A LOAD LA COUNTERS 4F13774 25
LXD NBAR,B 4F13775 26
LXD ABAR,C 4F13776 27
名前が短すぎて役割が良くわからん…
3LBAR BSS 1 STORAGE USED BY ARITHMETIC. 4F10270
NBAR BSS 1 STORAGE USED BY ARITHMETIC. 4F10292
ABAR BSS 1 4F14191
auto
c++にautoが追加され、未来のc++はほとんどautoでかけるんじゃね??って思って実装したら、地獄絵図みたいなコードになった。 pic.twitter.com/vLBLVj601U
— akakou (@_akakou) March 31, 2023
というのをみかけ、そこから
https://akakou-hobby.github.io/c-plus-plus-...-plus/
を見てなにがどうなってそうなる と悩んで数時間後
これはエイプリルフールのジョークで、
— akakou (@_akakou) April 1, 2023
あくまで「未来のC++風のbrainf*ck」です!
HTMLの中にbrainf*ckとの対応表があるので、brainf*ckを書いて、対応表をもとに今回のコードに変換すれば、実行できます!
(なお同じく、Webサイトのbrainf*ck => C++と書かれたボタンでも変換できるはずです!) pic.twitter.com/c1NwDfzqKS
というのを見つけて納得。
チェックサム
月刊マイコン '85/4月号の「ZENON」をOCR入力してみた。
— yanataka (@yanatoku) April 1, 2023
CHECKSUMが独自形式でDumpListEditorが使えず自作バイナリエディタでCHECKSUMを照合修正したためちょっと手間取ったけどなんとか修正完了。
MZ-2500の2000モードで遊んでみたが、すぐやられてしまう。なかなか難しい。 pic.twitter.com/8OpeZx51fg
アドレスの下位だけをチェックサムに足してますね。
— bugfire2009@ネト充のススメ再UP記念 (@bugfire01) April 1, 2023
月刊マイコンで良く使われる形式なのであれば、追加対応したいと思います。
そう言えば雑誌によって結構バリエーションがあったような>ダンプリストのチェックサム
256バイト(縦16バイト横16バイト)で縦横にチェックサム(1バイト)がつくとか その発展形で256バイト全体のチェックサムの代わりにCRC(2バイト)がつくとか 16バイト単位の横サムしかないけど「重み」がつけられているとか
C23
今年改訂されるC23標準にはチェックつき整数演算 <stdchkint.h> や nullptr予約語など改良点があるが、大きな落とし穴がひとつある: 従来NULLを返していた realloc(p,0) はいまや未定義動作となった。この挙動を使っているコードは沢山あるため、注意が必要である。https://t.co/qTGrbSBbeR
— 新山祐介 (Yusuke Shinyama) (@mootastic) April 2, 2023
Catch-23: The New C Standard Sets the World on Fire - ACM Queue
すげータイトルだな>Sets the World on Fire
Catch-23 というのも Catch 22とかけているんだろうか? (Catch 22を徹底解説!覚えておくと便利な慣用句です | ステューディアス英語学院)
自分で宣伝:
— 新山祐介 (Yusuke Shinyama) (@mootastic) April 2, 2023
6502 アセンブラ プログラミング入門https://t.co/SlIR75pGr1
からの [B! プログラミング] 6502 アセンブラ プログラミング入門 / 新山 祐介 で、なんでこんなにブックマーク数が伸びてるのだろう🤔