アセンブラ(NASM)で作成できるプログラムの種類に技術的な制限はありますか?
今のところ、2つの数値を加算するなどの算術演算を実行するプログラムのように見えます。
GUIを提供し、ファイルシステムにアクセスし、サウンドなどを再生する複雑なアセンブラプログラムを作成することは可能ですか?
私はそのようなプログラムを書かないことを知っていますが、アセンブラーでどのような種類のプログラムを書くことができるかについて技術的な制限があるかどうか興味があります。
アセンブラ(NASM)で作成できるプログラムの種類に技術的な制限はありますか?
今のところ、2つの数値を加算するなどの算術演算を実行するプログラムのように見えます。
GUIを提供し、ファイルシステムにアクセスし、サウンドなどを再生する複雑なアセンブラプログラムを作成することは可能ですか?
私はそのようなプログラムを書かないことを知っていますが、アセンブラーでどのような種類のプログラムを書くことができるかについて技術的な制限があるかどうか興味があります。
ターゲット システムに関する十分な知識があれば、ASM を介してやりたいことを何でも行うことができます。ただし、管理を困難にする要因は他にもあります。しかし、ASM で作成された多くの GUI を見てきました。見た目は特に良くありませんでしたが、そうでした。純粋な ASM でビデオ ゲーム (小惑星を使ったゲームで、画面の中央に小さな船があり、機関銃やレーザーを発射するゲーム) を書いている人を見たことがあります。彼は自分自身をテストしたいと考えており、以前にいくつかの ASM を行っていました。そうです、それはあなたが望むものなら何でも行うことができます。
ASM は単なる疑似機械命令であり、他のすべてのコードは最終的にこの命令に縮小される必要があることを思い出してください。
そのような制限はありません。C または C++ で記述されたプログラムは、コンパイル中にアセンブラ ソース コードとしてステージを通過するため、Windows などの完全なオペレーティング システムから AutoCAD などのアプリケーションまで、アセンブラで何でも記述できます。とはいえ、特に楽しくも生産的でもないでしょうし、バグの数は相当なものになるでしょう。
いいえ、アセンブラでできることに制限はありません。アセンブラーで GUI を作成したり、ファイル システムにアクセスしたり、サウンドを再生したりすることが実用的かどうかは別の問題です。
昔は、多くのコンピューター ゲームがアセンブラーでプログラムされていたと思います。特に、1978 年に TRS-80 用に登場した「Air Traffic Controller」ゲームについて考えています。このゲームには、キャラクターベースの UI、ビープ音、およびかなりのゲーム ロジックがすべて「リアルタイム」ゲームに含まれていました。 4k の RAM で実行されたシミュレーション。そのゲームに関する情報とスクリーンショットを含むサイトへのリンクは次のとおりです: http://atc.fastie.com/index.htm