1.安装masm程序,当然Copy 过来也可以,假设安装路径为D:\masm611\
2.编写一个批处理文件起名为Var.bat,内容为
@echo off
Set Path=D:\masm611\bin;%PATH%
Set Include=D:\masm611\Include;%Include%
Set Lib=D:\masm611\Lib;%Lib%
@echo on
Set Path=D:\masm611\bin;%PATH%
Set Include=D:\masm611\Include;%Include%
Set Lib=D:\masm611\Lib;%Lib%
@echo on
3.编写你的汇编源码文件,保存至D:\masm611\source(如果没有此目录可以自己建立) ,假设保存文件名为Test.asm
4.打开命令提示符或者MS-DOS方式
5.使用DOS 命令进入D:\masm611\source目录
6.在命令提示符中键入 var.bat
7.现在可以使用汇编的编译器和链接器编译链接你的程序了,如Ml test.asm
当然如果你建立了makefile 文件也可以使用 Nmake 来进行编译和链接
8.有些时候命令提示符方式不支持以上操作,那么在第6步作完以后在命令提示符中键入Command再进行第7步即可
DATA SEGMENT X DB 100 DUP(0) ;定义X Y DB 100 DUP(0) ;定义Y Z DB 100 DUP(0),'$' ;定义Z,并以$为结束符 DATA ENDS CODE SEGMENT ;定义代码段 ASSUME CS:CODE,DS:DATA GO:MOV AX,DATA MOV DS,AX MOV CX,20 ;CX赋值为20 MOV SI,10 ;SI赋值为10 X0: MOV AH,01H ;X0段的功能是接收从键盘输入的数字存入X,并在屏幕上显示 INT 21H MOV DL,AL ;将键盘输入的数字存入DL CMP DL,'+' ;比较DL是否为'+'号 JZ X1 ;如果DL为'+',则跳转至X1 MOV X[SI],DL ;如果DL不为'+',则将DL存入X INC SI ;SI+1 LOOP X0 ;CX-1,并且循环执行X0 X1: MOV CX,20 ;CX赋值为20 MOV DI,10 ;DI赋值为10 X2: MOV AH,01H ;X2段的功能是接收从键盘输入的数字存入Y,并在屏幕上显示 INT 21H MOV DL,AL ;将键盘输入的数字存入DL CMP DL,'=' ;比较DL是否为'='号 JZ A0 ;如果DL为'=',则跳转至A0 MOV Y[DI],DL ;如果DL不为'=',则将DL存入Y INC DI ;DI+1 LOOP X2 ;CX-1,并且循环执行X2,直到CX=0 CLC ;CF清零 PUSHF ;CF内容入栈 A0:MOV CX,10 ;CX赋值为10 MOV BX,90 ;BX赋值为90 A1:MOV DL,X[SI-1] ;A1的功能是实现加法运算,将X存入DL MOV AL,Y[DI-1] ;将Y存入AL POPF ;CF出栈 ADC AL,DL ;AL与DL相加并把结果存入AL AAA ;处理进位 PUSHF ;CF入栈 ADD AL,30H ;将AL转成ASCⅡ码 MOV Z[BX],AL ;AL内容存入Z DEC SI ;SI-1 DEC DI ;DI-1 DEC BX ;BX-1 LOOP A1 ;CX-1,并循环执行A1 INC BX ;BX-1 A2: CMP Z[BX],30H ;A2的功能是判断Z的高位是否为0,如果为0,则不显示 JNZ A3 ;如果Z的高位不为0,则跳转至A3 INC BX ;如果Z的高位为0,则BX-1 LOOP A2 ;循环执行A2 A3:LEA DX,Z[BX] ;A3段的功能是显示运算结果Z;将Z地址传送至DX MOV AH,09H ;调用09H显示功能显示Z INT 21H MOV AH,4CH ;退回到DOS INT 21H CODE ENDS END GO