【OS学习笔记】二十九 保护模式八:任务切换对应的汇编代码之用户程序代码
发布日期:2021-07-01 00:05:51
浏览次数:2
分类:技术文章
本文共 2690 字,大约阅读时间需要 8 分钟。
本汇编代码对应以下两篇文章对应的用户程序汇编代码:
相应的内核程序代码为:
用户程序代码:
;代码清单15-2 ;文件名:c15.asm ;文件说明:用户程序 ;===============================================================================SECTION header vstart=0 program_length dd program_end ;程序总长度#0x00 head_len dd header_end ;程序头部的长度#0x04 stack_seg dd 0 ;用于接收堆栈段选择子#0x08 stack_len dd 1 ;程序建议的堆栈大小#0x0c ;以4KB为单位 prgentry dd start ;程序入口#0x10 code_seg dd section.code.start ;代码段位置#0x14 code_len dd code_end ;代码段长度#0x18 data_seg dd section.data.start ;数据段位置#0x1c data_len dd data_end ;数据段长度#0x20;------------------------------------------------------------------------------- ;符号地址检索表 salt_items dd (header_end-salt)/256 ;#0x24 salt: ;#0x28 PrintString db '@PrintString' times 256-($-PrintString) db 0 TerminateProgram db '@TerminateProgram' times 256-($-TerminateProgram) db 0 ReadDiskData db '@ReadDiskData' times 256-($-ReadDiskData) db 0 header_end: ;===============================================================================SECTION data vstart=0 message_1 db 0x0d,0x0a db '[USER TASK]: Hi! nice to meet you,' db 'I am run at CPL=',0 message_2 db 0 db '.Now,I must exit...',0x0d,0x0a,0data_end:;=============================================================================== [bits 32];===============================================================================SECTION code vstart=0start: ;任务启动时,DS指向头部段,也不需要设置堆栈 mov eax,ds mov fs,eax mov eax,[data_seg] mov ds,eax mov ebx,message_1 call far [fs:PrintString] mov ax,cs and al,0000_0011B or al,0x0030 mov [message_2],al mov ebx,message_2 call far [fs:PrintString] call far [fs:TerminateProgram] ;退出,并将控制权返回到核心 code_end:;-------------------------------------------------------------------------------SECTION trail;-------------------------------------------------------------------------------program_end:
转载地址:https://lyy-0217.blog.csdn.net/article/details/85055443 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
关注你微信了!
[***.104.42.241]2024年05月02日 04时40分01秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
算法-图/DFS/BFS/并查集-岛屿数量
2019-05-01
算法-并查集
2019-05-01
算法-图BFS-单词接龙
2019-05-01
算法-图BFS-单词接龙2
2019-05-01
算法-回溯-火柴拼正方形
2019-05-01
网络-单播、多播(组播)和广播的区别
2019-05-01
算法-搜索-接雨水
2019-05-01
分布式ID生成器
2019-05-01
数据仓库-拉链表, 流水表, 全量表, 增量表, 切片表
2019-05-01
数据结构-BitSet和RoaringBitmap
2019-05-01
分布式-协议
2019-05-01
算法-搜索-接雨水2
2019-05-01
算法-动态规划-打家劫舍
2019-05-01
算法-动态规划-打家劫舍2
2019-05-01
算法-动态规划-最大子序和
2019-05-01
算法-回溯法/动态规划-零钱兑换
2019-05-01
算法-动态规划-三角形最小路径和
2019-05-01
算法-动态规划-最长上升子序列
2019-05-01
算法-动态规划-最小路径和
2019-05-01
算法-动态规划-地下城游戏
2019-05-01