当前位置: 首页 > news >正文

汇编语言笔记04-第一个程序

 

转载必须注明出处,违者必究。http://www.cnblogs.com/dennisOne

 

 

一个汇编源程序的组成

  1. 汇编源程序

  2. 汇编源程序的组成

    (1). 伪指令

    XXXsegmentXXXends 定义段(可以定义代码段、数据段、栈段)

    end 一个汇编程序的结束标志,并且可以指定代码入口地址

    assume编译程序将段寄存器和某个具体的段相关联。但是只是一种"假设"

    (2). 汇编指令

    (3). 标号

    比如 codesg就是标号,一个标号指代了一个地址

  3. 程序返回
    • 源程序经编译、连接后转变为机器码,存储在可执行文件中。
    • DOS作为一个单任务操作系统,一个程序P2要运行,必须有一个正在运行的程序P1将P2加载到内存中,将CPU的控制权交给P2,这样P2才能得以运行。P2开始运行,P1暂停运行。P2运行完毕后,应该将CPU的控制权交还给使它得以运行的程序P1。P1继续运行。
    • 一个 程序结束后,将CPU的控制权交还给使它得以运行的程序的过程称:程序返回
  4. DOS使用中断机制实现程序返回

    mov ax, 4c00h

    int 21h

  5. 段结束、程序结束、程序返回

   

一个汇编语言程序从写出到执行的过程

  1. 图解

  2. dos工具

  3. 可执行文件包含两个内容:
    • 程序(从源程序中的汇编指令翻译过来的机器码)和数据(源程序中定义的数据)
    • 相关的描述信息(比如,程序有多大、要占用多少内存空间等)
  4. 操作系统的外壳

    操作系统一般都提供了shell程序,用户可以这个程序来操作计算机系统进行工作。

    DOS中命令解释器command.com就是DOS系统的shell。

  5. 加载过程

    操作系统依照可执行文件中的描述信息,将可执行文件中的机器码和数据加载入内存,并进行相关的初始化(比如设置CS:IP指向第一条要执行的指令),然后由CPU执行程序。

   

转载于:https://www.cnblogs.com/dennisOne/archive/2012/10/19/2731386.html

相关文章:

  • 阿里云聆听平台使用有感
  • 今晚测试了下微信的摇一摇传图
  • svn + 钉钉机器人制作简单的代码跟踪系统
  • 黑客惯用软件
  • winform命名规范
  • Spring_事务管理
  • 切入点表达式
  • 浅谈偏向锁、轻量级锁、重量级锁
  • Domino
  • Node.js design pattern : module
  • 数据结构-多项式计算器(将中缀表达式转化为后缀表达式实现)
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • Linux编译安装python2.7.5的步骤
  • C# StringHelper
  • Sass Day-01
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 聊聊flink的BlobWriter
  • 容器服务kubernetes弹性伸缩高级用法
  • 融云开发漫谈:你是否了解Go语言并发编程的第一要义?
  • 扫描识别控件Dynamic Web TWAIN v12.2发布,改进SSL证书
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 算法系列——算法入门之递归分而治之思想的实现
  • 06-01 点餐小程序前台界面搭建
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • $.ajax()
  • $refs 、$nextTic、动态组件、name的使用
  • (13):Silverlight 2 数据与通信之WebRequest
  • (3)(3.5) 遥测无线电区域条例
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (一)Mocha源码阅读: 项目结构及命令行启动
  • * CIL library *(* CIL module *) : error LNK2005: _DllMain@12 already defined in mfcs120u.lib(dllmodu
  • ***linux下安装xampp,XAMPP目录结构(阿里云安装xampp)
  • .java 9 找不到符号_java找不到符号
  • .NET Compact Framework 3.5 支持 WCF 的子集
  • .NET Core 成都线下面基会拉开序幕
  • .net websocket 获取http登录的用户_如何解密浏览器的登录密码?获取浏览器内用户信息?...
  • .NET 线程 Thread 进程 Process、线程池 pool、Invoke、begininvoke、异步回调
  • .NET/C# 判断某个类是否是泛型类型或泛型接口的子类型
  • .NETCORE 开发登录接口MFA谷歌多因子身份验证
  • .NET框架设计—常被忽视的C#设计技巧
  • .net连接MySQL的方法
  • .NET上SQLite的连接
  • .NET中使用Protobuffer 实现序列化和反序列化
  • ?
  • [22]. 括号生成
  • [ACM] hdu 1201 18岁生日
  • [BZOJ4016][FJOI2014]最短路径树问题
  • [c++] 什么是平凡类型,标准布局类型,POD类型,聚合体
  • [CCIE历程]CCIE # 20604
  • [CISCN2019 华东北赛区]Web2
  • [CUDA手搓]从零开始用C++ CUDA搭建一个卷积神经网络(LeNet),了解神经网络各个层背后算法原理
  • [Flutter]WindowsPlatform上运行遇到的问题总结