zoukankan      html  css  js  c++  java
  • 汇编语言第四章 第一个程序

    经过了前三章对于汇编语言在debug环境下的相关操作的学习,对相关寄存器和基础命令行有了更加清晰的认识。

    第四章的学习就是如何像学习写C语言那样完成对一个完整程序的编写、编译、执行以及修改。

    拿实验三的一个例子说明

     assume cs:code(假设将特定用途的段和相关的段寄存器关联起来)

      code(段名) segment

            mov ah,2

            mov dl,3

            add dl,30h

            int 21h

            mov ah,2

            mov dl,6

            add dl,30h

            int 21h

               mov ah,4ch

            int 21h

    code(段名) ends

    end(一个汇编语言的结束表示)

    segment和ends成对出现,中间存放代码段、数据或者栈空间。

    下面具体操作一下

    常规操作

    输入edit,打开命令框

    这是我之前写的t1.asm文件,可以根据需求修改

    exit退出

    输入masm进行编译,注意文件的扩展名默认为asm,如果不是,就需要输全名,同时注意文件的路径,要在当前路径下编译。

    同时下面也会有报错提示,注意修改代码,使能够合理运行。

    link连接

    最终形成exe文件

    执行看看代码的结果

    有些程序需要cls清屏才可以看到,如下

    这就是一个完整的流程,之后还可以根据需求更改相关代码。

    紧接着我们在这章中还可以在debug环境下对程序进行跟踪,分析相关寄存器的状态以及反汇编,这在实验3中有具体的实现,这里不多介绍。

    总的来说,在学习完这章的主要内容后,可以对教材之前的一些内容进行尝试运行,例如实验一,以及课本上的代码,加深自己对知识的理解。

  • 相关阅读:
    java8新特性→方法和构造函数引用:替代Lambda表达式
    java8新特性→Stream流:用于解决已有集合类库既有的弊端
    java8新特性→函数式接口
    java8新特新→Lambda表达式
    子查询
    Vue之监听数据变化watch、computed、methods
    Vue路由-使用命名视图实现经典布局
    Vue路由-使用children属性实现路由
    Vue之路由传参
    Vue路由之touter-link、router-direct的使用
  • 原文地址:https://www.cnblogs.com/-Cold/p/9935598.html
Copyright © 2011-2022 走看看