アセンブリ言語勉強したから次はOS自作に挑戦してる

サムネイル
1 名前:ひみつの名無しさん 投稿日時:2024/02/23(金) 17:35:14.274 ID:Pml38e870
きっつい
3 名前:ひみつの名無しさん 投稿日時:2024/02/23(金) 17:35:55.040 ID:MKY65wZE0
osが終わったら次はcpuな
6 名前:ひみつの名無しさん 投稿日時:2024/02/23(金) 17:37:02.248 ID:Pml38e870
>>3
それな
FPGA欲しい
4 名前:ひみつの名無しさん 投稿日時:2024/02/23(金) 17:36:34.336 ID:f4Y6UI2s0
今の時代人力でアセンブリでOSなんか書けないぞ
8 名前:ひみつの名無しさん 投稿日時:2024/02/23(金) 17:37:38.642 ID:Pml38e870
>>4
アセンブリが必要なところはアセンブリで書いて、C言語でいけるところはCで書いてる
13 名前:ひみつの名無しさん 投稿日時:2024/02/23(金) 17:39:54.810 ID:f4Y6UI2s0
>>8
アセンブリが必要なところってのは今の時代は無いはずだぞ
多分お前が参考にしてる文献はBIOSの時代のものだろうが、今はBIOSなんてどのパソコンも使ってない
かわりにUEFIを使ってる訳だが、これを操作するにはC言語のフレームワークであるgnu-efiとかを使う

まぁ組み込みのOS作ってるとかQEMUで動けばいいとかなら知らんけど

