汇编
trb331617
一只老乌龟,慢慢向前走……
展开
-
[书]操作系统真象还原 -- 第10章 控制台(信号量, 锁)、键盘(环形缓冲区))
GITHUB:https://github.com/trb331617/os_elephant/tree/master/chapter_10运行截图:1、控制台console// FILE: thread/sync.c/* 信号量结构 */struct semaphore{ unsigned char value; struct list waiters;...原创 2020-03-22 22:20:58 · 325 阅读 · 0 评论 -
[书]操作系统真象还原 -- 第9章 内核(中断、内核内存管理、内核线程)
GITHUB:https://github.com/trb331617/os_elephant/tree/master/chapter_9运行截图:在内核main函数中创建了2个内核线程,并基于时钟中断实现了线程的调度。代码结构:...原创 2020-03-20 19:19:20 · 296 阅读 · 0 评论 -
[书]操作系统真象还原 -- 第5章 开启保护模式、开启分页机制
mbr:加载loader,跳转loader:1)调用BIOS中断获取内存大小;2)构建GDT、开启保护模式;3)构建页目录表和页表、开启分页机制;FILE:loader.asm; FILE: c05b_loader.asm; TITLE: 调用BIOS中断获取内存大小; 构建GDT、开启保护模式; ; 构建页目录表和页表、开启分页...原创 2020-02-22 22:31:42 · 478 阅读 · 0 评论 -
[书]x86汇编语言:从实模式到保护模式 -- 第17章 中断、任务切换、分页机制、平坦模型
# 任务切换内核任务、用户任务1、用户任务2,之前的轮询切换利用RTC芯片的硬件中断来实现任务切换 计算机主板上有实时时钟芯片RTC,可以设置RTC芯片,使得它每次更新CMOS中的时间信息后,发出更新周期结束的中断信号0x70; 编写0x70号中断处理程序,操作TCB链表,实现任务切换。 操作TCB链表:找到当前任务(即,状态为忙的任务)、将该任务从TCB链表...原创 2020-02-09 22:40:14 · 623 阅读 · 0 评论 -
[书]x86汇编语言:从实模式到保护模式 -- 第16章 分页机制、平坦模型
# 分页机制 二级页表:页目录、页表 ==> 4KB物理页 32位线性地址中:高10位为页目录中的索引号(乘4得偏移量),该目录项指向页表的基地址;中间10位为页表中的索引号,该页表项指向4KB物理页的基地址;低12位为物理页中的偏移量。 为了方便能修改页目录或者页表中的内容,将创建并初始化页目录时,将页目录的最后一个目录项指向页目录本身的物理地址。 ...原创 2020-02-05 22:25:08 · 550 阅读 · 0 评论 -
[书]x86汇编语言:从实模式到保护模式 -- 第15章 任务切换
# 执行结果# TODO:字符串显示函数的滚屏部分应该是有bug。# file_02: c15_core.asm; FILE: c13_core.asm; DATE: 20200104; TITLE: mini内核; 常量; 伪指令equ仅仅是允许用符号代替具体的数值,但声明的数值并不占用空间; 这些选择子对应的gdt描述符会在mbr中的内核初始化阶段创建; 段...原创 2020-01-29 00:07:55 · 359 阅读 · 0 评论 -
[书]x86汇编语言:从实模式到保护模式 -- 第14章 任务和特权级保护,调用门、LDT、TSS、TCB
#加载用户程序Part 1、TCB, Task Control Block, 任务控制块 分配内存作为该任务的TCB,并插入至TCB链表。Part 2、LDT, Locak Descriptor, 局部描述符表 分配内存作为该任务的LDT。 为用户程序的各个段构建段描述符,并写入LDT。 将LDT写入GDT,得到对应的选择子。 将LD...原创 2020-01-19 21:45:06 · 1000 阅读 · 0 评论 -
[书]x86汇编语言:从实模式到保护模式 -- 第13章 mbr加载内核、内核加载应用程序
# mbr加载内核1、0x7c00,16位实模式2、进入保护模式前的准备工作:创建段描述符(代码段、数据段、堆栈段、显示缓冲区),构建gdt3、进入保护模式; 开启保护模式; CR0的第1位(位0)是保护模式允许位(Protection Enabel, PE)mov eax, cr0or eax, 1mov cr0, eax4、从硬盘加载内核到内存中5、为内核创建...原创 2020-01-14 18:53:51 · 577 阅读 · 0 评论 -
[书]x86汇编语言:从实模式到保护模式 -- 第11章 进入保护模式,初识全局描述符表GDT; 第12章 别名,冒泡排序
第11章进入保护模式;初始化全局描述符表,通过GDT进入代码段、数据段、堆栈段; FILE: c11_mbr.asm; DATE: 20191229; TITLE: 硬盘主引导扇区代码; 设置堆栈段和栈指针; 0x07c00以此为界限,mbr代码段cs:ip向上,mbr堆栈段ss:sp向下 mov ax, csmov ss, axmov sp, 0x7c00; 计算g...原创 2020-01-01 19:27:22 · 401 阅读 · 0 评论 -
[书]x86汇编语言:从实模式到保护模式 -- 第九章 硬中断,使用RTC芯片实现实时时间的显示;软中断,使用BIOS中断实现键盘输入的读取和显示
PART 1 >>使用BIOS中断实现键盘输入的读取和显示; File: c09_2.asm; Date: 20191222; ===============================================================================SECTION head vstart=0 ...原创 2019-12-22 18:56:32 · 506 阅读 · 0 评论 -
[书]x86汇编语言:从实模式到保护模式 -- 第八章 硬盘和显卡的访问与控制,mbr加载并重定位应用程序
第八章 硬盘和显卡的访问与控制 mbr加载、重定位用户程序PART 1 >> VirtualBox显示最终效果===================================================================================================PART 2 >>...原创 2019-12-15 13:57:22 · 512 阅读 · 0 评论 -
[书]x86汇编语言:从实模式到保护模式 -- 第六、七章 编写主引导扇区代码
第六章 编写主引导扇区代码(启动时显示文字:Label offset:)PART 1 >> 用VirtualBox显示最终效果1.1 汇编启用nasm的工具“nasm-shell”,执行命令“nasm test.asm -o test.bin”1.2 写入虚拟磁盘文件启用本书配套工具“fixvhdwr.exe”,将汇编得到的test.bin文件写入Virtual...原创 2019-12-02 00:02:54 · 605 阅读 · 0 评论 -
汇编语言-第三版-王爽-第15章 外中断-第16章 直接定址表
P280:在屏幕中间依次显示a~z, 显示过程中,按下ESC键后,改变显示颜色P283:在DOS下,按F1键后改变当前屏幕的显示颜色,其他的键照常处理P293:以十六进制的形式显示给定的字节型数据P295:计算sin(x) x=0 30 60 90 120 150 180* * * * * * * * * * * * * * * * * * * * * * * * * * * * ...原创 2019-06-22 14:22:40 · 228 阅读 · 0 评论 -
汇编语言-第三版-王爽-课程设计1
课程设计1(p211)、* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ** * * * * * * * * * * * * * * * *课程设计1(p211)# ...原创 2019-06-15 08:50:59 · 638 阅读 · 0 评论 -
汇编语言-第三版-王爽-实验6、7、9、10、11、12、13、14、15
实验6(p160)、实验7(p173)、实验9(p189)、实验10(p206,p208, p209)、实验11(p234)、实验12(p251)、p256(编写7cH中断例程完成loop指令功能)、实验13(p262)、实验14(p271)、实验15(p285)* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ...原创 2019-06-08 15:59:10 · 1512 阅读 · 0 评论 -
win10安装配置debug.exe和DOSBox
Title: win10安装配置DOSBox和debug.exeReference: https://blog.csdn.net/plus_re/article/details/60761467 1) 下载安装DOSBox(DOSBox0.74-2-win32-installer.exe) 官网下载相应的版本:https://www.dosbox.com/downloa...原创 2019-01-25 22:49:06 · 16987 阅读 · 8 评论