首页 > 其他分享 >30天自制操作系统

30天自制操作系统

时间:2024-02-15 21:12:18浏览次数:26  
标签:操作系统 16 32 自制 30 寄存器 AX CPU 字节

01_days

CPU其实只算是个集成电路板,它只能忠实地执行电信号给它的指令,输出相应的电信号。也就是说,其实CPU只是个乖乖执行命令的笨蛋。

人们发现把二进制的01与电信号的开关对应起来,CPU就从一个处理电信号的机器摇身一变为一个神奇的二进制数计算机。给文字进行编码,就把文字也转换成二进制了,从而让CPU实现对文章的处理等等。

汇编语言:
DB define byte, 往文件中直接写入1个字节的指令
DW define word 定义字 16位,也就是两个字节
DD define double word 定义32位
DB可以直接用来写字符串,在写字符串时,汇编语言会自动地查找字符串中每一个字符所对应的编码,然后把它们一个字节一个字节地排列起来。
DB "HELLOIPL"
$是一个变量,表示现在这一样的字节数。主打一个灵活性

启动区:软盘的第一个扇区称为启动区,如果计算机确认了第一个扇区的最后两个字节正好是55AA,就认为这个扇区的开头是启动程序,并开始执行这个程序
IPL:initial program loader

02_days

MOV:赋值
MOV AX, 0 ;AX=0
MOV SS, AX ;SS=AX
AX accumulator, 累加寄存器
CX counter,计数寄存器
DX data,数据寄存器
BX base,基址寄存器
SP stack pointer
BP base pointer
SI source index
DI destination index
这些寄存器都是16位寄存器,可以存储16位的二进制数。X表示拓展extend的意思,也就是说之前的CPU寄存器都是8位的,现在变成了16位,扩展了一倍,所以加了个X,表示自己很了不起。这8个寄存器合起来也 一共才区区16个字节。
另外,CPU还有八个八位寄存器,注意不是新寄存器,而是从上面八个寄存器中拆出来命名的。
AL 累加寄存器低位
CL 计数寄存器低位
DL 数据寄存器低位
BL 基址寄存器低位
AH 累加寄存器高位
CH 计数寄存器高位
DH 数据寄存器高位
BH 基址寄存器高位

有人可能会说,嘿,我的电脑是32位的,这样就能以32位为单位来处理数据了吧,那32位的寄存器在哪?
EAX, ECX, EDX, EBX, ESP, EBP,ESI, EDI

标签:操作系统,16,32,自制,30,寄存器,AX,CPU,字节
From: https://www.cnblogs.com/yjw-ada/p/18016581

相关文章

  • 「题解」P6130 随机红包
    在\([0,1]\)上随机撒\((n-1)\)个点划分成\(n\)段,求第\(k\)大的段长的期望。从Appleblue17老师的题解中学的,大概详细写很多一笔带过但是我不认为很简单的步骤。Part1令随机变量\(X\)为第\(k\)大的段长。\(E(X)=\int_0^1P(X=x)x\textdx=\int_0^1P(X\geqx)\text......
  • Error: error:0308010C:digital envelope routines::unsupported
    概述使用若依框架,启动UI执行命令npmrundev时报错误:Error:error:0308010C:digitalenveloperoutines::unsupportedINFOStartingdevelopmentserver...95%emittingCompressionPluginERRORError:error:0308010C:digitalenveloperoutines::unsupportedError:er......
  • day30-三剑客awk
    awk是什么再谈三剑客grep,擅长单纯的查找或匹配文本内容sed,更适合编辑、处理匹配到的文本内容awk,更适合格式化文本内容,对文本进行复杂处理后、更友好的显示三个命令称之为Linux的三剑客awk学完后的能力以下部分内容需要结合shell编程对文本行数据提取数据字段模式、动......
  • day04_操作系统入门
    今日笔记学操作系统基础概念linux系统linux系统(centos)+vmware安装起来(网络配置,磁盘分区)ubuntu安装xshell服务器的远程连接服务器网站的前后端,数据库app的前后端,数据库微信、腾讯微信的服务器移动端设备上,安装的微信客户端在线笔记笔记对运维来说,就是一个宝藏,mar......
  • Codeforces Round 303 (Div. 2)C. Kefa and Park(DFS、实现)
    @目录题面链接题意题解代码总结题面链接C.KefaandPark题意求叶节点数量,叶节点满足,从根节点到叶节点的路径上最长连续1的长度小于m题解这道题目主要是实现,当不满足条件时直接返回。到达叶节点后统计答案,用vector存图的话,无向图时,叶节点的边只有一条,也就是\(g[i].size()......
  • P1330 封锁阳光大学
    原题链接题解1.对于任意一点,只有被河蟹选中和没选中两种状态,变成了染色问题对于任意一个染了白色的点,其周围的点必须是黑色对于任意一个染了黑色的点,其周围的点必须是白色所以初始点染黑色还是染白色答案都是一样的2.任意两点之间不是绝对联通的,可能有多个图code#include<......
  • 国产AI训练卡,对标美国NVIDIA公司的A100,华为昇腾Atlas 300T A2(Ascend 910B4)高性能GPU/N
    ChinahassuccessfullyachievedthelocalizationofAIchips,breakingthroughthetechnologicalrestrictionsimposedbytheU.S.governmentandrealizingindependentdesignandproductionofdomesticAIchips.Huawei'sAscend910modelAIchiphass......
  • .NET&AI技术分享日活动-202309
    OntheafternoonofSeptember23,2023,Iorganizedtheeighth.NETTechnologySharingDayeventinJinan,ShandongProvince,China.Theeventmainlycoveredfivetechnologicalareas:common.NETtechnologies,low-codeplatforms,front-endframeworks,big......
  • [转帖]Unix操作系统的前世今生
    Unix是一种多用户、多任务操作系统,最初由AT&T贝尔实验室的肯·汤普逊(KenThompson)和丹尼斯·里奇(DennisRitchie)等人开发于上世纪70年代初。它被设计成一种通用的操作系统,支持跨多种硬件平台,并提供了许多先进的特性,如多任务处理、分时处理、多用户能力和可移植性。Unix的......
  • A030 《花样摩天轮》编程 源码
    一、课程介绍本节课将复习函数的相关知识,结合while、动画实现一个转动的摩天轮。二、单词卡park[pɑːrk]公园box[bɑːks]箱子draw[drɔː]画三、小试牛刀3.1源码操作编写代码,画出一棵松树。importturtlep=turtle.Pen()turtle.bgpic('trunk.gif')deftree(x,......