做微机实验的时候,因为win64不兼容,所以需要通过其他方式来完成
一、下载DOSBox
官网:https://sourceforge.net/projects/dosbox/
二、安装
傻瓜式安装,最好不要装在c盘,安装后桌面会出现DOSBox的图标
三、使用
在该环境下新建一个MASM文件夹,名字也可以为其他的,建议为masm
MASM里的文件必须有这四个,新建一个文本文件里边存有汇编语言源程序,将文本文件后缀改为 .asm
打开DOSBox,开始操作
首先执行:
mount c d:\MASM文件路径
其次:c: 回车
①masm 文件名.asm
②link 文件名.obj
③文件名.exe
也可以是(都是在程序正确的情况下)
①masm 文件名.asm;
②文件名.exe
mount c d:\MASM文件路径
这个是必须执行的,c
是虚拟盘,原来没有,这个名称也可以自己起
四、该实验源代码
DATA SEGMENT
INF1 DB "Please input a number(0-65535):$"
IBUF DB 7,0,6 DUP(?)
OBUF DB 6 DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV DX,OFFSET INF1
MOV AH,09H
INT 21H
MOV DX,OFFSET IBUF
MOV AH,0AH
INT 21H
MOV CL,IBUF+1
MOV CH,0
MOV SI,OFFSET IBUF+2
MOV AX,0
AGAIN: MOV DX,10
MUL DX
AND BYTE PTR[SI],0FH
ADD AL,[SI]
ADC AH,0
INC SI
LOOP AGAIN
MOV CX,AX
MOV AX,0
MOV BX,1
LOOP2: ADD AX,BX
INC BX
LOOP LOOP2
MOV BX,OFFSET OBUF+5
MOV BYTE PTR[BX],'$'
MOV CX,0AH
LOOP1: MOV DX,0
DIV CX
ADD DL,30H
DEC BX
MOV [BX],DL
OR AX,AX
JNZ LOOP1
MOV DL,0AH
MOV AH,02H
INT 21H
MOV DX,BX
MOV AH,09H
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START