;; david vajda ;; div command bitwise ;; 06/25/2026 .include "m8def.inc" .equ DIVIDEND = 56 .equ DIVISOR = 7 ldi r16, HIGH (RAMEND) out SPH, r16 ldi r16, LOW (RAMEND) out SPL, r16 ldi r16, 0xff out DDRD, r16 ldi r17, DIVIDEND ldi r19, DIVISOR ldi r21, 0x00 .def dividendr = r17 .def divisorr = r19 .def submaskr = r21 .def dividendsubmaskr = r18 .def quotientr = r23 .def dividendsubmasksub0growingr = r24 prerun001: sbrc dividendr, 7 rjmp prerun1end lsl dividendr lsl submaskr ori submaskr, 0b00000001 rjmp prerun001 prerun1end: ldi r16, 0x00 ldi quotientr, 0x00 div000: and dividendsubmaskr, submaskr cp dividendsubmaskr, divisorr brlt div001 ori quotientr, 0b00000001 rjmp div002 div001: ori quotientr, 0b00000000 div002: lsr submaskr lsr divisorr rjmp div000 end: rjmp end