第7章子程序设计精要.ppt

第7章子程序设计精要

矩阵的乘法:A=a﹙m,n﹚和B=b﹙n,m﹚,其结果矩阵为C=c﹙m,m﹚。其元素c﹙i,j﹚为A的第i行向量与B的第j列向量的内积。 设计思路: (1) 实现矩阵乘法需要三重循环。 (2) 采用主程序main负责最外层循环,控制A矩阵的行;子程序 subr1用双重循环完成A矩阵的一行与B矩阵所有列的乘加。 (3) 设置p单元为A矩阵每行的首地址,p以4为间隔增加。将p入 栈传参,子程序从堆栈中读取p→bx。由于栈指针sp要改 变,因此用bp作为取参的指针;p在当前栈指针+4的堆栈 单元中。 (4) 用bx、si、di寄存器作为三个矩阵A、B、C的下标;bx以1 为间距增加,si 以3为间距增加,di以1为间距增加。 示例7-5 用子程序编程实现两个矩阵的乘法C=A×B。 程序如下: ; 7-5.asm 堆栈传参。实现两个矩阵的乘法c=a*b data segment a db 1,1,1,1 db 2,2,2,2 db 3,3,3,3 b db 1,1,1 db 2,2,2 db 3,3,3 db 4,4,4 m dw 3 ;A矩阵3行4列 n dw 4 ;B矩阵4

文档评论(0)

1亿VIP精品文档

相关文档