资源描述
单片机原理及其接口技术实验报告
实验六 : 无符号双字节快速乘法子程序
学院:基础与信息工程学院 专业:电子信息工程专业
学号: 姓名: 日期:
一.实验目的:
1、熟悉程序流程图的绘制
2、了解单片机中多字节数的运用方法
3、熟练运用程序分段调试方法
二.实验要求:
1、 已知30H,31H单元存放一个双字节的无符号数,高位在前,低位在后;同时32H,33H单元存放一个双字节的无符号数,高位在前,低位在后。
2、编程实现两个双字节无符号数的乘法,将结果保存在40H开始的单元,且保持高位在前,低位在后的方式。
三.实验流程图及源程序:
ORG 0000H
SJMP MAIN
ORG 0030H
MAIN: MOV SP,#60H
ACALL ABC
SJMP $
ABC: MOV A,31H
MOV B,33H
MUL AB ;低四位相乘 (31H)*(33H)
MOV 43H,A
MOV 42H,B
MOV A,30H
MOV B,33H
MUL AB ;被乘数高四位与乘数低四位相乘(30H)*(33H)
ADD A,42H
MOV 42H,A
MOV A,B
ADDC A,#00H
MOV 41H,A ;以上完成了(30H31H)*(33H)
MOV A,31H
MOV B,32H
MUL AB ;(31H)*(32H)
ADD A,42H
MOV 42H,A
MOV A,B
ADDC A,41H
MOV 41H,A
MOV A,30H
MOV B,32H
MUL AB ;被乘数高四位与乘数高四位相乘(30H)*(32H)
ADD A,41H
MOV 41H,A
MOV A,B
ADDC A,#00H
MOV 40H,A ;以上完成了(30H31H)*(32H)
RET
END
四.心得体会:
1.学会了两个字节的乘法。
2.学会MUL、ADD和ADDC指令的综合运用。
3.再次运用了调用子程序功能,加深了学习。
展开阅读全文