读书人

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

发布时间: 2013-01-26 13:47:03 作者: rapoo

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

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
-

读书人网 >编程

热点推荐