CASL
2025.03.18
CASLというのは、情報処理技術者試験用のアセンブラ
特定のCPUに偏ると平等ではない為、みんな同じ条件になるように、試験専用に考えられたという認識です。
今は無いかも?
そして、CASLの前身はCAP-Xじゃなかったっけ。
ポケコンにCASLシミュレータが付いていて、それで実際にプログラムを動かしたり、トレース(変数の動きを出力させたり)していた。
専門学校の授業でもアセンブラはCASLで、目的が情報処理技術者試験だったからそうなったわけだが・・・
勉強していくと面白くなってきて、色々なプログラムを作って遊んでいたような記憶がある。当時のノートは最近まで保管していて、さすがにカビがはえたような感じで汚くなったのでPDF化してから捨てました。
再帰的なプログラムってのがあってだな・・・(詳細、もう忘れた)
特定のCPUに偏ると平等ではない為、みんな同じ条件になるように、試験専用に考えられたという認識です。
今は無いかも?
そして、CASLの前身はCAP-Xじゃなかったっけ。
ポケコンにCASLシミュレータが付いていて、それで実際にプログラムを動かしたり、トレース(変数の動きを出力させたり)していた。
専門学校の授業でもアセンブラはCASLで、目的が情報処理技術者試験だったからそうなったわけだが・・・
勉強していくと面白くなってきて、色々なプログラムを作って遊んでいたような記憶がある。当時のノートは最近まで保管していて、さすがにカビがはえたような感じで汚くなったのでPDF化してから捨てました。
再帰的なプログラムってのがあってだな・・・(詳細、もう忘れた)
FORTRAN
2025.03.17
FORTRANも、いまでは一部しか知らない言語になりました。
自分は高校時代に習いました。(それっきりです)
中3の時、学校見学会だったか文化祭だったかで志望校を訪問する機会があり、そこで円周率の計算プログラム(FORTRAN)の展示を見かけて興味を持ちました。
数学が苦手なくせに、円周率には妙に興味を持っていて、あれこれ調べたりしていました。しかし、どうやって計算するのか当時まったく想像もつきませんでした。
要は、円周の長さを求めるにはどうするかという事で、多角形をどんどん細かくしていくわけです。
プログラムで多桁の数字を扱うにはどうすればよいかも当時は知らなくて、そのFORTRANプログラムを見て学びました。
当たり前といえばそうなんですが、桁を区切って扱うわけです。あとはRAMの許す限り、できるだけ大きな配列を確保します。
その配列ごとに桁上げ・借りを求めていくことで、多桁の計算を実現します。
たとえばZ80のアセンブラで、2バイトや4バイトの数を扱う時に1バイトずつ計算して、桁上げや借りを上位桁に反映していきますけど、同じようなことです。
RAM容量を超える部分をディスク等に書き出したり読み込んだりすれば、そういった外部記憶装置の容量しだいでもっと大きい桁も扱えるようになるけれど、その転送速度が課題となってきます。できるだけオンメモリで処理したいものです。
BASICの原型はFORTRANと聞いたことがあります。
いまでもFORTRANは科学計算などの分野では活躍しているようです。大学とか気象庁?
比較で <= > などの記号はFORTRAN77では使えなくて、.GT. .LE. .LT. .EQ. といった記号を使っていました。Greater Thanとか、Less Than、EQualの略でした。
円周率の計算式は色々あって(詳しくは専門の文献などを参照)、その中でもライプニッツの公式は最も簡単そうに見えたので最初にプログラムを組んでみたのですが、
これは収束がとても遅く、実用性がありません。かなり下の桁から相当な時間をかけて、じわじわ足し上がってくるイメージです。
これ以外に収束の早い式があります。但し、∑だの何だの書いてあって全く意味がわかりません。高校で習ったっけ。忘れた。なんとか展開だのなんとか級数だのサッパリです。
まあ、そのあたりで円周率に興味がなくなったのでした。
FORTRANはCP/M上のコンパイラが有り、過去に試した事がありました。F80というやつです。
F80でコンパイルして、M80でアセンブル、L80でリンクして実行形式(COM)にしました。
自分は高校時代に習いました。(それっきりです)
中3の時、学校見学会だったか文化祭だったかで志望校を訪問する機会があり、そこで円周率の計算プログラム(FORTRAN)の展示を見かけて興味を持ちました。
数学が苦手なくせに、円周率には妙に興味を持っていて、あれこれ調べたりしていました。しかし、どうやって計算するのか当時まったく想像もつきませんでした。
要は、円周の長さを求めるにはどうするかという事で、多角形をどんどん細かくしていくわけです。
プログラムで多桁の数字を扱うにはどうすればよいかも当時は知らなくて、そのFORTRANプログラムを見て学びました。
当たり前といえばそうなんですが、桁を区切って扱うわけです。あとはRAMの許す限り、できるだけ大きな配列を確保します。
その配列ごとに桁上げ・借りを求めていくことで、多桁の計算を実現します。
たとえばZ80のアセンブラで、2バイトや4バイトの数を扱う時に1バイトずつ計算して、桁上げや借りを上位桁に反映していきますけど、同じようなことです。
RAM容量を超える部分をディスク等に書き出したり読み込んだりすれば、そういった外部記憶装置の容量しだいでもっと大きい桁も扱えるようになるけれど、その転送速度が課題となってきます。できるだけオンメモリで処理したいものです。
BASICの原型はFORTRANと聞いたことがあります。
いまでもFORTRANは科学計算などの分野では活躍しているようです。大学とか気象庁?
比較で <= > などの記号はFORTRAN77では使えなくて、.GT. .LE. .LT. .EQ. といった記号を使っていました。Greater Thanとか、Less Than、EQualの略でした。
円周率の計算式は色々あって(詳しくは専門の文献などを参照)、その中でもライプニッツの公式は最も簡単そうに見えたので最初にプログラムを組んでみたのですが、
これは収束がとても遅く、実用性がありません。かなり下の桁から相当な時間をかけて、じわじわ足し上がってくるイメージです。
これ以外に収束の早い式があります。但し、∑だの何だの書いてあって全く意味がわかりません。高校で習ったっけ。忘れた。なんとか展開だのなんとか級数だのサッパリです。
まあ、そのあたりで円周率に興味がなくなったのでした。
FORTRANはCP/M上のコンパイラが有り、過去に試した事がありました。F80というやつです。
F80でコンパイルして、M80でアセンブル、L80でリンクして実行形式(COM)にしました。
COBOL
2025.03.17
COBOLなんて誰も興味ないと思う。自分も。(笑)
学校で習って、それ以来何十年も経過。もう忘れた。
あの頃は鉛筆とテンプレートでフローチャートを描き、それからコーディングシートという原稿用紙にプログラムを手書き、それを見ながら不便な端末から打ち込んでいた。
事務処理系の方でも理解しやすいように、英文のような記述になっていて、少々長ったらしい感じがする。
いまはフリーフォーマットだろうけど、昔はFORTRANと同じように書式が厳密で、何文字目から書き始めるとか、色々決まっていた。
COBOLの歴史は、レトロマイコンよりさらに古い世界。確かFORTRANの次ぐらいか?
だけど、世の中で未だに広く使われているのはCOBOLらしい。銀行や役所のシステムなど、膨大なCOBOL資産があるという。
動かなくなると困るのである。
いま学校などでプログラミング言語でCOBOLを教えているところは有るのだろうか? 無さそうな感じ。
COBOLって何に使うのか? ゲームを作ったりは、無い。
リアルタイムよりもバッチ処理向けで、データを揃えて実行すると結果が出てくるような使い方。
詳しくないがリアルタイム処理もたぶん有るのだろう。あいにく自分はCOBOLでのリアルタイム処理をやったことがない。
ゲームを作ろうと思えば、アイデア次第で何らかの形では実現できるかもしれないけど。
本来の目的は、さっきも書いたようにバッチ処理向け。給料の計算とか税金の計算とか、そんなところです。
動作環境は、いわゆるメインフレーム。昔のコンピュータのイメージ通り。いまの機種はスマートだろうけど、昔のはテープがぐるぐる回ってプリンタがジャージャー鳴りながら用紙を吐き出していた。
小学生の頃、県庁のコンピュータ室を外から見学したけど、まさにそれ。
そのメインフレーム(汎用機)も絶滅危惧種になりつつあるみたいです。
学校で習って、それ以来何十年も経過。もう忘れた。
あの頃は鉛筆とテンプレートでフローチャートを描き、それからコーディングシートという原稿用紙にプログラムを手書き、それを見ながら不便な端末から打ち込んでいた。
事務処理系の方でも理解しやすいように、英文のような記述になっていて、少々長ったらしい感じがする。
いまはフリーフォーマットだろうけど、昔はFORTRANと同じように書式が厳密で、何文字目から書き始めるとか、色々決まっていた。
COBOLの歴史は、レトロマイコンよりさらに古い世界。確かFORTRANの次ぐらいか?
だけど、世の中で未だに広く使われているのはCOBOLらしい。銀行や役所のシステムなど、膨大なCOBOL資産があるという。
動かなくなると困るのである。
いま学校などでプログラミング言語でCOBOLを教えているところは有るのだろうか? 無さそうな感じ。
COBOLって何に使うのか? ゲームを作ったりは、無い。
リアルタイムよりもバッチ処理向けで、データを揃えて実行すると結果が出てくるような使い方。
詳しくないがリアルタイム処理もたぶん有るのだろう。あいにく自分はCOBOLでのリアルタイム処理をやったことがない。
ゲームを作ろうと思えば、アイデア次第で何らかの形では実現できるかもしれないけど。
本来の目的は、さっきも書いたようにバッチ処理向け。給料の計算とか税金の計算とか、そんなところです。
動作環境は、いわゆるメインフレーム。昔のコンピュータのイメージ通り。いまの機種はスマートだろうけど、昔のはテープがぐるぐる回ってプリンタがジャージャー鳴りながら用紙を吐き出していた。
小学生の頃、県庁のコンピュータ室を外から見学したけど、まさにそれ。
そのメインフレーム(汎用機)も絶滅危惧種になりつつあるみたいです。