goo blog サービス終了のお知らせ 

「顧客は突然いなくなる」大井啓伊日記

店舗のPOSレジデータや会員情報、ECでのモールや自社サイトの顧客情報を分析しDMや商品開発・MD再構築に役立てる。

仕事の話③

2025年04月16日 | 社長日記
みなさん、アセンブラって知っていますか?
私が20歳の時に出会ったソフト開発の最初の言語です。

8086をしていましたが、AIに聞いてみる

AI による概要
詳細
アセンブラ命令の例としては、START、END、DS、DCなどがあります。
アセンブラ命令の概要
アセンブラ命令は、アセンブラに指示を与える命令です。
アセンブラ言語は、機械語に近いプログラミング言語で、低水準言語と呼ばれます。
アセンブラ言語では、16進数と交換しやすい表現となる16進数が多く使用されます。
アセンブラ命令の例
START命令とEND命令は、アセンブル後に機械語に変換されると、姿を消し、メモリを占有しません。
DS命令とDC命令は、普通は何語かのメモリを占有することになります。
アセンブラ言語の特徴
アセンブリ言語は、コンピュータのCPUが直接解釈・実行できる機械語(マシン語)と正確に対応する命令語で構成されています。
アセンブリ言語を学習することで、CPUやハードウェアなどの挙動原理を詳しく理解できるため、コンピュータへの理解を深められます。

例文)
; プログラム1(sum2.asm)
org 100h ;オリジン(アドレス)を100hにする(擬似命令)

mov ax, val_a ;val_aの値をAXレジスタにロード
mov bx, val_b ;val_aの値をBXレジスタにロード
add ax, bx ;AXレジスタとBXレジスタの和をAXレジスタに設定
mov sum, ax ;AXレジスタの値をsumにストア

ret ;プログラム終了

val_a dw 0100h ;メモリ上の領域にval_aと名づけ、0100h(16bit)に初期化
val_b dw 0200h ;メモリ上の領域にval_bと名づけ、0200h(16bit)に初期化
sum dw 0 ;メモリ上の領域にsumと名づけ、0(16bit)に初期化

こんな感じで作っていました。
表示は画面のメモリがあって、そのメモリにドットで描く関数があり、それに渡していくと、画面表示ができる。そして、ファームウェアとの連携する関数があって、キーボード関数とか、それで画面とキー入力ができる。そして、RS232Cや音響カプラの通信とか難しいことばかり。
当初、MS-DOSが出てきて、PC9801が出た時に、本屋さんでテクニカルデータブックというものがありました。
これは割込みに引数を渡し、画面表示やそれぞれのファームウェアに接続できる手順みたいなもの。
これで私がマルチタスクを作りました。3000万で受けて、500万くらいで作ったのが最初の営業でした。OS/9より早かったのですよ。(笑)
当初はいろんな提案をしていました。
過去の栄光です。今は無理かもしれませんね。(泣)
こんな開発者がうちで育ってほしいものです。