dma1.sa

来自「一些实验程序」· SA 代码 · 共 39 行

SA
39
字号
; DMA

                                       .def              _transfer
_transfer                      .cproc          cptr0, cptr1
                                       .reg              ctrl, x
                                       .reg              dmem_src, dmem_dst,count

                                       MV               cptr0, dmem_src
                                       MV               cptr1, dmem_dst
                                       MVK            0ah,count
                                       MVKLH       1,count

stop_dma:                   MVK             0, ctrl
                                      MVKLH       184h, ctrl
                                      MVK            0, x
                                      STW             x, *ctrl 
                                      STW             x, *+ctrl[2]

write_src_addr:         STW             dmem_src, *+ctrl[4]

write_dst_addr:        STW             dmem_dst, *+ctrl[6]

write_xfr_count:       STW             count, *+ctrl[8]
                                      STW             count, *+ctrl[10] 

start_dma:                 MVK             151h, x
                                     MVKLH       100h, x
                                     STW             x, *ctrl

loop:
                                     LDW             *ctrl, x
                                     AND              x, 0ch, x
                              [x]  B                    loop
                                       
stop_again_dma:      MVK             0, x
                                     STW              x, *ctrl

                                     .endproc
                     

⌨️ 快捷键说明

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