Help us understand the problem. What is going on with this article?

アセンブラーってなに?

More than 1 year has passed since last update.

Qiitaで記事を初めて書きます。
IBMメインフレームのOSであるz/OSでのアセンブラープログラミングについて、Hints&Tips的なことを書こうかなと思っています。

まずは手始めに、アセンブラーってなに?から。
アセンブラーはアセンブル言語(またはアセンブリ言語)で書かれたソース(人が読めるテキスト形式)を機械語(バイナリーコード)に変換する(アセンブルする)プログラム(ソフトウェア)のことです。
厳密には上述の通り変換プログラムのことを指しますが(狭義)、アセンブル言語のことを指してアセンブラーと言うことも多々あるように思います(広義)。
例えば、「アセンブラーで書かれたユーザープログラム」とか「アセンブラーのソース」などですね。
この記事でもアセンブル言語の意味でアセンブラーという言葉を使います。

これってコンパイラーのことじゃないの?と思うかもしれませんが、基本的には同じです。
一言で言うと、アセンブラーは機械語(CPU命令)と1対1に対応している点がコンパイラー(高級言語)と異なっています。
直接CPUの命令をコーディングできるので、OSの制御により近い処理を記述できたりしますが、コンパイラーと比べて数段難しいと私は思います。

アセンブラーと聞くと古いというイメージを持つかもしれませんが、少なくともz/OSの世界ではアセンブラーで書かれたプログラムは今でもたくさん動いています。
たしかに新規の業務アプリケーションをアセンブラーで開発するということは少ないと思いますが、z/OSの世界では20~30年前に書かれたプログラムが今でも普通に動いていますので^^
あとは、業務アプリケーション全体がアセンブラーで書かれているということはほぼなくて、一部の制御系機能をアセンブラーで書いて、それ以外の大半の業務ロジックの部分は高級言語でということが多いでしょうか。

次回以降、実際のコーディング内容を少しづづ紹介していきたいと今のところは思っています。
アセンブラーの書き方をゼロから教科書的に書こうとは思っていないので、ある程度書いたことがあることが前提になってしまうかなと思います。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした