ときどきの雑記帖 RE* (新南口)
結局できずじまい
急行渋谷行き@東横線
今回のダイヤ改正で「急行渋谷行き」が結構増えてるような気がする。
ナポレオン@アワーズ
ワーテルローの戦い終了。
電動キックボード
今日また歩道で「煽られた」んだけど 「まだ」通っちゃいけない代物だよなあ?
「電動キックボード」7月から免許ナシ・歩道走行可能に、シェアモビリティ大手「Luup」が声明を発表 - ケータイ Watch
8bit
3001
2023年1月~3月の読書まとめ:生涯現役のITエンジニアを目指して:エンジニアライフ
を読んでいたら最近読んだ本として
「3001年終局への旅」(アーサー C クラーク、早川書房)
が挙げられていたんだけど、 2001、2010、2061はいつ頃読んだのか気になった😄
エノスイグソクムシ
今週の「ナワバリクイズ」から。
- “えのすい”で飼育・展示していた「ダイオウグソクムシ」の中に新種が混じっていた! 台湾のグソクムシ研究者により なんと、和名に 「エノスイグソクムシ」 と献名される!! | 新しい生き物たち | 新江ノ島水族館
- エノスイグソクムシ - Wikipedia
- Splatoon ナワバリクイズ|任天堂
FORTRAN Compiler on IBM 704
しんちょくありません。
今読んでいる辺りでは一文字の名前のワークエリアがいくつか 使われているのだけど(探しづれー)
E BSS 14 WORKING STORAGE USED BY SS000. 4F10277
を参照しているところで
E+15,4 SET ADDEND = 0. 4F11088
E+15,4 SET ADDEND = 0. 4F11156
E+15,4 STORE SIGN OF ADDEND. 4F11120
E+15,4 TO LOW ORDER POSITION. 4F11163
というのがあって、一瞬なんじゃこれは。と。 細かくは追いかけていないのでアレだけど たぶんインデックスレジスター(4番)が0になることはないんだろう。 たぶん。
ARGREG BSS 50 4F14189
CBAR BSS 1 4F14190
ABAR BSS 1 4F14191
FSTYPE BSS 1 4F14192
FSBITS BSS 1 4F14193
FNBITS BSS 1 4F14194
FNCTR BSS 1 4F14195
ALPHA BSS 139 4F14196
LAMBDA BSS 1200 4F14197
REM END OF ARITHMETIC / STATE B. 4F14198
ちょっと大き目の作業領域(ALPHA、LAMBDA)が気になる。
level-analysis
で、レベルアナリシス。 レベルアナリシスを抜けるあたりのコードがこんな感じで
*endmk
MS230 LXD ABAR,4 PERFORM LEVEL ANALYSIS FOR ENDMK, 4F13596
TXI MS231,4,3 4F13597
MS231 TXL MS232,4,0 FINISHED, HAS LEVEL BEEN REDUCED TO ZERO, 4F13598
TSX DIAG,4 NO, ERROR. 4F13599
MS232 LXD ARGCTR,4 WAS THIS AN ARITH FUNCTION STATEMENT 4F13600
TXL STATEC,4,0 4F13601 ***
CAL FSTYPE YES, UPDATE FUNCTION TYPE AND 4F13602
ADD L(1) COMPLETE FORSUB ENTRY BY ASSIGNING 4F13603
LXD BK,1 TYPE NUMBER. 4F13604
STA FORSUB-1,1 X 4F13605
ORS ARERAS ALSO SAVE FOR LATER REFERENCE. 4F13606
TRA STATEC 4F13607
ABAR
で以前ちょっと書いた「カッコのレベルとバランス」を管理していて、
式の終端に達したときには0になっていないとおかしい。と。
TXI MS231,4,3
で3を引いているのは
式の末尾に付加されるのが)))
だからだろう
(以前説明で書いたのは))
と2個だったけど、ここでは**
の分
レベルが増えているのでそれに応じて式の前後に付加するカッコの数も増える)。
んで、上記のコードでは インデックスレジスターをその番号で指定しているのだけど、
LXD 3LBAR,A LOAD LA COUNTERS 4F13774 25
LXD NBAR,B 4F13775 26
LXD ABAR,C 4F13776 27
のように1、2、4をそれぞれA、B、Cで指定しているのが一部にだけあって、 何か深い意図があってそうしているんだろうか。と 気になった。
んでC
でgrepすると
>grep -e "TXI [^,]*,C,-\?[0-9]" fort1.asm
TXI LA1040,C,-3 -A TO - (A+3) 4F13878
TXI CM4303,C,-1 4F13966
TXI CM4303,C,-1 4F13969
TXI R06100,C,-3 4F14270
TXI R07500,C,-3 4F14286
CS0120 TXI CS0100,C,3 4F14305
CS0370 TXI CS0250,C,3 4F14339
CS0560 TXI CS0530,C,3 4F14353
CS0650 TXI CS0630,C,3 4F14363
TXI CS0750,C,-3 4F14372
PM0250 TXI PM0260,C,-3 4F14402
PM0390 TXI PM0400,C,-3 4F14416
PM0670 TXI PM0680,C,-3 4F14441
PM0980 TXI PM0990,C,3 4F14469
TXI AS0700,C,-1 4F14494
TXI CCS190,C,1 RAISE REF COUNTER AND 4F14544
LK0180 TXI LK0190,C,0 MOVE XC TO BEGINNING OF S(I-1) 4F14720
LKK050 TXI LKK060,C,0 BACK UP XA TO 1ST ELEMENT OF LAST SEGMENT 4F14870
TXI PC0040,C,1 NO 4F14884
TXI PC0040,C,1 AND UPDATE FOR NEXT SEGMENT 4F14899
MC0460 TXI MC0470,C,0 MOVE XC TO 1ST ELEMENT OF S(I+1) 4F14986
MC0560 TXI MC0470,C,0 4F14996
TXI CP5210,C,1 NOT FINISHED-STAIX=STAIX+1 4F15513
2や-2が見当たらないのが気になる。
それと、TXI LK0190,C,0
のように
インデックスレジスターの内容に対して操作する値が
0というのはどういうこと?
LK0000 LXD AS3600,A -3Q TO XA 4F14706
LK0030 CAL SCRIPL-3,A 4F14707
PAX 0,B S(I) TO XB 4F14708
TXL LK1610,B,0 EXIT UPON ENCOUNTERING S(0) 4F14709
LDQ SCRIPL-2,A PLACE LAST OP OP S(I) IN MQ 4F14710
CLA BETA,B 4F14711
STD LK0110 4F14712
LK0110 TXI LK0120,A,0 MOVE XA TO BEGINNING OF S(I) 4F14713
LK0120 LXD LK0130,C 4F14714
LK0130 TXI LK0140,5,0 XA TO XA,XC 4F14715
LK0140 SXD AS3600,A 4F14716
CLA BETA-1,B 4F14717
PDX 0,B LENGTH OF S(I-1) TO XB 4F14718
SXD LK0180,B 4F14719
LK0180 TXI LK0190,C,0 MOVE XC TO BEGINNING OF S(I-1) 4F14720
LK0190 TQP LK1200 S(I) TYPE AC 4F14721
ん-、0(decrement part)を実行中に書き換えている?
あるいはあるインデックスレジスターから
別のインデックスレジスターに値をコピーするときも
このようにしているようだ
( LK0140,5,0
のインデックスレジスター指定は1と4を同時に指定している)。
なるほどねえ。
E
Eの各ワードの割り当てが良くわからんなあ。
MS010 CAL ADPLUS SET OP TO ADDITION 4F13478
*
MS030 SLW E+1 X 4F13479
MS240 ALS 30 * SAVE * 4F13617 -1
TRBLKA BSS 0 4F13618 0
SLW E+1 X 4F13619
* '-' '/' '+'
MS250 ALS 30 POSITION CHAR WHICH IS + OR - OR / 4F13627
MS251 SLW E+1 PUT CURRENT OP IN E+1. 4F13628
TRA MS040 NOW GO COLLECT SYMBOL, 4F13629
PXD ,0 4F13822
LDQ E+1 4F13823
STQ LAMBDA+1,A 4F13824
LGL 6 4F13825
CAS STAR 4F13826
TRA LA0015 / SIGN 4F13827
TRA LA0010 , OR ,, SIGN 4F13828
SLT 2 + OR - SIGN 4F13829
TRA LA0044 4F13830
TXI MS1033,B,-3 -N TO -(N+3) 4F13831
E+1には演算子を入れてる?
今日のやらかし
— Met Martinez ❄️ (@ZQ875328) March 30, 2023
for (uint32_t i = hoge; i >= 0; --i){
hogehoge();
}
ん?「カセットを入れると録音、再生ができる」?🤔
— クロトル大尉 (@mob_moe_samrai) March 29, 2023
カセットは飾りだよね?音声チップで再現するんだよね?まさかガチでカセットの磁気テープに録音できるとか、そういうイカれた仕様じゃないよね?😇 pic.twitter.com/JFz4rxzUDG
【#今週のドイツ語】
— ドイツ大使館🇩🇪 (@GermanyinJapan) March 31, 2023
明日から4月、新生活を迎える人々も多いと思います。仕事でも学校でも、どうしても「何かを我慢して受け入れ」なければならない場面があると思います。それをドイツ語では「ヒキガエルを飲み込む」と表現します。
詳しい解説は⬇️https://t.co/mxTgfJDar8 pic.twitter.com/8K78yscmCE