FORMAT/format/muldiv.asm
Anatoliy Belyanskiy 6e9ce03009 1. Правильная генерация серийного номера по доке от M$
2. Исправление максимального размера раздела для FAT 16
3. Мелкие правки
2026-01-27 22:28:53 +10:00

52 lines
1020 B
NASM
Executable File
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

;-------------------------------------------------------------------------------
; DE = HLDE/BC, HL = HLDE%BC
;1456t
div32:
ld a,10h
.div321: sla e
rl d
adc hl,hl
jr c, .div322
sbc hl,bc
jr nc, .div323
add hl,bc
dec a
jr nz, .div321
ret
.div322: ccf
sbc hl,bc
.div323: inc de
dec a
jr nz, .div321
ret
;-------------------------------------------------------------------------------
;hlde=hlde/512 ;bc=Žáâ âŽŞ
div512: ld c,e ;ŹŤ ¤č¨Ľ 8 Ą¨â Žáâ âŞ 
ld b,0
ld e,d
ld d,l
ld l,h
ld h,b ;ᤢ¨­ăŤ¨ ¤ĽŤ¨âĽŤě ­  8 Ą¨â ˘Żŕ ˘Ž
srl l ;¨ Ľéń ­  1
rr d
rr e
rl b
ret
;-------------------------------------------------------------------------------
;====================================
; 16 bit multiply
;====================================
;mul16: ld hl,0
;mul_hlbc_de: ld a,b
; ld b,0x11
; jr .mul16_3
;.mul16_1: jr nc,.mul16_2
; add hl,de
;.mul16_2: rr h
; rr l
;.mul16_3: rra
; rr c
; djnz .mul16_1
; ld b,a
; ret