汇编实验1--DOSBox的使用及录入Fibonacci.asm

前言

  • 这是学习汇编的第一个实验作业
  • 记录一下DOSBox的使用和配置方法
  • 录入书本的Fibonacci.asm

DOSBox配置及使用

先附上一些汇编的工具文件:百度网盘链接   提取码:rx2v
汇编工具
1、安装DOSBox双击DOSBox0.74-win32-installer.exe

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.解压masm5.zip复制到D盘根目录

  • 解压masm5.zip得到masm5文件夹
    alt

  • 把该文件夹及其下程序复制到D盘根目录

     alt

3.打开DOSBox配置环境
方法一:

  • 该方法只能临时配置使用
  • 打开DOSBox 0.74
  • 输入命令mount d d:\masm5回车
  • 键入d:就可以使用masm了
    在这里插入图片描述

方法二:

  • 可使DOSBox打开时自动配置masm环境
  • 开始菜单> 打开DOSBox 0.74 Options
  • 在打开的文本文件最后面加入语句
    mount d d:\masm5 set PATH=%PATH%;d:\;
    alt
  • 每次打开DOSBox都会自动配置masm

alt

DOSBox的使用

编译一个简单的hello.asm

  • masm只能编译同级目录下asm文件
  • 可在D:\masm5目录下新建一个exam目录方便文件存放
  • 打开DOSBox
  • 键入 d:进入挂载masm的虚拟盘符才能编译
  • 文件管理器d:\masm5目录下新建 hello.asm 文件
STACK1 SEGMENT PARA STACK
DW 128 DUP (?)
STACK1 ENDS

DATA SEGMENT
  STRING DB 'Hello World!',13,10,'$'
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
  • 键入masm hello.asm回车

  • 可忽略一些输入一路回车

  • 得到 hello.obj

  • 键入link hello.obj

  • 得到 hello.exe

  • 键入hello.exe

  • 得到输出啦

    altaltalt

录入Fibonacci.asm

  • 提示DOSBox只允许8个字节以下的文件名
  • 不然会报Unable to open input file错误
  • 所以我们就新建一个Fib.asm就行了后面再改回来
  • 书本Fibonacci.asm代码(貌似编译成exe也是不能运行的)
     DATA SEGMENT
RABBITNUN DW      650             ;兔子数
 MONTHNUM DB      ?               ;月数
     DATA ENDS
   STACK1 SEGMENT PARA STACK
          DW      20H DUP(?)
   STACK1 ENDS
     CODE SEGMENT
          ASSUME  CS:CODE,DS:DATA
   START: MOV     AX,DATA
          MOV     DS,AX
          XOR     CX,CX           ;计数器清零
          MOV     AX,0            ;斐波那契数初始值
          MOV     BX,1
    NEXT: XCHG    AX,BX       
          ADD     AX,BX           ;产生新斐波那契数
          INC     CL              ;计数器加一
          CMP     AX,RABBITNUN    ;比较产生的新数与给定数
          JAE     RESULT          ;如果大于等于,结束
          JMP     NEXT            ;小于,继续循环
  RESULT: MOV     MONTHNUM,CL
          MOV     AH,4CH
          INT     21H
    CODE  ENDS
          END     START

结束

附上一篇汇编编译时常见错误解释文章
汇编语言常见的错误

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值