实验一 系统认识实验
1.实验设备
硬件:PC计算机一台;软件,汇编软件
2.实验目的
1.熟悉汇编语言程序设计方法; 2. 熟悉汇编程序调试过程;
3. 掌握使用数据传送、运算类、转移等指令编程及调试方法。
4..掌握顺序结构、分支结构、循环结构和子程序调用的编程方法。
3.实验及实验报告要求
①.编程、调试、运行、检查结果,并记录,
要求:对程序反复输入几组数据,并运行程序,观察记录结果。
② 实验报告要求
实验报告中应包含实验内容、源程序、实验步骤、运行结果、分析结果是否正确及存在的问题。
4.实验过程及结果
1-1. 从3500H内存单元开始建立0~15共16个数据(建立的数据为00H,01H~09H.0AH~0FH)。并
运行之,检查记录结果。 (1)实验源程序 DATAS ENDS CODES SEGMENT
ASSUME CS:CODES,DS:DATAS START:
MOV AX,DATAS MOV DS,AX MOV DI,3500H MOV CX,16 MOV AH,00H
SAHF;此处输入代码段代码 MOV AL,00H
A1:MOV [DI],AL INC DI INC AL LOOP A1 CODES ENDS
END START
(2)实验结果与分析
反汇编后,显示内存装入的机器指令用汇编指令表示如下:
程序结束后,使用D 13E7:3500 ↙查看13E7:3500H单元开始的内存中的数据如下图所示:
图中直线所标部分为从3500H内存单元开始建立的0~15共16个数据,与程序一致。
1-2. 如果建立的数据为BCD码表示的十进制数据(建立的数据应为00H,01H~09H,10H~15H),应
如何修改上述程序. 并运行之,检查记录结果。 (1)实验源程序如下: DATAS SEGMENT ORG 3500
MEM1 DB 16 DUP(?);此处输入数据段代码
DATAS ENDS CODES SEGMENT
ASSUME CS:CODES,DS:DATAS START:
MOV AX,DATAS MOV DS,AX MOV DI,3500H MOV CX,16 MOV AH,00H
SAHF;此处输入代码段代码 MOV AL,00H A1:ADD AL,00H DAA
MOV [DI],AL INC DI INC AL LOOP A1 CODES ENDS
END START
(2)实验结果与分析
反汇编后,显示内存装入的机器指令用汇编指令表示如下:
程序结束后,使用D 13E7:3500 ↙查看13E7:3500H单元开始的内存中的数据如下图所示:
图中方框内部分为从3500H内存单元开始建立的BCD码表示的十进制数据,与程序一致。
1-3.编程完成1+2+3+4+5+6+7+8+9运算。
(1)实验源程序如下: DATAS SEGMENT ORG 3500H
MEM1 DB 2 DUP(?);此处输入数据段代码 DATAS ENDS CODES SEGMENT
ASSUME CS:CODES,DS:DATAS START:
MOV AX,DATAS MOV DS,AX MOV DI,3500H MOV AL,0 MOV BL,1 MOV CX,9 A1:ADD AL,BL INC BL LOOP A1 MOV [DI],AL MOV AH,4CH INT 21H CODES ENDS
END START
(2)实验结果与分析
反汇编后,显示内存装入的机器指令用汇编指令表示如下:
运行程序0000 0017的结果为下图方框中AX=132D,相加结果为:2D
在内存中显示结果为:
1-4.编程完成1+2+3+4+5+6+7+8+~+100运算。
(1)实验源程序如下: DATAS SEGMENT ORG 3500H
MEM1 DB 10 DUP(?);此处输入数据段代码 DATAS ENDS CODES SEGMENT
ASSUME CS:CODES,DS:DATAS START:
MOV AX,DATAS MOV DS,AX MOV DI,3500H MOV AX,0 MOV BX,1 MOV CX,100 A1:ADD AX,BX INC BX LOOP A1 MOV [DI],AX MOV AH,4CH INT 21H CODES ENDS
END START
(2)实验结果与分析
反汇编后,显示内存装入的机器指令用汇编指令表示如下: