精华解读:https://zhidao.baidu.com/question/195901151.html

段地址SA,默认在DS中!

查看PSP命令:

-d ds:0

一般来说,PSP是256个字节,当程序生成了可执行文件以后,在执行的时候,
先将程序调入专属内存,这个时候DS中存入程序在内存中的段地址,紧接着是程序的一些说明,
比如说程序占用多大空间等等,这就是PSP,一般PSP占256个字节,然后才是真正的程序地址,
将CS指向这里,IP设为0000,为什么一般CS要比DS大10H,就是因为这个原因。
简单说:DS存放的是程序段地址,由于PSP的存在,真正要执行的地址是DS再加上256个字节,
真正的地址是DS*16+256化简一下:DS*16+0+16*16=16*(DS+16)
真正的地址又可以写成:cs*16+0
所以CS相当于DS+16,化成十六制是DS+10

自己的人话版解读:

王爽老师汇编语言书里面的截图:

SA的介绍:

无论是书本,还是搞这个的老哥们。都意思如下:

只需要知道第一步,程序地址=SA * 16 + 256,即可。

PSP是什么呢?

书上也说啦。就是取出段内存区的前面256个字节。用来与被加载程序通信。

虽然是废话,但是在此作为一个烂笔头的存在好啦~

关于程序物理地址: SA+10H:0

出现过程:

首先PSP的物理地址:SA*16+0;再补上预留给PSP的256个字节(即是:100H)。

故而:      (SA*16+0)+256

=(SA+16)*16+0

化为16进制=(SA+10H):0

EXE文件中的程序的加载过程 SA是什么呢?PSP是什么?相关推荐

  1. 磁盘中的程序必须加载到内存才能运行

    计算机中主要的存储部件是内存和磁盘.磁盘中存储的程序必须加载到内存之后才能运行.在磁盘中保存的原始程序是无法直接运行的.这是因为,负责解析和运行程序内容的CPU,需要通过内部程序计数器来指定内存地址, ...

  2. 汇编 --- EXE文件 的程序的加载过程

    1.asm 使用编译工具写了一个求2的3次方的程序 assume cs:abcabc segmentmov ax,2add ax,axadd ax,axmov ax, 4c00Hint 21H abc ...

  3. zsh关于.zprofile .zlogin .zshrc .zshenv文件中环境变量的加载

    zsh下的用户环境配置文件包括.zlogin..zprofile..zshrc..zshenv和.zlogout.刚开始使用zsh,我被弄迷糊了.把这些文件使用场景记录下,以防忘记.

  4. 基于visual c++之windows核心编程代码分析(64)现有的exe文件中添加自己的代码

    我们进行信息安全编程的时候,经常需要向exe文件插入自己的源代码, 我们如何在代码中实现呢.请见代码与注释讲解 #include <iostream.h> #include <win ...

  5. EXE文件的加载过程

    一个microsoft的.exe程序文件的启动过程 2009-06-16 14:54 2101人阅读 评论(0) 收藏 举报 microsoftmfcwindowsshelldll数据结构 学习win ...

  6. 可能是堆被损坏,这也说明 XX.exe 中或它所加载的任何 DLL 中有 bug

    今天遇到一个很奇怪的问题, 当代码如下时: char* s = (char*)malloc(20*sizeof(char)); string buffer; const char* conchar; ...

  7. Linux下C/C++程序编译链接加载过程中的常见问题及解决方法

    Linux下C/C++程序编译链接加载过程中的常见问题及解决方法 1 头文件包含的问题 报错信息 该错误通常发生在编译时,常见报错信息如下: run.cpp:2:10: fatal error: dl ...

  8. Autocad、中望CAD自动加载程序研究(注册表法、acad.rx、acaddoc.lsp或acad.lsp)

    Autocad.中望CAD自动加载程序研究(注册表法.acad.rx.acaddoc.lsp或acad.lsp) 一.使用注册表 假设你的arx文件名字是aaa.arx绝对路径是c:\aaa.arx ...

  9. 微信小程序,Eror代码包大小为12497kb,上限为 2048 kb,请删除文件后重试?微信小程序分包加载

    微信小程序如何解决预览超过2M的问题?微信小程序分包加载 在微信小程序开发过程中有个问题让人很头疼,就是预览的项目不能超过2M,我们的项目通常都会超过这个大小限制.那到底怎么解决呢?其实官方给出了解决 ...

最新文章

  1. 用户界面设计十大基本原则
  2. 改变jupyter notebook的主题背景颜色
  3. java http请求 乱码_怎么解决java中的http请求乱码
  4. 利用fiddler将本地网页放到某个域下
  5. CodeForces - 1486C2 Guessing the Greatest (hard version)(二分+交互)
  6. 单边指数信号的特点_今日股市分析:上证指数若能守住3400,蓄力反弹就有戏...
  7. python如何读取文件数据恢复_删python目录
  8. datastage odbc mysql,Linux系统odbc配置实现Datastage8.x连接mssqlserver数据库
  9. dda算法c语言,Python使用DDA算法和中点Bresenham算法画直线
  10. Windows登录FTP服务器方法
  11. 华为静态,动态NAT,Easy IP实验!超详细,有手就能学会
  12. RSS源推荐大全(it版)
  13. 中南大学2019计算机研究生分数线,2019中南大学研究生分数线(含2016-2019历年复试)...
  14. r语言寻找1000以内的质数
  15. 爬虫 403 增加header和代理ip也没用?有可能是cloudflare在搞事情
  16. 概率论学习二、样本空间与事件
  17. python求平均数和中位数
  18. Java--反射(框架设计的灵魂)
  19. 基于SSH框架的二手物品交易网(Struts)
  20. CentOS系统中如何搭建NTP时间服务器(时间同步)

热门文章

  1. Google最新论文:Youtube视频推荐如何做多目标排序
  2. 18段代码带你玩转18个机器学习必备交互工具
  3. 掌握哪些机器学习工具更受企业青睐?
  4. 快讯 | 老黄啊,特斯拉背着你找AMD了,咱可不能给他降价
  5. Docker + FastDFS + Spring Boot 一键式搭建分布式文件服务器
  6. 哈哈,咱们团队早就不用try-catch-finally关闭资源了!
  7. 技巧:MyBatis 中的trim标签,好用!
  8. Mybatis 使用的 9 种设计模式,真是太有用了
  9. 这样规范写代码,同事直呼“666”
  10. 学习用Pandas处理分类数据!