Board logo

标题: 汇编语言如何运行? [打印本页]

作者: jjjjj162118     时间: 2004-4-21 00:00    标题: 汇编语言如何运行?
各位大狭
汇编语言在dos下怎么运行啊?
是直接在命令符后面输入还是要用什么程序?请多多指教啊!!!!!!!!!!!!!!!!!

作者: Kinglion     时间: 2004-4-21 00:00    标题: 我编写的编译汇编语言的批处理文件。
汇编语言需要匯编並編译成可執行文件以后才能运行,下面是我编写的一个批处理文件,所需要的平台是微软的 MASM 6.11 版,安裝在C:\MASM目錄中.
@ECHO OFF
GOTO TOP

NAME: MASM.BAT
PURPOSE: Macro Assembler Version 6.11 Plus & Segmented Executable Linker Version 5.31.009
COPY: Kinglion Software Warkroom & Dou Jie Hui
VERSION: 1.03 Shareware Version
DATE: 2002.03.24

:TOP
SET HELPFILES=C:\MASM\HELP\*.HLP
SET INCLUDE=C:\MASM\INCLUDE\
SET ASMEX=C:\MASM\SAMPLES\
SET INIT=C:\MASM\INIT\
IF #%1 == # GOTO HELP
IF NOT EXIST %1.ASM GOTO NOFILE
IF EXIST %1.OBJ DEL %1.OBJ
IF EXIST %1.OLD DEL %1.OLD
IF EXIST %1.EXE REN %1.EXE %1.OLD
PATH=C:\PCDOS;C:\DRDOS;C:\TOOLS;C:\MASM\BIN;C:\MASM\BINR;
C:\MASM\BIN\MASM /X /Z %1.ASM,%1.OBJ,NUL.LST,NUL.CRF > NUL
ECHO Assembling: %1.ASM
ECHO.
ECHO Microsoft (R) Segmented Executable Linker Version 5.31.009 Jul 13 1992
ECHO Copyright (C) Microsoft Corp 1984-1992. All rights reserved.
ECHO.
ECHO Linking: %1.OBJ
ECHO.
IF NOT #%2 == # GOTO NOCOMPRESS
:COMPRESS
C:\MASM\LINK /EXEPACK /PACKCODE /DOSSEG %1.OBJ,%1.EXE,NUL.MAP,,NUL.DEF; > NUL
GOTO CONTINUE
:NOCOMPRESS
C:\MASM\LINK /PACKCODE /DOSSEG %1.OBJ,%1.EXE,NUL.MAP,,NUL.DEF; > NUL
ECHO Microsoft (R) Converts .EXE (executable) files to binary format utility
ECHO Copyright (C) Microsoft Corp 1981-1993. All rights reserved.
ECHO.
ECHO Converting: %1.EXE
ECHO.
C:\MASM\EXE2BIN %1.EXE %1.COM > NUL
:CONTINUE
IF EXIST %1.SBR DEL %1.SBR
DEL %1.OBJ
DIR %1.*
GOTO END

:HELP
ECHO.
ECHO Microsoft (R) Macro Assembler Compatibility Driver Version 6.11 Plus
ECHO Copyright (C) Microsoft Corp 1993. All rights reserved.
ECHO.
ECHO Usage:
ECHO MASM { ASM Program source Filename }
ECHO.
GOTO END

:NOFILE
ECHO.
ECHO Microsoft (R) Macro Assembler Compatibility Driver Version 6.11 Plus
ECHO Copyright (C) Microsoft Corp 1993. All rights reserved.
ECHO.
ECHO I''m Sorry, Bad filename or input file not found.
ECHO.
ECHO Usage:
ECHO MASM { ASM Program source Filename }
ECHO.
GOTO END

:END
PATH=C:\PCDOS;C:\DRDOS;C:\NWDOS;C:\DOS;C:\UCDOS;C:\TWAY;C:\TOOLS;C:\AV95;C:\QB45;C:\BC5\BIN;
SET HELPFILES=
SET INCLUDE=
SET ASMEX=
SET INIT=


根據 willsort 朋友的指正,特別修正.

作者: jjjjj162118     时间: 2004-4-21 00:00
高手啊!佩服!
多谢了!!!!!!!!!!!!
-----------------------------------------------------

作者: Tony_luo     时间: 2004-4-23 00:00
写的非常好,谢谢!!!

作者: Kinglion     时间: 2004-4-24 00:00
谢谢夸奖,大家注意了没有,此批处理文件有一个瑕疵。看哪位能看出来。呵呵。
有此问题不能怪我的,因为这个批处理只有我自己使用。上传到论坛来时我忘记将相关的问题改过来了。

今天才发现。

作者: 王明     时间: 2004-4-26 00:00
写的非常好

作者: willsort     时间: 2004-4-26 00:00
Re Kinglion:

一个很中规中矩的批处理,不过正如你所说,因为仅供个人使用,所以存在一些本地化设置问题,需要改动的地方较多。这样的程序,示例则可,应用则免。

另外,有个问题与你商榷,“汇编语言需要编译以后才能运行”吗?姑且不论汇编语言与汇编代码的区分,仅就编译一词来说,似乎是高级语言产生后才有的术语,将此术语用于低级语言是否恰当,是否改为汇编更为恰当一些。当然 MASM 本身存在一个类似于高级语言编译的过程,但这是因为 MASM 并非纯粹的汇编语言,而是一种宏汇编语言,它所支持的代码中包含的宏指令和伪指令需要这个过程的存在。另外一个常用的汇编指令环境 DEBUG ,就从侧面验证了这个问题。其中的汇编子命令 -A 支持 8086/80286 汇编指令集,它处理汇编指令的过程是类似于高级语言“解释”过程的“汇编”,而并非“编译”。

作者: Kinglion     时间: 2004-4-27 00:00
To willsort:
你說的對,我的一些言詡的確有很多值得商酌的地方,謝謝你的指正.希望能和你多多的進行交流才好.

作者: 挑战者     时间: 2004-5-9 00:00
你们 的水平真的高呀
我对这方面不懂,之前也没有学过这些了,现在才发现这个网站,所以以后就跟着各位学学,行吗?
电脑我还是门汉呀,请给我一点支持。
谢谢大家啦