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

📄 example2.asm

📁 基于dsp5402的一些基本算法的源代码
💻 ASM
字号:
		.text
		.def _c_int00
      .file "example2.asm"
       .title "double division"
       
       .mmregs     
DATA_DP     .usect "filter_vars",0       
STACK		.usect	"stack",60 
_c_int00:
start: st  #80H,ar0    
       st  #0h,ar4  
       st  #100h,ar5
       st  #101h,ar6
       LD     #DATA_DP,DP
       STM    #STACK,SP
       ld #1000,a
       ld #21,b
       stl a,*ar5
       stl b,*ar6
       rsbx tc
       st #0h,*ar3 
       nop      
       bc jump0,agt            ;判断被除数及除数正负
       ssbx tc
       abs a     
       st #1h,ar4
jump0: bc jump1,bgt
       xorm #1h,ar4            ;*ar4!=0,b<0
       abs b
jump1: st #0,*ar1
       dst b,*ar0
       rsbx c16
       ld #-1,b 
       nop                    ;b存商
       dsub *ar0,a
       bc jump5,alt           ;除数大于被除数
jump2: add #1,b
       dsub *ar0,a
       bc jump2,ageq   
       add #1,b
       dadd *ar0,a            ;a存余数    
       bc jump4,ntc          ;tc=0,a>0,余数为正         
                             ;被除数小于零,余为负
       banz jump3,*ar4
       nop
       nop
       b    jump6 
jump3: neg a       ;*ar4!=0,b<0
       neg b                 ;被除数除数异号,商为负
       b jump6
jump4: dst b,*ar1
       ;ld *ar3,b
       bc jump6,bgt          ;被除数除数同号,结束
       dld *ar1,b
       b jump3
jump5: ld *ar5,a
       ld *ar6,b
       ssbx 1,10
jump6: b jump6
.end

⌨️ 快捷键说明

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