16 名前:ひみつの名無しさん 投稿日時:2024/02/23(金) 17:41:25.197 ID:Pml38e870
>>13
そんなことなくね?
割り込みテーブル作るときとか、ページングの設定するときは、アセンブリ必要じゃね?
ちなみに__asmみたいなやつは使ってなくて、アセンブリで関数書いてCから呼び出してる。
7 名前:ひみつの名無しさん 投稿日時:2024/02/23(金) 17:37:08.138 ID:kN/HvH1r0
イキり初学者ダサいぞ🙄
9 名前:ひみつの名無しさん 投稿日時:2024/02/23(金) 17:37:54.629 ID:Pml38e870
>>7
それな
初心者すぎてつらい
10 名前:ひみつの名無しさん 投稿日時:2024/02/23(金) 17:38:10.466 ID:5O8LtnMJd
自作してるとか言う奴は雑魚
自作した(公開済み)なら認めてやってもいい
11 名前:ひみつの名無しさん 投稿日時:2024/02/23(金) 17:38:38.808 ID:Pml38e870
>>10
まあ本読んで写してるだけだよ
12 名前:ひみつの名無しさん 投稿日時:2024/02/23(金) 17:39:12.255 ID:Pml38e870
現在、ページングがわからなくて泣いてる
14 名前:ひみつの名無しさん 投稿日時:2024/02/23(金) 17:40:20.459 ID:f4Y6UI2s0
あーあれか
30日自作本だろ
18 名前:ひみつの名無しさん 投稿日時:2024/02/23(金) 17:42:12.983 ID:Pml38e870
>>14
それじゃないけどまあそんな感じの読んでる
21 名前:ひみつの名無しさん 投稿日時:2024/02/23(金) 17:45:04.035 ID:f4Y6UI2s0
>>18
最近のみかん本とか読んだ方がいいよ
UEFI使うならいきなり64ビット状態から始まるから16ビットの事とか全部考えなくていいはずだけど、その文献古いんじゃない?
23 名前:ひみつの名無しさん 投稿日時:2024/02/23(金) 17:47:20.597 ID:Pml38e870
>>21
まあ俺の文献はBIOSから起動してるね
つらい……
でもこれで進むと決めたからこれで進むしかない
27 名前:ひみつの名無しさん 投稿日時:2024/02/23(金) 17:49:47.195 ID:f4Y6UI2s0
>>23
実機で動くもの作った方が面白いと思うけどね
まぁ好きにやりな
28 名前:ひみつの名無しさん 投稿日時:2024/02/23(金) 17:50:45.033 ID:Pml38e870
>>27
俺のOSも実機で動くぞ
USBに焼けば古いx86_64のノートパソコンでで動いたし
32 名前:ひみつの名無しさん 投稿日時:2024/02/23(金) 17:51:47.724 ID:f4Y6UI2s0
>>28
動くならモチベになっていいな
17 名前:ひみつの名無しさん 投稿日時:2024/02/23(金) 17:41:45.853 ID:NgE1yqhG0
変態行為だけど、アセンブラできると無駄の無い美しいプログラムになるよな
20 名前:ひみつの名無しさん 投稿日時:2024/02/23(金) 17:43:22.172 ID:Pml38e870
>>17
ん?そんなことないぞ
22 名前:ひみつの名無しさん 投稿日時:2024/02/23(金) 17:46:18.445 ID:Pml38e870
intelはセグメントレジスタとかA20ラインとかそのへんを理解するのがつらい
早くこれ終わらせて、arm64向けのOS作りたい
30 名前:ひみつの名無しさん 投稿日時:2024/02/23(金) 17:51:32.476 ID:O4Aox9cf0
>>22
おっさんだけどそのレベルなら簡単
34 名前:ひみつの名無しさん 投稿日時:2024/02/23(金) 17:53:16.306 ID:Pml38e870
>>30
おっさんはいいよな
おっさんだからこの辺知って産まれてきてるわけじゃん
俺はおっさんじゃないからつらいんだよ
メモリ管理といえばページングだし、20bitでメモリアクセスとか意味不明ってなる
35 名前:ひみつの名無しさん 投稿日時:2024/02/23(金) 17:55:02.072 ID:O4Aox9cf0
>>34
16bitしかないからね
巨大メモリアクセスへの苦肉の策
37 名前:ひみつの名無しさん 投稿日時:2024/02/23(金) 17:55:58.896 ID:Pml38e870
>>35
64bitが当たり前の世代からするとその辺がイメージしづらくてつらいんだよねぇ
24 名前:ひみつの名無しさん 投稿日時:2024/02/23(金) 17:47:25.239 ID:E/ZYzNPa0
x86全然わかんねーけどarm系は割り込みテーブル作る時やpsrいじる時asm使うな
25 名前:ひみつの名無しさん 投稿日時:2024/02/23(金) 17:47:58.106 ID:Pml38e870
>>24
だよな
アセンブリは必ず必要になるよな
29 名前:ひみつの名無しさん 投稿日時:2024/02/23(金) 17:51:06.044 ID:VrTxbDvb0
>>25
アセンブリ必要になるっていっても1行とかだぞ?
コントロールレジスタのビットを弄るだけだ
お前の場合はそれ以外もガッツリアセンブリでやってそうで心配になった
33 名前:ひみつの名無しさん 投稿日時:2024/02/23(金) 17:52:07.131 ID:Pml38e870
>>29
やってないよ
関数にしてCから呼び出してるだけ
26 名前:ひみつの名無しさん 投稿日時:2024/02/23(金) 17:48:51.699 ID:Pml38e870
てか、x86やらずにarmのosって作れんの?
どの本もx86前提に書かれてるからx86やらなきゃいけないのかと思ってた
31 名前:ひみつの名無しさん 投稿日時:2024/02/23(金) 17:51:33.070 ID:Pml38e870
UEFI使うのはなんか負けた感じするんだよなぁ
OS起動する瞬間にファイルシステムの存在を前提としてるってなんか気持ち悪い
36 名前:ひみつの名無しさん 投稿日時:2024/02/23(金) 17:55:14.251 ID:Pml38e870
OS作り始めたことで、パソコンの中でハードウェアによって担保されてる領域と、ソフトウェアによって担保されてる領域がわかって良かった
mallocはソフトウェアでページングはハードウェアなんだね
38 名前:ひみつの名無しさん 投稿日時:2024/02/23(金) 17:56:37.088 ID:Pml38e870
wikipedia めっちゃよんで
intel 8086とintel 80386とintel 80686の違いを理解することになる
39 名前:ひみつの名無しさん 投稿日時:2024/02/23(金) 17:58:35.909 ID:jidTyVpra
コピペでやるならまだしも、まともにPCのOSを作るのは無理げーだぞ
ハードに関するドキュメントが少なすぎる
stm32とかのマイコンで作ってくべき
40 名前:ひみつの名無しさん 投稿日時:2024/02/23(金) 18:00:00.459 ID:Pml38e870
>>39
そうなん?
とりあえずネットワークルーターみたいなやつ作りたい

コメント

タイトルとURLをコピーしました