當前位置:編程學習大全網 - 編程軟體 - 51單片機匯編語言做16位除法

51單片機匯編語言做16位除法

;雙字節無符號除法程序 (R5R2R3R4/R6R7)=(R2)R3R4 余數R6R7

;入口: R5,R2,R3,R4,R6,R7

;占用資源: ACC,B,F0

;堆棧需求: 4字節

;出口: (R2),R3,R4,R6,R7,OV

NDIV42 : MOV A,R1

PUSH A

MOV B,#00H

NDV421 : MOV A,R2

CLR C

SUBB A,R7

MOV R1,A

MOV A,R5

SUBB A,R6

JC NDV422

MOV R5,A

MOV A,R1

MOV R2,A

INC B

SJMP NDV421

NDV422 : PUSH B

MOV B,#10H

NDV423 : CLR C

MOV A,R4

RLC A

MOV R4,A

MOV A,R3

RLC A

MOV R3,A

MOV A,R2

RLC A

MOV R2,A

XCH A,R5

RLC A

XCH A,R5

MOV F0,C

CLR C

SUBB A,R7

MOV R1,A

MOV A,R5

SUBB A,R6

JB F0,NCV424

JC NDV425

NCV424 : MOV R5,A

MOV A,R1

MOV R2,A

INC R4

NDV425 : DJNZ B,NDV423

POP A

CLR OV

JNZ NDV426

SETB OV

NDV426 : XCH A,R2

MOV R7,A

MOV A,R5

MOV R6,A

POP A

MOV R1,A

RET

  • 上一篇:常州瑞邇德幼兒園私立還是公立
  • 下一篇:雙冒號是什麽意思?
  • copyright 2024編程學習大全網