实验3 顺序结构程序实验
3.1 实验类型
实验类型:验证型 实验学时:2学时
3.2 实验目的
1.学习数据传达指令和算术运算指令的用法;
2.熟练掌握DEBUG的使用方法;
3.能够编写简单的汇编语言程序,并上机调试。
3.3 实验题目
1.从键盘上输入0一9之间的任意一个数字,计算其平方值,并将结果在屏幕上显示出来。 例如:从馒盘输入5,则屏幕显示结果应为19H(或25)。
2.从键盘上接收两个一位十六进制数,求其乘积,并将结果在屏幕上显示出来。
3.3 实验要求
1.仔细阅读汇编语言教材相关内容;
2.熟练掌握DEBUG中的D、E、U、T命令;
3.掌握在DEBUG中如何找到数据段段基址的方法;
4.掌握单步跟踪程序执行的方法;
5.掌握键盘输入字符、显示字符的系统调用使用方法:
6.初步了解十进制数字与其对应的ASCIII码之间的相互转换方法;
7.初步了解十六进制数字与其对应的ASCII码之间的相互转换方法
3.4 实验报告
1.总结DEBUG中E、D、T、U命令的功能;
2.写出程序清单,并记录执行结果;
3.说明十六进制数转换为ASCII码的方法;
4.说明0-99之间的二进制数转换为十进制数的ASCI[码的方法。
3.5 参考程序
从键盘上接收两个一位十六进制数据,求其积,并以十进制形式显示出来。
DSEG SEGMENT
TAB1 DB 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
DB 7 DUP(0) 0AH, 0BH, 0CH, 0DH, 0EH, 0FH
SUM DB 0
DSEG ENDS
DSEG ENDS
CSEG SEGMENT
ASSUME CS: CSEG, DS: DSEG
START: MOV AX, DSEG
MOV DS, AX
MOV BX, OFFSET TAB1
MOV AH, 01H ;接受第一个数据
INT 21H
SUB AL, 30H
XLAT
MOV DL, AL
MOV AH, 01H ;接受第二个数据
INT 21H
SUB AL, 30H
XLAT ;转换为十六进制数
ADD AL, DL ;求两数之和
XOR AH, AH
MOV CH, 10
DIV CH ;商为十位数字,余数为个位数字
ADD AL, 30H ;将十位数字转换为ASCII码
MOV CH, AH ;保存个位数字
MOV DL, AL
MOV AH, 02H ;显示十位数字
INT 21H
MOV DL, CH
ADD DL, 30H ;将个位数字转换为ASCII码
MOV AH, 02H ;显示个位数字
INT 21H
MOV AH, 4CH
INT 21H
CSEG ENDS
END START