当前位置:首页 > 微机原理及接口技术实验报告
MOV AX,BX MOV AX,0304H MOV AX,[0304H] MOV AX,[BX] MOV AX,0001[BX] MOV AX,[BX][SI]
MOV AX,0001[BX][SI]
实验二 简单程序设计
一、实验目的:
1. 进一步熟悉DEBUG常用命令及使用
2. 掌握编写汇编语言源程序的基本方法和基本框架
3. 学习设计顺序结构程序,学会使用DEBUG命令调试程序和查看结果。
二、实验内容:
1. 开机后,解压clab文件,打开clab.exe,然后进入MASM子目录。 2. 在MASM子目录下进入EDIT编辑环境,编写汇编语言源程序。 3. 源程序编写完后,保存源程序
4. 在NASM子目录中利用MASM.EXE汇编程序对源程序进行汇编和编译。当源程序中无
语法错误时,则在当前工作目录下自动生成一个.OBJ文件,即目标代码文件。 5. 若源程序有语法错误时,会出现错误提示信息。例如: ×× Warning errors(警告错误) ×× Severe errors(严重错误)
若存在严重错误时,则无法生成.OBJ文件,需回到编辑状态下修改源程序,直到错误数为零为止。
6.当源程序编译通过后,在MASM目录下,我们利用连接程序LINK.EXE对一个或多个目标文件进行编译连接,生成可执行文件(*.EXE)
7.最后利用DEBUG命令对汇编程序进行调试并查看结果。
编辑程序 编辑 汇编程序 汇编 连接程序 连接 手工编写的源程序 汇编语言源文件(.asm) 机器语言目标文件(.obj) 机器语言执行文件(.exe)
8.编程:求两个数的平均值。这两个数分别方程在X单元和Y单元中,而平均值放在Z单元中。即Z=(X+Y)/2 参考程序如下:
DATA SEGMENT X DB 2 Y DB 6 Z DB ? DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA MOV DS,AX MOV AL,X MOV AH,0 ADD AL,Y ADC AH,0 MOV BL,2 DIV BL MOV Z,AL MOV AH,4CH INT 21H CODE ENDS END START
9.输入下面源程序,并对程序进行汇编、连接、调试并说明程序的功能。
DATA SEGMENT NUMBER DW 0168H DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA
ORG 0100H START: MOV AX,DATA MOV DS,AX MOV DX,0 MOV BX,0001H MOV DI,8000H MOV SI,0 MOV AX,NUMBER MOV CX,16
NEXT: TEST AX,BX JZ CONTINUE OR DX,DI INC SI CONTINUE: ROL BX,1 ROR DI,1 LOOP NEXT MOV AH,4CH INT 21H CODE ENDS END START
三、实验习题
1. 编写程序:求1+2+3+??+100的和 DATA SEGMENT
RESULT DW ?;存放和 DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX
MOV AX,1;从1开始加
MOV RESULT,0;和的初值赋0 MOV CX,100;循环100次
NEXT:ADD RESULT,AX;每次向和中累加AX INC AX;然后AX加1 LOOP NEXT MOV BX,RESULT
共分享92篇相关文档