Chinaunix首页 | 论坛 | 博客
  • 博客访问: 8627
  • 博文数量: 7
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 45
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-30 19:48
文章分类
文章存档

2012年(7)

我的朋友

分类:

2012-10-19 21:26:55

原文地址:MASM5.0汇编器使用 作者:飞鸿惊雪

一、MASM5.0使用概述
1.最好把MASM5.0放在根目录下例如D:\masm
2.把编辑好的asm文件(用TXT文档编写程序,保存,把后缀名txt改成asm)放在masm文件夹下如(D:\masm\filename.asm)
3.汇编工具使用步骤:
  1. 点击开始菜单,运行->cmd
  2. d: <Enter>
  3. cd masm <Enter>
  4. masm filename.asm <Enter>
  5. link filename.obj <Enter>
  6. debug filename.exe <Enter>

4.补充下常用的DOS命令

  1. md --建立子目录
  2. cd --改变当前目录
  3. rd --删除子目录命令
  4. dir --显示磁盘目录命令
  5. path --路径设置命令
  6. copy --文件复制命令
  7. type --显示文件内容命令
  8. edit --编辑文件内容命令
  9. ren --文件改名命令
  10. del --删除文件命令
  11. cls --清屏幕命令
  12. ver --查看系统版本号命令
  13. data --日期设置命令
  14. time --系统时钟设置命令
  15. prompt -- 更改命令提示符
  16. deltree --删除整个目录命令
  17. format --磁盘格式化命令
  18. diskcopy--整盘复制命令
  19. label --建立磁盘卷标命令
  20. vol --显示磁盘卷标命令
  21. sys --系统复制命令
  22. xcopy --目录复制命令
  23. fc --文件比较命令
  24. attrib --修改文件属性命令
  25. mem --查看当前内存状况命令
  26. tree --显示磁盘的目录结构

二、MASM详解

masm内有10个.exe程序,其中常用的也就masm.exe,link.exe,debug.exe等,其它不用管。

附件中是masm5.0汇编器和实验用的源程序:

 masm.rar   

1.编写汇编源代码

用记事本写好保存后,把后缀名txt改成asm,放在masm文件夹下如(D:\masm\filename.asm)

下面随便写点代码试验试验,程序源代码:

  1. stsg    segment    stack
  2.     dw 32 dup(?)
  3. stsg    ends

  4. data    segment
  5. a     dw 123
  6. b     dw 456
  7. sum    dw ?
  8. data    ends

  9. code    segment
  10. main    proc    far
  11.     assume    cs:code, ds:data, ss:stsg, es:nothing
  12.     push    ds
  13.     xor    ax, ax
  14.     push    ax
  15.     mov    ax, data
  16.     mov    ds, ax
  17.     mov    ax, a
  18.     add    ax, b
  19.     mov    sum, ax
  20.     ret
  21. main    endp
  22. code    ends
  23.     end    main

2.打开cmd进入D:\masm目录

  1. 开始->运行->cmd
  2. d:
  3. cd masm

效果图:

3.汇编masm

  1. masm filename.asm
  2.    ;注:进入masm汇编程序后,连续按下3个键,汇编出来的.obj文件名和.asm文件名相同
  3.    ;   这里我们直接就3个键,不改变.obj名称,当然你可以自己随意重新该名称

汇编好后将生成filename.obj,如果源程序有错误,masm会提示

效果图:

4.链接link

  1. link filename.obj
  2.    ;注:同上,直接3个键,不改变.exe名称

链接好后将生成filename.exe,如果源程序有错误,link会提示

效果图:

5.调试debug

  1. debug filename.exe
  2. -u  ;反汇编
  3. -t ;单步执行
  4. -q ;退出debug

效果图:

补充:debug命令列表

  1. ? 显示 Debug 命令列表。
  2. a 汇编 8086/8087/8088 记忆码。
  3. c 比较内存的两个部分。
  4. d 显示部分内存的内容。
  5. e 从指定地址开始,将数据输入到内存。
  6. f 使用指定值填充一段内存。
  7. g 执行到断点处,后面 行号,例如-g2
  8. h 执行十六进制运算。
  9. i 显示来自特定端口的 1 字节值。
  10. l 将文件或磁盘扇区内容加载到内存。
  11. m 复制内存块中的内容
  12. n 为 l 或 w 命令指定文件,或者指定正在测试的文件的参数。
  13. o 向输出端口发送 1 个字节的值。
  14. p 执行循环、重复的字符串指令、软件中断或子例程。
  15. q 停止 Debug 会话。
  16. r 显示或改变一个或多个寄存器。
  17. s 在部分内存中搜索一个或多个字节值的模式。
  18. t 执行一条指令,然后显示所有寄存器的内容、所有标志的状态和 Debug 下一步要执行的指令的解码形式。
  19. u 反汇编字节并显示相应的原语句。
  20. w 将被测试文件写入磁盘。
  21. xa 分配扩展内存。
  22. xd 释放扩展内存。
  23. xm 映射扩展内存页。
  24. xs 显示扩展内存的状态。

三、总结

.asm源程序-->经masm汇编-->.obj二进制文件-->link链接-->.exe二进制可执行文件-->debug进行调试

  1. 点击开始菜单,运行->cmd
  2. d: <Enter>
  3. cd masm <Enter>
  4. masm filename.asm <Enter>
  5. link filename.obj <Enter>
  6. debug filename.exe <Enter>
阅读(404) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:Share:Windows下如何枚举所有进程(含代码)

给主人留下些什么吧!~~