zoukankan      html  css  js  c++  java
  • 【汇编】2.第一个程序:hello world

    前言

    在上篇博文 【汇编】1.汇编环境的搭建:DOSBox的安装 中,我们完成了

    1.汇编环境模拟器DOSBox的安装。

    2.汇编编译相关程序MASM6的下载。

    在上篇文章的最后我们提到了挂载DOS程序把 :~MASM6 文件夹映射到DOSBox环境下的 C: 根目录

    接下来的这篇文章将在上一篇文章的基础上完成我们汇编的第一个程序:hello world。



    相关操作

    1.在 :~MASM6 文件夹内新建一个txt文本文件。

    2.在文件内键入如下代码:

    DATA SEGMENT
    	STRING DB 'HELLO,WORLD!$'	
    DATA ENDS
    
    CODE SEGMENT
     ASSUME CS:CODE,DS:DATA
     START:
    	MOV AX,DATA
    	MOV DS,AX
    
    	MOV DX,OFFSET STRING
    	MOV AH,9
    	INT 21H
    
    	MOV AH,4CH
    	INT 21H
    CODE ENDS
     END START
    

    3.修改文件名为hello,并修改文件后缀为.asm。
    4.打开DOSBox,挂载MASM6,将 :~MASM6 文件夹映射到DOSBox环境下的 C: 根目录
    5.进入DOSBox环境下的 C: 根目录:键入`C:` ![](https://ws1.sinaimg.cn/large/006tNc79gy1fsyfia57nij31100q0q8u.jpg)
    6.编译我们刚才创建的hello.asm文件:键入`masm hello.asm`,编译成功将会在文件夹下产生.obj文件。
    7.连接.obj文件:键入`link hello.obj`,连接成功将会在文件夹下产生.exe文件。在这一步中会让我们输入一些参数,多按几次回车键忽略参数输入即可。
    8.运行.exe文件:键入`hello.exe`,此时我们要的 hello world 就输出出来了。
    ![](https://ws1.sinaimg.cn/large/006tNc79gy1fsyfuxkit0j31100q0n22.jpg)

    名词解释

    ;声明'数据段'开始
    ;数据,可以理解为DB类型数组,数组名是STRING,数组内容是HELLO,WORLD!$,
    ;$符号后续进行说明.单引号表明数据是以字符类型存入,
    ;内存中实际存放的是该字符对应的ASCII码.
    ;声明'数据段'结束



    |版权声明:除特别注明外,本博客所有文章均为博主T.P原创,转载请注明出处:https://www.cnblogs.com/tp0829/p/9266253.html

  • 相关阅读:
    C++之栈的应用-------判断出栈序列是否合法
    PHP 使用soap调用webservice接口
    C++矩阵转置
    C++利用栈实现队列、利用队列实现栈
    C++ error LNK2019: 无法解析的外部符号
    定时任务
    spring boot redis CacheManager
    非正常关闭vim编辑器后提示错误的解决方法
    python pandas学习记录 二
    layui点击放大图片
  • 原文地址:https://www.cnblogs.com/tp0829/p/9266253.html
Copyright © 2011-2022 走看看