Dseg at 8 S: ds 2 Cseg at 0 Jmp start start: clr a Mov r0,#8 Mov r1,P1 //in r1 - dividend Mov r2,P2 //in r2 - divider loop: clr c Mov b,r1 Mov a,r2 Rr a //r2 div on 2 for comparing Anl a,#0x7f Xch a,b Subb a,b Jc belowZero aboveZero: // r1*2 > r2 clr a Mov a,r1 Mov b,r2 Subb a,b Mov b,r1 Add a,b Mov r1,a clr a Mov a,r3 Rl a Inc a Mov r3,a jmp finish belowZero: //r1*2 < r2 Mov a,r1 Rl a Anl a,#0xfe Mov r1,a Mov a,r3 Rl a Mov r3,a finish: Djnz r0,loop Mov P3,r3 jmp $ end