DOSBOX中的简单的masm 、link操作以及多个文件的连接输出hello word!

一.一个源文件输出hello work

第一步先将代码编写在记事本中,然后将后缀名改为asm(这个文件就叫做test.asm)

在这里插入图片描述
重命名后将txt改为asm后出现这个提示,直接点击:是
在这里插入图片描述
之后就得到这样一个asm文件
在这里插入图片描述

代码在这里

// An highlighted block
var foo = 'bar';
DATA SEGMENT
 	STRING1 DB 'HELLO WORLD!','$'
	STRING2 DB 'HELLO WORLD AGAIN!','$'
DATA ENDS
CODE SEGMENT
	ASSUME CS:CODE
dispmsg macro message
	mov dx,offset message
	mov ah,09H
	int 21H
endm
CRLF MACRO N
  LOCAL AGAIN

  PUSH AX
  PUSH DX 
  PUSH CX
  MOV CX,N
	
AGAIN:
  MOV AH,2
  MOV DL,0DH
  INT 21H
  MOV DL,0AH
  INT 21H
  LOOP AGAIN
     
  POP CX
  POP DX
  POP AX
ENDM

START:
	MOV AX,DATA
	MOV DS,AX
	dispmsg STRING1
	CRLF 1
	dispmsg STRING2
	mov ah,4ch
	int 21h
	CODE ENDS
END START
//写两个hello work 是连续一波宏的使用

第二步打开DOSBOX进行操作

①挂载到DOSBOX下的盘符,并打开c盘

这里d:\DOSBOX是因为我直接建立了一个叫DOSBOX的文件夹将DOSBOX放在里面。
在这里插入图片描述

②进行编译

输入 masm test.asm按回车到达这里(如果使用缺省默认参数可在后面加上;就不用按回车"masm test.asm;")
在这里插入图片描述
然后接着3次回车,要是有错误的话在这里就能看到
在这里插入图片描述
这步完成以后就能在原文件夹下面看到这样一个obj文件,
在这里插入图片描述

③链接

对于单个源文件 直接采用link +文件名.obj (跟第二步一样使用默认参数可以在后面加;即可“link test.obj;”)
在这里插入图片描述
这里的警告只是说没有堆栈段,可以不用管。
跟第二步一样就能得到一个exe的应用文件
在这里插入图片描述

④进行运行

输入文件名即可
在这里插入图片描述

一个简单的hello work就完成了!!!!

之后也可以通过输入debug +文件名.exe进行调试

例如
在这里插入图片描述

二.两个源文件进行link输出hello word

首先也是创建两个txt文件(test1,test2)

写入代码
test1中(test1是代码段所在的文件)

extrn display:far
PUBLIC STRING

DATA SEGMENT
	STRING DB 'HELLO WORLD!','$'
DATA ENDS

Code segment
	assume cs:code
start:
	MOV AX,DATA
	MOV DS,AX
	
	call display

	mov ah,4ch
	int 21h
code ends
	end start

test2中的代码(test2中只是定义了一个子程序)

public display
EXTRN STRING:BYTE

Code segment
     assume cs:code
CRLF MACRO N
  LOCAL AGAIN

  PUSH AX
  PUSH DX 
  PUSH CX
  MOV CX,N
	
AGAIN:
  MOV AH,2
  MOV DL,0DH
  INT 21H
  MOV DL,0AH
  INT 21H
  LOOP AGAIN
     
  POP CX
  POP DX
  POP AX
ENDM    
display proc far
	push ax
	push dx
	
	CRLF 1
	
	mov ah,9
	mov dX, OFFSET STRING
	int 21h
	
	CRLF 2
	
	pop dx
	pop ax
	ret
display endp


code ends
     end

之后跟上面讲的对test1跟test2修改后缀,然后依次进行编译(masm test1.asm 编译好后再 masm test2.asm)
都编译好以后就出现了两个obj文件这个时候就可以进行链接
在这里插入图片描述

链接

链接形式 link 文件1.obj+文件2.obj+文件3.obj
在这里插入图片描述
链接好以后就会出现一个test1.exe的应用文件(因为test2中是的内容只是一个子程序,只相当于一个函数)。
之后就可以运行了 直接输入文件名+回车
在这里插入图片描述
今天就学到这里吧。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值