请编制程序,其功能是:求I×J矩阵的转置矩阵(矩阵中元素为字节型),并计算转置矩阵的每一行元素之和
请编制程序,其功能是:求I×J矩阵的转置矩阵(矩阵中元素为字节型),并计算转置矩阵的每一行元素之和,然后存放在每一行最后一个字单元中。
例如:
内存中有04H,05H,06H,(第一行)01H,02H,03H(第二行)
结果为 04H,01H,05H,00H,05H,02H,07H,00H,06H,03H,09H,00H
部分程序已给出,其中原始数据由过程LOAD从文件1NPUT1.DAT中读入SOURCE开始的内存单元中。运算结果要求从RESULT开始存放,由过程SAVE保存到文件OUTPUT1.DAT中。
请填空BEGIN和END之间已经给出的一段源程序使其完整,需填空处已经用横线标出,每个空白一般只需要填一条指令或指令的一部分(指令助记符或操作数),也可以填入功能相当的多条指令,或删去BEGIN和END之间原有的代码并自行编程来完成所要求的功能。对程序必须进行汇编,并与IO.OBJ链接产生可执行文件,最终运行程序产生结果。调试中若发现整个程序中存在错误之处,请加以修改。
试题程序:
(1)ADCCH,0 (2)CMPDX,I (3)ADDDI,2 (4)INC BX (5)LPJ 解析:此程序要实现的功能是:先求I×J矩阵的转置矩阵(矩阵中元素为字节型),再计算转置矩阵的每一行元素之和,然后存放在每一行最后一个字单元中。
先给N赋值为30,I赋值为3,J赋值为10。
程序的数据段中定义了四个字节型变量:原始数据区SOURCE、结果数据区RESULT、原始数据文件名NAME0、结果数据文件名NAME1;一个字型变量:SRC。数据段下面是堆栈段。堆栈段定义了一个256个字节的堆栈区。最后是代码段,告诉汇编程序,代码段、数据段和堆栈段分别属于段寄存器CS、 DS、SS。
将原始数据的偏移地址装入到SI中,结果数据存放的偏移地址装入到DI中。BX赋值为1,表示第一列。
LPJ段,先给累加和CX赋初值为0,DX赋值为1,表示第一行。
LPI段是要完成矩阵的转置,并且求和的功能。先将SI中内容即原始数据送AL中。再将CL与AL相加,加法结果可能产生进位,即CF=1,将进位放在DH中。所以第(1)空填写"ADCCH,0"。接着用STOS指令将第一行第一列的元素AL存入到DI中。SI地址加10,准备取第二行的元素。同时DX加1,将DX与I做比较,若DX小于等于I,则说明还有若干行的元素没处理完,转向LPI段;否则DX大于I时,说明I行所有的元素都已经处理完毕了。所以第(3)空填写"CMP DX,I"。接着将DI地址加2。因为除了将第一列的所有元素存放到DI中外,还存放了这些元素之和,并且和是占一个字的,即两个字节。所以第(3)空填写"ADD DI,2"。然后将表示列的BX加1,再将BX与J做比较,若BX小于等于J,说明还有若干列的元素没处理完,转向LPJ段;否则,BX大于J时,说明J列所有的元素都已经处理完毕了。所以,第(4)空填写"INCBX",空第(5)空填写"LPJ"。这样就完成了矩阵的转置和每一行元素的求和的功能。
初三一元二次方程解决问题具体看问题补充用肠胃100cm的金属丝制作一个矩形框子各边多长时,框子的面积 数学 2020-03-31 …
如图所示,把矩形ABCD对折,折痕为MN,矩形DMNC与矩形ABCD相似,已知AB=4.1,求AD 数学 2020-05-16 …
若一个矩形的宽与长的比等于黄金比,则称这个矩形为黄金矩形.如图,矩形ABCD是黄金矩形,在它的内部 数学 2020-05-20 …
在下列关于探索性调查的表述中,( )是错误的。A.探索性调查是为制订正式调查的调查方案所进行的 财会类考试 2020-05-21 …
访问控制矩阵(AccessControlMatrix)是最初实现访问控制机制的概念模型,以二维矩阵规 计算机类考试 2020-05-31 …
如图(1),是一面矩形彩旗完全展开时的尺寸图(单位:cm).其中矩形ABCD是由双层白布缝制的穿旗 数学 2020-07-06 …
图(1)是一面矩形彩旗完全展平时(单位:cm),其中矩形ABCD是由白布缝制的穿旗杆用的旗裤,阴影 数学 2020-07-06 …
图①是一面矩形彩旗完全展平时的尺寸图(单位:cm)。其中矩形ABCD是由双层白布缝制的穿旗杆用的旗 数学 2020-07-06 …
图①是一面矩形彩旗完全展平时的尺寸图(单位:cm),其中矩形ABCD是由双层白布缝制的穿旗杆用的旗 数学 2020-07-06 …
初二数学问题图①是一面矩形彩旗完全展平时的尺寸图(单位:cm).其中矩形ABCD是由双层白布缝制的 其他 2020-07-06 …