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

📄 divisioninteger.asm

📁 32bit有符号整数除以16bit整数。 输入数据为被除数Num和除数Den, 输出数据为商Quot和余数Rem。
💻 ASM
字号:
;********************************************;
;  FileName:     DivisionInteger             ;
;  Author:       hejianlong  	             ;
;  Function:     32bit有符号整数除以16bit整数。
;                输入数据为被除数Num和除数Den,
;                输出数据为商Quot和余数Rem。 ;                
;  Return:       NO                          ;
;********************************************;
       .mmregs
       .text
       .def _DivisionInteger
_DivisionInteger:
 
  ;AMOV  #Num,XAR0    ;指针XARO指向Num。
  ;AMOV  #Den,XAR1    ;指针XAR1指向Den。
  ;AMOV  #Quot,XAR2   ;指针XAR2指向Quot。
  ;AMOV  #Rem,XAR3    ;指针XAR3指向Rem。
  MPYM  *AR0,*AR1,AC0;在AC0中保存实际结果的符号。
  MOV   *AR1,AC1
  ABS   AC1,AC1
  MOV   AC1,*AR3     ;除数绝对值暂存于数据单元Rem中。
  MOV   dbl(*AR0),AC1
  ABS   AC1,AC1
  MOV   AC1,dbl(*AR2);被除数绝对值暂存于数据单元Quot中。
  MOV   *AR2,AC1     ;取出Quot高16位存入AC1_L中。
  RPT   #(15-1)      ;执行第一次16次条件减。
  SUBC  *AR3,AC1,AC1
  SUBC  *AR3,AC1,AC1
  ||MOV #11,AR4      ;指针XAR4指向AC1_L单元。
  MOV   AC1,*AR2+    ;保存商的高16位QuotH。
  MOV   AC1,T0      ;保存商的高16位QuotH。////////////
      
  MOV   *AR2,*AR4    ;取出Quot低16位存入AC1_L中。
  RPT   #(16-1)      ;执行第二次16次条件减。
  SUBC  *AR3,AC1,AC1
  
  
  MOV   AC1,*AR2-    ;保存商的低16位QuotH

⌨️ 快捷键说明

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