《30天自制操作系统》学习笔记Day2

做了什么

学习了helloos.nas文件
把helloos.nas改为只用于制作启动区的ipl.nas,改造asm.bat将输出文件名改为ipl.bin顺便输出列表文件ipl.lst
makeimg.bat使用磁盘映像管理工具edimg.exe先读入一块空白的映像文件然后在开头写入ipl.bin的内容,将结果输出为helloos.img
制作Makefile文件,实现run.bat,install.bat,asm.bat,makeimg.bat的批处理,添加了make clean,make src_only命令,make clean可以删除最终成果以外的中间文件,make src_only可以把源文件以外的文件都删除干净

学到了什么

ORG 源于“origin”,告诉nask程序要从指定的地址开始
JMP  “jump” 相当于C语言的“goto”,意为“跳转”
“entry:” 标签声明,意为”入口“,用于指定jmp跳转目的地
MOV “move” 赋值
AX——accumulator,累加寄存器
CX——count,技术寄存器
DX——data,数据寄存器
BX——base,基址寄存器
SP——stack pointer,栈指针寄存器
BP——base pointer,基址指针寄存器
SI——source index,源变址寄存器 
DI——destination index,目的变址寄存器 

AL——累加寄存器低位(accumulator low)
CL——计数寄存器低位(counter low)
DL——数据寄存器低位(data low)
BL——基址寄存器低位(base low)
AH——累加寄存器高位(accumulator high)
CH——计数寄存器高位(counter high)
DH——数据寄存器高位(data high)
BH——基址寄存器高位(base high)

ES——附加段寄存器(extra segment)
CS——代码段寄存器(code segment)
SS——栈段寄存器(stack segment)
DS——数据段寄存器(data segment)
FS——没有名称(segment part 2)
GS——没有名称(segment part 3)

“MOV AL,[SI]” “[]”代表内存
MOV BYTE [678],123  678号存储单元会记住代表“123”的开或关的电信号,一共8个存储单元
MOV WORD [678],123  678号和679号存储单元会记住代表“123”的开或关的电信号,一共16个存储单元
ADD 加法指令
CMP 比较指令
JE 条件跳转指令,比较结果相等则跳转到指定地址,不等则不跳转
fin是个标号,表示结束
INT “interrupt”中断指令
BIOS "basic input output system",基本输入输出系统(程序)
HLT “halt” 让cpu停止动作的指令,即进入待机




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值