2022年8月19日

TSS结构赋值

摘要: 在进程切换过程中,需要一个结构体,在保护模式中,称为TSS.。 在MenuetOS32系统中,加载应用,也就是进程时,用了如下的方式: ; TSS mov eax,cr3 mov [l.cr3],eax mov eax,[app_start] mov [l.eip],eax mov eax,[app 阅读全文

posted @ 2022-08-19 14:07 oemwang 阅读(85) 评论(0) 推荐(0)

2022年8月17日

Menuetos32桌面-程序加载,参数

摘要: 在Launcher.asm调用launch_applications中,加载了3个应用,一个是桌面背景jpegview.asm,一个是桌面图标ICONMNGR,还有一个是底部任务栏Mpanel。 其中第三个参数是延时作用,这个参数在加载3个应用的过程中使用。在调用move eax,19, int 0 阅读全文

posted @ 2022-08-17 16:03 oemwang 阅读(137) 评论(0) 推荐(0)

2022年8月14日

Menuetos32桌面- 应用退出

摘要: 简单做了个实验,想看看为什么在Process中没有看到Jpegview. 1.将Launcher.asm中第433,434行的move eax,-1,int 0x40h注释掉。换成Jmp still. 2.将Jpegview.asm中第184行jmp close_program注释掉,换成jmp s 阅读全文

posted @ 2022-08-14 15:16 oemwang 阅读(47) 评论(0) 推荐(0)

2022年8月12日

Menuetos32桌面- 桌面加载过程猜测

摘要: 启动过程中,可以简单的认为,进入保护模式后,加载Launcher,然后Launcher加载了背景,桌面图标,底部任务栏。 实际过程中,可以猜测是这样的:1.进入保护模式后,osloop成为第一个进程,可以使用osloop监控桌面鼠标,窗口以便执行相应的操作。 2.加载Launcher,成为第二个进程 阅读全文

posted @ 2022-08-12 14:18 oemwang 阅读(80) 评论(0) 推荐(0)

2022年8月11日

Menuetos32桌面- launch_applications的作用

摘要: 做了一个简单实验,将Launcher.asm中第55行的call launch_applications代码注释掉,看看效果如何,如下图: 1 不显示背景桌面和图标以及底部的任务栏了。这说明是由launch_applications这段代码将3个应用放入相应的位置,然后画出来的。 2.启动开始时是显 阅读全文

posted @ 2022-08-11 01:20 oemwang 阅读(83) 评论(0) 推荐(0)

2022年8月9日

Menuetos32桌面- 提示窗口

摘要: 在开机构成桌面过程中,有一个提示窗口,显示Setting up desktop。 窗口的标题是LAUNCHER,而且窗口中还有一个滚动条。 这个窗口的绘制是由Launcher.asm中的draw_window过程完成的。 但是在draw_window过程中,没有看到滚动条的代码,单注释掉make_t 阅读全文

posted @ 2022-08-09 22:24 oemwang 阅读(64) 评论(0) 推荐(0)

2022年8月8日

Menuetos32桌面- 预置值

摘要: 翻了翻代码,茫然没有头绪。好像没有认识的。最后动了动脑筋,注意力还是集中在了launcher.asm中。看了看主要过程,又把注意力集中到了launch_applications这段。 记得以前写过,如果没有rdboot.dat文件,在launcher.asm中最后是可以看到预设的参数的。 430行和 阅读全文

posted @ 2022-08-08 20:51 oemwang 阅读(64) 评论(0) 推荐(0)

2022年7月27日

Menuetos32桌面- process进程

摘要: 点击桌面右边第一行第一个process,如下所示: 第一个os/idle,就是监控鼠标和窗口的进程,也是kernel.asm中的osloop. 第二个是cpu,就是process 第三个是mpanel,是底部任务栏、 剩下的对应桌面上的左边6个,右边6个,右下角的两个图标 绘制桌面背景的应用不在其中 阅读全文

posted @ 2022-07-27 13:59 oemwang 阅读(85) 评论(0) 推荐(0)

2022年7月26日

Menuetos32桌面- 背景与Jpegview应用

摘要: 在底部任务栏的弹出菜单中,可以看到有jpegview: 点击jpegview,显示如下: 这个窗口中显示的是背景图片。 同样是调用jpegview,一个是桌面背景,一个是展示图片的窗口。这个是如何做到的? 在rdboot.dat中,有一个Boot参数。翻看jpegview.asm的源代码,首先检查的 阅读全文

posted @ 2022-07-26 20:50 oemwang 阅读(141) 评论(0) 推荐(0)

2022年7月25日

Menuetos32桌面- 启动过程

摘要: 1.磁盘引导(BOOTMOSF.asm,在A086B中,加载kernel.mnt) 2.在kernel中,首先调用BOOTCODE.inc配置参数 3.CR0 Flags - Protected mode and Paging 4.Enabling 32 bit protected mode 进入3 阅读全文

posted @ 2022-07-25 15:37 oemwang 阅读(315) 评论(0) 推荐(0)

导航