
一、实验目的
1、掌握条件分支的汇编程序设计方法。
2、熟悉汇编软件,掌握汇编程序的编写和调试方法。
3、掌握数据和字符的显示方法。
二、实验原理
在数据段上存放两个8位的非压缩BCD码数据X、Y,如下表:
| X | 09H |
| Y | 08H |
| CARRY | |
| RESULT |
提示,字符输出程序:
MOV DL, “待输出的ASCII码”
MOV AH, 2
INT 21H
如何取数据:
MOV SI, OFFSET X
MOV AL, [SI]
三、实验内容
代码内容如下:
DATAS SEGMENT
X DB 09H
Y DB 08H
L DB 00H
CARRY DB ?
RESULT DB 10,13,'8+9=',?,?,10,13,10,'CARRY=',?,?,?,'$'
DATAS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS;,SS:STACKS
START:
MOV AX,DATAS;
MOV DS,AX;
LEA SI,X;
LEA DI,Y;
MOV AL,[SI];
ADC AL,[DI];
MOV RESULT, AL;
JC DONE
MOV [CARRY],30H
JMP SHOW
DONE:MOV [CARRY],31H
SHOW:
MOV BH,[CARRY]
MOV [RESULT+17],BH
MOV AL,[RESULT];
AND AL,0FH;
ADD AL,36H;
MOV [RESULT+7],AL;
MOV AL,[RESULT];
MOV CL,4;
SHR AL,CL;
ADD AL, 30H;
MOV [RESULT+6],AL;
LEA DX,RESULT;
MOV AH,09H
INT 21H;
MOV AH,4CH
INT 21H
CODES ENDS
END START
运行结果:
四、实验总结
本人之前学习过51单片机相关知识,并懂得用C语言写一些程序。对于汇编语言只能看懂一些。通过对微机的学习、以及本次试验课程,我熟悉了汇编软件,掌握汇编程序的编写和调试方法;掌握了条件分支的汇编程序设计方法;掌握数据、字符和字符串的显示方法和学会了编写一些简单的程序,使我获益菲浅。但感觉还是C语言好用,希望通过深入学习发现汇编语言的魅力,以及深入了解微机这门课程的意义。
