zoukankan      html  css  js  c++  java
  • 如何用MASM5.0 (图解)

    预先在E:masm5.0MYDOC目录下写好hello.asm文件:

    DATA SEGMENT
        BUF DB 'HELLO WORLD!  THIS IS MY FIRST ASM FILE! $'
    DATA ENDS
    CODE SEGMENT
        ASSUME CS:CODE,DS:DATA
    START:   MOV AX,DATA
        MOV DS,AX
        LEA DX,BUF
        MOV AH,09
        INT 21H
        MOV AH,4CH
        INT 21H
    CODE ENDS
    END START

    首先,进入masm5.0所在路径(装入-连接-运行-调试均在masm5.0所在目录中进行)

    (我这里masm5.0所在路径是E:masm5.0)

    Winkey+R — cmd —e:——cd masm5.0

    图片

    1、装入

    格式:masm  asm源文件及路径1   obj文件目标路径2(省去则默认当前路径)

    如:E:masm5.0>masm .MYDOChello.asm .MYDOC


    图片

    结果:程序无错则在E:masm5.0MYDOC中增加文件HELLO.OBJ

    图片

    2、连接

    格式:link  obj文件路径1

    如:E:masm5.0>LINK .MYDOCHELLO.OBJ

    图片

    (此后当前目录就会出现HELLO.EXE)

     图片

    3、运行

    格式:exe文件全名(即 "HELLO.EXE")

    如:E:masm5.0>  HELLO.EXE

     图片

    4、调试

    -u 反汇编

    -r 显示寄存器内容

    -g [=address1][address2][address3]  执行到断点行,如:-g 12 为执行到第12行

    -t [=address][value] 跟踪,配合-g使用 如:-t 12 1 为从第12行开始,每执行1条指令后停下来

    -d 查看数据

    -q 退出返回操作系统

    图片

    上图中,

    首先,-u 反汇编整个 hello.exe ;

    然后-g 9 ,让程序执行到 第9行停下来;再用-t 跟踪,每执行一条指令停下来;

    最后,连续-t跟踪了3次后输入-q退出程序。

    汇编masm5.0编译器编译汇编文件名时,
    有时可能出现 Unable to open input file:bcd2ascii.asm 的错误,可是代码文件确实存在。
    这时,可以考虑两个问题,
    第一:文件拓展名有没有改过来,因为win7下会自动隐藏拓展名(除非设置过);
    第二:是文件的名字系统的差别造成的,windows现在可以支持非常复杂的命名,
            在cmd下也可以看到这些命名,但当执行debug,masm等程序时,系统将启动ntvdm,
            这是一个nt系统下的vdm,虚拟设备管理,就是一个16位的虚拟机,
            此时,ntvdm下的cmd严格执行8.3命名,这时只需要修改文件名,
            主文件名8个字符以内,扩展名为asm就可以了

  • 相关阅读:
    HDFS进阶
    sql 自连接 优化
    爬虫初探-笔趣阁小说下载
    Uos 系统访问局域网下的windows 系统文件
    统信Uos 操作系统--ThinkPad x280 机 安装后无法调节亮度
    Hadoop源码分析-hdfs(2)-NameNode类探索
    Hadoop源码分析-hdfs(1)-启动脚本分析
    设计模式学习笔记(4)-接口和抽象类
    设计模式学习笔记(3)-面向对象与面向过程
    设计模式学习笔记(2)-面向对象基本概念和四大特性
  • 原文地址:https://www.cnblogs.com/lihaiyan/p/4274475.html
Copyright © 2011-2022 走看看