汇编干货笔记->6.0 代码段中使用数据


以下是文字提取部分,阅读完毕的同学可以离开了
考虑这样一个问题
我们想用;循环;累加一组数据
显然这段数据;不在内存中;
;无法做到;循环操作

但你有没有想过
程序在运行时,会被;装入内存;
我们完全可以;借用这段内存;来放数据

;dw;是定义字型数据
这里定义了八个字型数据
我们说过,cs存放代码段的;段地址;
既然数据;在代码段中;
那么cs也必然是;数据的段地址;
它的;偏移地址;是0~E
;0,2,4,6,8,A,C,E;

下面我debug一下这个程序
红线部分是我们;存放的数据;
从IP=;0010;开始
是我们的;代码区域;

现在存在;一个问题;
debug中我们;可以设置;CS:IP=1CA5:10
但可执行文件.exe并;不知道程序入口;在哪里
exe文件只会;从CS:IP处;开始执行
你可以用start:;指定程序入口;

在;源程序一篇中;
我们说过end;代表程序的结束;
而这里end start指明了;程序的入口在start;
也就是说mov bx,0是程序的;第一条指令;

既然end可以指定程序的入口
那么如何知道;哪一条指令;是程序的入口
源程序一章讲过
可执行文件=;描述文件;+程序
;编译和连接;后
end start将;被转换为;入口地址
存储在;描述信息中;

当程序被;加载到内存;后
;加载者;会从描述信息中读取到入口地址
这个加载者就是前面我们说过的
;p1程序;

最后
;欢迎光临小站:yuruotong.com;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 8086汇编 本笔记是笔者观看小甲鱼老师(鱼C论坛)《零基础入门学习汇编语言》系列视频的笔记,在此感谢他和像他一样...
    Gibbs基阅读 37,422评论 8 114
  • 王爽汇编全书知识点大纲 第一章 基础知识 机器语言 汇编语言的产生 汇编语言的组成 存储器 cpu对存储器的读写 ...
    2c3ba901516f阅读 2,455评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,993评论 19 139
  • 一、温故而知新 1. 内存不够怎么办 内存简单分配策略的问题地址空间不隔离内存使用效率低程序运行的地址不确定 关于...
    SeanCST阅读 7,884评论 0 27
  • 生活中的照顾有很多种,有父母对孩子的照顾,也有孩子对父母的照顾;有朋友对你的照顾,也有你对朋友的照顾;有爱人彼此之...
    今天安好阅读 197评论 0 0