?? 多字節除法.asm
字號:
;*********************************
;** 東華理工大學電子與機械工程學院
;** 3 + 1 班
;** 06屆
;** http://www.ecit.edu.cn
;**-------------------------------
;**項目名稱: 多字節除法
;**創 建 人: 張佳平
;**描 述: 實現16進制2~4個字節
; 除以2個字節的計算。但由于程序本身缺
; 陷,除數必須是兩個字節的16進制數。
;*********************************
MOV 30H,#01H ;除數低字節
MOV 31H,#01H ;除數高字節
MOV 32H,#02H ;被除數低字節
MOV 33H,#02H ;被除數次低字節
MOV 34H,#00H ;被除數高字節
MOV 40H,#00H
MOV 41H,#00H
MOV 20H,#00H ;存放余數低字節
MOV 21H,#00H ;存放余數高字節
MOV 22H,#00H ;存放商值
MOV R7,#24
MOV R6,#0
;被除數前面添加與除數位數相等的且均為0的字節
RLEFT: CLR C
MOV A,32H
RLC A
MOV 32H,A
MOV A,33H
RLC A
MOV 33H,A
MOV A,34H
RLC A
MOV 34H,A
MOV A,40H
RLC A
MOV 40H,A
MOV A,41H
RLC A
MOV 41H,A
;用減法比較被除數與除數大小
MOV A,41H
SUBB A,31H
JNC ADD1 ;進位為0,說明被除數大于等于除數,跳轉到商加1程序
MOV A,R6
RL A
MOV R6,A
DJNZ R7,RLEFT
LJMP ENDD
ADD1: MOV R2,41H
CJNE R2,#0,ADD11
LJMP RLEFT
ADD11: MOV 41H,A
MOV A,R6
RL A
MOV R6,A
INC R6
MOV A,40H
SUBB A,30H
JNC LOOP
MOV 40H,A
DEC 41H
DJNZ R7,RLEFT
LJMP ENDD
LOOP: MOV 40H,A
DJNZ R7,RLEFT
LJMP ENDD
ENDD: MOV 22H,R6
MOV 21H,41H
MOV 20H,40H
NOP
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -