乐趣区

关于asm:汇编开发环境搭建DOSBOX-MASM50

汇编开发环境搭建(DOSBOX + MASM5.0)

一、工具装置

次要工具:

  • DOSBOX:传送门,windows 玩家抉择 0.74-3 Win32 installer 即可。

    装置上根本就是一路 Next,两头记得选一下装置目录。

  • MASM5.0:官网版本:传送门

    官网版本没有 debug.exe,不能进行调试。这里放一个网友整顿的版本:传送门(举荐应用)

二、环境配置

  呐,其实也没啥好配置的,关上就能用,上面演示一下:

应用演示

  • 开始演示之前呢先筹备一下资料,学习编程语言嘛,Hello World 必定不能少,咱们新建一个 hello.asm(能够先建一个 hello.txt 而后手动批改后缀),而后,放到 masm5.0 的门路下。hello.asm 内容如下:

    assume cs:code,ds:data  
    
    data segment  
    str db 'HelloWorld!','$'    
    data ends  
      
    code segment  
        mov ax,data  
        mov ds,ax  
        lea dx,str  ; 获取 str 的偏移地址  
        mov ah,9    ; 输入字符串  
        int 21h  
      
        mov ah,4ch  
        int 21h  
    code ends  
    end
    

    程序来自这里:传送门

  • 首先,运行 DOSBOX 装置目录下的”DOSBOX.exe“,会弹出两个窗口,一个是常见的 windows 命令行窗口(win 下作为控制台利用运行的程序根本都会弹这个),用不到然而不要敞开。另一个是 DOSBOX 的窗口(有蓝色文字的那个),操作都在这进行。

  • 为了可能应用 masm 中的那些程序(提供的指令),咱们须要把 masm5.0 的装置目录挂载到 DOSBOX(并作为 DOSBOX 的 C 盘)。输出的指令如下:

    mount c: <masm5.0 在你电脑上的地位,如“D://xxx/xxx/masm5.0”>     

    (尖括号只是用来示意的,不要一起敲进去啊)

    而后,输出 c: 并回车切换到 DOSBOX 的 C 盘(即 masm 所在目录),为了确认挂载是否失常,能够应用 dir 指令列出目录下的文件来查看,能够看到,挂载失常。

  • 而后咱们就能够来编译、运行筹备好的测试程序了。

    • 第一步,编译。输出 masm hello 并回车来编译源程序,之后会让你命名编译产生的文件,个别回车三次跳过即可。
    • 第二步,连贯。输出 link hello 并回车来链接编译产生的文件,之后也会让命名,回车三次跳过。
    • 第三步,输出 hello.exe 或者 hello 来运行第二步中生成的可执行文件,而后你就会看到···

Bingo!

优化

  后面的应用过程中有个显著的槽点——masm 的门路要手动挂载,有点麻烦,所以,让咱们来做点配置。

  • 首先,关上 DOSBOX 装置目录下的“DOSBox 0.74-3 Options.bat”(最好先敞开 DOSBOX),会关上一个名为“DOSBox 0.74-3 Options.conf”的文件。而后,拉到最初,能够看到如下的一段内容:

    [autoexec]
    # Lines in this section will be run at startup.
    # You can put your MOUNT lines here.
  • 正文通知咱们,写在 [autoexec] 所在行之后的内容会在 DOSBOX 启动当前被当作指令主动执行。那么,如果把挂载文件夹的指令写到这,当然就能实现“主动挂载”了。所以,咱们批改这一部分内容如下:

    [autoexec]
    # Lines in this section will be run at startup.
    # You can put your MOUNT lines here.
    mount  c: < 你的 masm5.0 所在门路 >
    set PATH=$PATH$;< 你的 masm5.0 所在门路 >
    c:
    dir

    减少局部的内容,除了 PATH 的设置以外都在后面呈现过,总的来说就是主动挂载了 masm5.0 并切换到那个目录,而后列出所有文件(不想看的话能够把 dir 删掉)。

  • Ctrl + S 保留而后退出,之后从新关上 DOSBOX 就会发现门路被主动挂载了。

  而后,除了门路的挂载以外,名称的输出如同也很烦人,按默认的来还要按三下回车,不敌对。

  这点也是能够优化的,如果心愿间接依照默认的参数生成编译、链接产生的文件,输出指令的时候加一个分号即可,如下:

masm hello;
link hello;

序幕

  最初,小小地吐槽一下——我怎么都没想到 DOSBOX 最后是为了玩 DOS 零碎下的老游戏而开发的。

退出移动版