鱼C论坛

 找回密码
 立即注册
查看: 2900|回复: 1

汇编语言实现矩阵运算(帮忙看看)

[复制链接]
发表于 2019-10-16 05:43:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
如果我要实现3*4的矩阵与4*2的矩阵相乘  最后结果为3*2的矩阵
有什么更简单易懂的写法,谢谢大家
N EQU 3
M EQU 4
P EQU 2
.MODEL small
    .STACK
    .DATA
   
    ARR_A DW  4, -3, 5, 1, 3, -5, 0, 11, -5, 12, 4, -5
    ARR_B DW  -2, 3, 5, -1, 4, 3, 9, -7
    ARR_C DW  6, 23, 68, -63, 41, 20  
    CHECK DW 0
   
    point_i DW 0
    point_j DW 0
    point_i1 DW 0
    point_j1 DW 0
    point_add_cou DW 0
   
    ARR_RES DW 6  DUP(0)
   
    .CODE
    .STARTUP
     
    MOV CX, N
    MOV DI, 0
OUTLOOP:
    PUSH CX
    MOV CX, P
   
MIDLOOP:
    PUSH CX
    MOV CX, M
    MOV BX, 0
   
    MOV AX, point_i1
    MOV DL, M
    MUL DL
    MOV DI, AX
INNERLOOP:
    MOV AX, point_i
    MOV DL, P
    MUL DL  
    ADD AX, point_j
    MOV SI, AX
   
    MOV AX, ARR_A[DI]
    MUL ARR_B[SI]
    ADD BX, AX
   
    INC DI
    INC DI
    INC point_i
    INC point_i   
LOOP INNERLOOP  
    POP CX
    MOV SI, point_add_cou   
    MOV ARR_RES[SI], BX
    INC point_add_cou
    INC point_add_cou
    INC point_j
    INC point_j
    MOV AX, 0
    MOV point_i, AX
LOOP MIDLOOP
   
    POP CX
    MOV AX, 0
    MOV point_j, AX
    INC point_i1
    INC point_i1
LOOP OUTLOOP
         
    MOV CX, 6
    MOV SI, 0
OutputResult:
    MOV AX, ARR_RES[SI]  
    MOV CHECK, AX
    INC SI
    INC SI
LOOP OutputResult
   
   
   
    .EXIT
END
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-10-17 07:51:43 | 显示全部楼层
你这不是intel的语法啊?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-5 16:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表