⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 matrix.asm

📁 "DIGITAL SIGNAL PROCESSING WITH C AND THE TMS32 0C30"一书的附带程序
💻 ASM
字号:
;MATRIX.ASM-MATRIX MULTIPLICATION IN ASSEMBLY CODE
           .GLOBAL BEGIN
           .DATA               ;ASSEMBLE INTO DATA SECTION
A          .FLOAT  1,2,3,4,5,6,7,8,9 ;VALUES FOR MATRIX A
B          .FLOAT  1,2,3             ;VALUES FOR MATRIX B
A_ADDR     .WORD   A           ;ADDR OF MATRIX A
B_ADDR     .WORD   B           ;ADDR OF MATRIX B
IO_OUT     .WORD   804001H     ;ADDR OF OUTPUT PORT
           .TEXT               ;ASSEMBLE INTO TEXT SECTION
BEGIN      LDI     @A_ADDR,AR0 ;AR0=START ADDR OF A
           LDI     @B_ADDR,AR1 ;AR1=START ADDR OF B
           LDI     @IO_OUT,AR2 ;AR2=OUTPUT PORT ADDR
           LDI     3,R4        ;R4 IS LOOPI COUNTER
LOOPI      LDF     0,R0        ;INITIALIZE R0
           LDI     2,AR4       ;AR4 IS LOOPJ COUNTER
LOOPJ      MPYF    *AR0++,*AR1++,R1  ;A[I,J]*B[J]=R1
           ADDF    R1,R0       ;R0 ACCUMULATES RESULT
           DB      AR4,LOOPJ   ;DEC AR4 & BRANCH TIL AR4<0
           FIX     R0          ;FLOAT TO INTEGER
           STI     R0,*AR2     ;OUTPUT RESULT TO IO_OUT
           LDI     @B_ADDR,AR1 ;RELOAD START ADDR OF B
           SUBI    1,R4        ;DECREMENT R4
           BNZ     LOOPI       ;BRANCH WHILE  R4 <> 0
WAIT       BR      WAIT        ;WAIT INDEFINITELY


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -