?? divisioninteger.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 + -