2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

PC-9821/9801スレッド Part83

156 :ナイコンさん :2019/01/23(水) 02:19:36.63 ID:8zGVGAAx0.net
(自分にとっての)関数とは
与えられた文字や数値に対し、定められた処理を行って結果を返す機能のこと(だと思う)
つまり、アセンブラでは関数という概念は一切ない(と理解している)
アセンブラには値を出し入れするレジスタはあっても定められた処理を行って結果を返すなんて機能は存在しない(はずであるそうでなければ嫌だ)
せいぜいレジスタに結果を入れて返すだけ(を思いついた)
呼び出し側は入れられたレジスタを読み取るだけ(も思い出した)
それは関数とは言わない(と思いたい)
BASICは決まった関数は存在するが(例えばRNDとか)自分で関数を作るなんて事は出来ない(マニュアル見てないけどきっとそう)
C言語でもunion REGS構造体にレジスタに見立てた値を入れてint21hを呼び出す関数を呼んでるだけで それはアセンブラではない(実装を見たわけではないが)
int21hを呼び出す関数も 実際には構造体の中身をそれぞれのレジスタに入れて割込みを呼び出した後 戻り値の入ってるレジスタの内容関数の戻り値に入れて返す という関数(としか理解できなかった)
アセンブラではなくC言語のライブラリ関数なんだよ(多分)

そもそもアセンブラやBASICはシーケンシャルなスパゲッティ言語なのに対し C言語は関数の寄せ集め言語のパラレルなので全く構造が異なる(俺が見て理解できる範囲では)

総レス数 1001
258 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200