对一个简单汇编程序分析
程序:
assume cs:codesgcodesg segmentmov ax,0123Hmov bx,0456Hadd ax,bxadd ax,axmov ax,4c00Hint 21Hcodesg endsend
伪指令:
伪指令是写给编译器看的,CPU不会执行,在源程序中,包括两种指令,一个是汇编指令,一个是伪指令。汇编指令会生成对应的机器码,而伪指令不会生成机器码,最终不会被CPU执行
- segment和ends
segment和ends是一对成对使用的伪指令,这是在写可被编译器编译的汇编程序时必须要用到的一对伪指令。
功能:定义一个段,segment说明段的开始,ends说明段的结束,一个段必须有一个名称来标识,格式:
段名 segment:
段名 ends
比如上面程序中:
codesg segment:
codesg ends
一个汇编程序由多个段组成,一个有意义的汇编程序中至少要有一个段,这个段用来代码
end
功能:一个汇编程序的结束标记
注意:要分清楚end和ends,end是整个程序结束的标志,ends是一个段的结束assume
功能:假设某一段寄存器和程序中的某一用segment…ends定义的段相关联
源程序中的程序:
源程序就是我们写的代码,可以将源程序文件中所有的内容称为源程序,最终由计算机执行的才叫程序
标号:
汇编源程序中,除了汇编指令和伪指令外,还有些标号,比如codesg。一个标号指代一个地址,比如codesg在segment前面,作为一个段的名称,这个段的名称最终将被编译,连接程序处理为一个段的段地址
程序的返回:
mov ax,4c00Hint 21H
这两条指令所实现的功能就是程序返回
在最后再说一下程序是由段构成的
对一个简单汇编程序分析相关推荐
- 一个简单木马分析及接管利用
最近一段时间,感觉工作很是杂乱无章,博客也基本没时间来写,基本每月一篇,其实每写一篇也代表目前我自己的工作状态及内容.最近搞逆向这一块,找了些样本分析例子,自己也研究了一下,感觉有不少好东西,当然这些 ...
- 根据词袋模型使用Python实现一个简单的分析句子对相似度的软件
使用词袋模型实现一个简单的分析句子对相似度的软件 1. 实验内容 本次实验使用词袋(bag of words)技术,利用词袋模型进行编程并计算了不少于10组句子对的相似度,同时设计了图形界面,可以在界 ...
- 《ANSYS Workbench 14有限元分析自学手册》——1.7 一个简单的分析实例
本节书摘来自异步社区<ANSYS Workbench 14有限元分析自学手册>一书中的第1章,第1.7节,作者: 吕建国 , 康士廷 更多章节内容可以访问云栖社区"异步社区&qu ...
- 编写一个简单的汇编程序(DOSBox 0.74和MASM 6.15)
一.配置环境 环境模拟器:DOSBox 0.74 挂载的DOS程序:汇编编译程序 MASM 6.15(建议下载6.15的) MASM 6.15大家可自行去网上找资源下载. 安装DOSBox 0.74和 ...
- 编译原理简单优先分析算法
简单优先分析算法 编译原理简单优先分析算法是一种自下而上的分析算法,本例是编译原理第三版何炎祥中一个简单优先分析算法的例子,未给出分析过程分析代码,读者可以参考我的语法分析器中输出代码,写出此算法的输 ...
- 通过汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的
实验目的: 通过反汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的 实验过程: 通过vi程序进行编程: int g(int x) { return x + 3; } int f(int x) ...
- Linux内核分析:完成一个简单的时间片轮转多道程序内核代码
PS.贺邦 原创作品转载请注明出处 <Linux内核分析>MOOC课程 http://mooc.study.163.com/course/USTC-1000029000 1.m ...
- c理c利用计算机怎么弹,通过汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的...
通过汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的 计算机的工作方式: 现代计算机的基本体系结构都是采用冯诺依曼结构,冯诺依曼的设计思想最重要之处是"存储程序"的这个概念 ...
- 《Linux内核分析》(二)——从一个简单Linux内核分析进程切换原理
转载:https://blog.csdn.net/FIELDOFFIER/article/details/44280717 <Linux内核分析>MOOC课程http://mooc.stu ...
最新文章
- SQL经典实例(五)元数据查询
- html5时间轴列表,HTML5 时间轴/日程安排表模板
- 【Linux】 诊断工具-strace
- 查看某个端口是否链接超时
- 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 3丨删除重复的电子邮箱【难度简单】
- 工程师如何解决穿衣搭配烦恼?——滴搭平台与算法 1
- Android恶意代码分析流程,[原创]恶意代码plankton分析记录(1)
- SSL introduce itself from baidu
- spring Quartz基于配置文件和注解的实现
- 《Java就业培训教程》_张孝祥_书内源码_06
- Linux下ppp拨号+电信3G模块
- 长难句——考研英语刘晓燕#6
- windows使用命令行修改用户密码
- 闰秒 mysql_闰秒导致MySQL服务器的CPU sys过高
- 零基础通过直播小程序组件实现电商带货
- 上帝视角实现 引用大神,不是原创
- 你感受过VR视频故事线吗?适用于哪些方面?
- 互评成绩 python
- 外卖O2O公司为何能得到天价估值
- 看了多篇2019年的面经后的个人总结