📄 psp.asm
字号:
程序段前缀 PSP 的结构
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ 段内偏移地址 字节数 分 配 情 况 ┃
┃ PSP+00~01H 2 INT 20H指令 ┃
┃ PSP+02~03H 2 可用的内存空间(以16个字节为单位) ┃
┃ PSP+04 1 保留 ┃
┃ PSP+05~09H 5 远调用指令CALL入口 ┃
┃ PSP+0A~0DH 4 程序结束地址(INT 22H) ┃
┃ PSP+0E~11H 4 Ctrl-Break出口(INT 23H) ┃
┃ PSP+12~15H 4 标准错误出口(INT 24H) ┃
┃ PSP+16~22H 22 保留 ┃
┃ PSP+2C~5BH 48 DOS专用(传送环境的段地址) ┃
┃ PSP+5C~6BH 16 FCB1格式化参数 ┃
┃ PSP+6C~7BH 16 FCB2格式化参数 ┃
┃ PSP+7C~7FH 4 保留 ┃
┃ PSP+80~FFH 128 隐含的磁盘的参数区(DTA) ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
程序段前缀 PSP 控制块, 由PC-DOS装入执行文件时建立, 利用它来管理系统的进
程.
COMMAND.COM在装入执行文件前, 首先确定最低内存可用地址作为被装入执行文件的
可用内存起点; 再在这个程序段内偏移地址0000H处构造一个256字节的可用程序段前缀
PSP控制块.
对于COM文件:
CS=DS=ES=SS=PSP段基址(由COMMAND.COM指定), IP=0100H, SP=FFFEH,
然后在这个程序段内偏移地址0100H处装载COM文件,
并把控制交给CS:0100H处指令, 开始运行COM文件.
对于EXE文件:
DS=ES=PSP段基址(由COMMAND.COM指定),
CS,IP,SS,SP由EXE文件中的程序重定位表(由LINK程序产生)确定.
然后在这个程序段内偏移地址0100H接下去某处装载EXE文件,
并把控制交给CS:IP处指令, 开始运行EXE文件.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -