• 汇编语言第四章——第一个程序


    1.一个源程序从写出到执行的过程

    编写汇编源程序——>对源程序进行编译连接——>执行可执行文件中的程序

    2.源程序

    a)伪指令需要编译器来进行相关编译工作

    一个汇编程序是由多个段组成的,这些段用来存放代码,数据或者当作栈空间来使用

    段的格式:段名 segment .... 段名 ends

    end:时汇编程序结束的标记

    assume:这条指令的含义时“假设”,它假设某一段寄存器和程序中的某一个用segments。。。ends定义的段相关联,在编程时用assume讲由特定用途的段和相关的寄存器相关联即可

    b)注意:源程序文件中的所有内容都为源程序,将源程序中最终由计算机执行,处理的指令或数据成为程序。程序最先以汇编指令存在于源程序中,经编译,连接后转变为机器码,存储在可执行文件中

    c)标号

    如:codesg,一个标号指代了一个地址。作为一个段的名称,最终将被编译、连接程序处理为一个段的段地址。

    d)程序的结构

    定义一个段——>在这个段内写入汇编指令——>用end指出程序在哪里结束——>用assume将段名和相应的段寄存器连接起来。

    e)程序返回

    在程序末尾添加返回的程序段:

    mov ax,4c00H

    int 21H

    用它返回是不需任何条件,还可顺便帮你关闭你打开后忘记关闭的文件。并返回寄存器al的值。在DOS中可用于*.com或*.exe文件。int 21h是DOS系统的系统调用的入口,ah为功能号,就是本问题中的4c,比如
    mov ah,9
    mov dl,‘a'
    int 21h
    表示要在屏幕上显示英文字母a,mov ax,4c00h表明应用程序要退出,并为调用本程序的程序返回00,传递退出信息。

    3.编辑源程序+编译+连接+执行   

    使用dos下的edit编辑流程

    (1)运行edit

    (2)在Edit中编辑程序

    (3)将程序保存为文件xxx.asm,保存退出

    编辑+连接

    借鉴于博友天机不可泄漏处,原文链接 http://www.cnblogs.com/Yangruzhang/p/9788727.html 

    简化的步骤:直接在masm后面加上被编译的源程序文件的路径,文件名,在命令结束处加上;按enter键后,编译器就会对源程序进行编译,自动忽略中间文件的生成

    将源程序加工成一个可以在系统操作的程序文件后,输入xx.exe运行

    关于是什么程序将编写的源程序加载进内存的一些思考:cpu启动的时候会从固定的地址读取代码,对于x86,就是cs和eip是固定的,硬件上会将bios-rom映射到这个区域,然后cpu就可以按照指令执行了。bios完成硬件初始化后,会根据启动顺序按照已有约定寻找启动项

  • 相关阅读:
    谈谈jQuery之绑定事件
    手机移动端WEB资源整合
    2016移动端web5分钟速成(适合新手)
    日常整理的一些网址
    web服务器页面错误代码集
    jQuery事件绑定的最佳实践
    前端体系
    js刷新页面的几种方法
    JAVA的静态变量、静态方法、静态类
    在Hadoop集群中添加机器和删除机器
  • 原文地址:https://www.cnblogs.com/saudade/p/9857467.html
Copyright © 2020-2023  润新知