【实验目的】
1.掌握Win10使用DosBox实现虚拟Dos环境下masm5的编译与运行
2.掌握Windows的基本Masm for Windows集成实验环境2015的使用
【实验要求】
1.提前安装DosBox0.74与Masm for Windows集成实验环境2015,进行调试。
2.运行Hello World程序,分别在dos、windows环境下编译、运行,掌握dos基本指令与Windows下程序运行中数据在寄存器和内存中存储的转变
【实验具体内容】
1.在dos下编译执行hw.asm使屏幕上显示Hello World
2.在Windows下编译执行hw.asm,学习Debug的基本命令,了解寄存器的状态和单步执行程序时寄存器的存储过程。
【DOS 环境】
实验过程截图并对实验进行说明和分析:
在DOSBox 0.74 Options文件中添加命令mount c: e:masm5 c:后打开DOSBox 0.74的初始界面:
虚拟环境下C盘目录:
执行可执行文件masm.exe后生成hw.obj文件:
生成hw.obj文件后C盘目录:
执行link hw.obj后C盘目录:
最终结果:
编译执行后masm5文件新增hw.obj与hw.exe
【Windows环境】
实验过程截图并对实验进行说明和分析:
编译执行结果:
Debug调试过程:
Debug程序中的t命令执行一条机器指令,经过多次t命令,程序依次执行
MOV DS,AX
LEA DX,[0000]
MOV AH,09
INT 21
STI
??? [BX+SI]
【实验心得】
1.由于资料充分,实验过程较为顺利。
2.DOS环境对编译的要求略为宽松,例如:生成hw.obj文件,可以采用c:>masm hw.asm加三次Enter,也可以采用c:>masm与Source filename [.ASM]:hw.asm加四次Enter。生成hw.exe文件同理。甚至输入hw或hw.asmhw.obj亦没有分别。
3.掌握了CPU所理解的内存单元地址,8086PC机CPU是16位,但地址总线有20位,故CPU采用“段地址*16+偏移地址”合成物理地址,表示方法可采用5位十六进制数或段地址:偏移地址的形式,例10001H和1000:0001均表示10001内存单元。
4.在进行试验1.2过程中发现实验1.1中用过的命令记不起来,故在此整理一遍:
cd..——返回上一级
cd/——返回根目录
dir——查看当前目录下的文件