《微机原理与接口技术》课程实验报告
一、实验目的
1.掌握循环程序设计的方法
2.掌握正确分配与使用寄存器。
二、实验环境
1. 硬件环境:微型计算机一台。
2. 软件环境:装有MASM 5.0,DEBUG,LINK,EDIT等应用程序。
三、实验重点及难点
循环程序的结构及程序设计方法。
四、实验内容
假设有一组数据:5,-4,0,3,100,-51,请编一程序,判断:每个数是大于0,等于0,还是小于0;并输出其判断结果Y。
1, 当 X >0
Y= 0, 当 X =0
-1,当 X <0
五、实验分析和实验体会
(1)实验分析:
程序代码:
DATA SEGMENT
X DB 5,-4,0,3,100,-51
NUM EQU $-X
Y DB 6 DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE;DS:DATA
START:MOV AX,DATA
MOV DS,AX
LEA SI,X
LEA DI,Y
MOV CX,NUM
BJ: MOV AL,[SI]
CMP AL,0
JGE BIGE
MOV BL,-1
JMP NEXT
BIGE:JE ZERO
MOV BL,1
JMP NEXT
ZERO:MOV BL,0
NEXT:MOV [DI],BL
INC SI
INC DI
LOOP BJ
MOV AX,4CH
INT 21H
CODE ENDS
END START
运行过程:
(2)实验体会:
通过本次实验使我掌握循环程序设计的方法,同时了解了循环指令的使用方法;掌握正确分配与使用寄存器,通过对寄存器的合理分配和使用,可以使我们的程序更加简洁易懂。
第二篇:汇编实验报告--循环程序的设计
电子信息工程学系实验报告 ——适用于计算机课程
课程名称: 汇编语言 实验项目名称:循环程序的设计 实验时间: 2013.05.27班级:计算机111 姓名:O(∩_∩)O哈哈~ 学号:嘿嘿~~~~(>_<)~~~~
实验目的:
掌握程序设计中的顺序结构和循环结构。
实验环境:
Windows 7,Dos,轻松汇编
实验内容及过程:
编程实现:
(1) 已知数据段定义如下:
data segment
x db 12
array db 1,5,8,16,18,21
data ends
把数据x插入到数组array中。
程序框图:
(2) 已知数据段定义如下:
data segment
x db 16
array db 1,5,8,16,18,21
data ends
从数组array中删除掉值等于x的元素。
程序框图:
(3) 已知数据段定义如下:
data segment
order_number db ?
x db 8
array db 1,5,8,16,18,21
data ends
找出x在数组array中的位置
程序框图:
实验结果及分析:
1.插入:
2.删除:
3.查找:
把找到的位置放在CX寄存器中:
实验心得:
通过此次实验,初步掌握了程序设计中的顺序结构和循环结构,对如何通过DEBUG命令实现汇编程序的调试有了更深的理解。