zhouyelihua的个人空间 https://blog.eetop.cn/779366 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

masm生成。com文件

已有 2217 次阅读| 2011-8-6 00:11 |个人分类:assembly language

举例说明吧

首先编写一个显示命令行参数的程序

先从PSP中把命令行参数传到程序定义的缓冲区中,然后再显示。数据段和代码段相重。源程序COMP.ASM如下所示:

CODE SEGMENT

ORG 100H

ASSUME CS:CODE,DS:CODE

START: MOV SI,80H

MOV AL,[SI] ;取得命令行参数长度

INC SI

MOV CL,AL

XOR CH,CH ;CX含命令行参数字节数

PUSH CS ;该程序中数据和代码在一个代码

POP ES

LEA DI,BUF

PUSH CX

L: MOV AL,[SI] ;传命令行参数

MOV ES:[DI],AL

INC SI

INC DI

LOOP L

POP CX

PUSH ES

POP DS ;置数据段寄存器

LEA SI,BUF

MOV AH,2

JCXZ OVER

NEXT: MOV DL,[SI] ;显示命令行参数

INT 21H

INC SI

LOOP NEXT

OVER: MOV AX,4C00H ;程序结束

INT 21H

BUF DB 128 DUP(?) ;用于存放命令行参数的缓冲区

CODE ENDS

END START

方法一:

在建立源文件以后,对于MASM的6。1X版用汇编与连接命令ML/AT直接形成COM文件:

D:MASM>ML/AT COMP.ASM

方法二:

也可以在建立源文件以后,同样经过汇编、连接生成EXE文件,然后可以通过EXE2BIN程序来建立COM文件,在DOS窗口提示符下输入:

Exe2bin filename filename.com

注意,上行中第一个filename给出已形成的EXE文件的文件名,但不必给出文件扩展名。第二个filename为所要生成的COM文件的文件名,他必须带有文件扩展名COM,这样就生成了所要的COM文件。

注意此处的编译不是随便的EXE文件,一定要满足条件的EXE文件。


点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 1

    粉丝
  • 0

    好友
  • 0

    获赞
  • 0

    评论
  • 186

    访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-27 22:18 , Processed in 0.029861 second(s), 14 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部