简单汇编程序编译链接执行过程

来源:互联网 发布:马克思主义哲学 知乎 编辑:程序博客网 时间:2024/05/18 01:38

1.编写

使用cmd进入命令窗口

输入edit进入编辑器,输入代码,如:

assume cs:abc abc segment  mov ax, 2  add ax, ax  add ax, ax  abc ends end

保存在c盘,1.asm



2.编译

使用masm

在cmd中,输入 

 D:\>cd masm

 进入masm目录,里面有masm.exe和link.exe进行编译链接

输入masm

 D:\masm>masm
 Microsoft (R) Macro Assembler Version 5.00

 Copyright (C) Microsoft Corp 1981-1985, 1987.  All rights reserved.


 输入asm文件的路径

 Source filename [.ASM]: c:\1.asm

可以指定目标文件的名称路径,也可以用默认的路径名称

 Object filename [1.OBJ]:
 Source listing  [NUL.LST]:
 Cross-reference [NUL.CRF]:
 
   49176 + 397112 Bytes symbol space free
 
       0 Warning Errors

       0 Severe  Errors


 3.链接

 D:\masm>link

 
 Microsoft (R) Overlay Linker  Version 3.60
 Copyright (C) Microsoft Corp 1983-1987.  All rights reserved.

 

输入目标文件

 Object Modules [.OBJ]: 1
 Run File [1.EXE]:
 List File [NUL.MAP]:
 Libraries [.LIB]:
 LINK : warning L4021: no stack segment

 

这样就产生了可执行的二进制文件1.exe


4.运行

 D:\masm>1

 

5.调试

cmd下使用debug调试可执行程序

-r 查看内容

-t 单步调试

-p

-d

-e

-q 退出

 D:\masm>debug 1.exe

 -r
 AX=0000  BX=0000  CX=0007  DX=0000  SP=0000  BP=0000  SI=0000  DI=0000
 DS=151C  ES=151C  SS=152C  CS=152C  IP=0000   NV UP EI PL NZ NA PO NC
 152C:0000 B80200        MOV     AX,0002
 -t
 
 AX=0002  BX=0000  CX=0007  DX=0000  SP=0000  BP=0000  SI=0000  DI=0000
 DS=151C  ES=151C  SS=152C  CS=152C  IP=0003   NV UP EI PL NZ NA PO NC
 152C:0003 03C0          ADD     AX,AX
 -t
 
 AX=0004  BX=0000  CX=0007  DX=0000  SP=0000  BP=0000  SI=0000  DI=0000
 DS=151C  ES=151C  SS=152C  CS=152C  IP=0005   NV UP EI PL NZ NA PO NC
 152C:0005 03C0          ADD     AX,AX
 -t
 
 AX=0008  BX=0000  CX=0007  DX=0000  SP=0000  BP=0000  SI=0000  DI=0000
 DS=151C  ES=151C  SS=152C  CS=152C  IP=0007   NV UP EI PL NZ NA PO NC
 152C:0007 0000          ADD     [BX+SI],AL                         DS:0000=CD
 -

原创粉丝点击