Converting diskette LBA to CHS
Put LBA address in AX and get your results in CL, CH and DH.
1 2 ;-----------------------------------------------------------------------------; 3 ; DISKETTE_LBA_TO_CHS(AX LBA) CL Head, CH Cylinder, DH Sector ; 4 ;-----------------------------------------------------------------------------; 5 diskette_lba_to_chs: 6 xor dx, dx 7 mov bx, 18 8 div bx 9 push dx ; = Stack(1) 10 mov dx, ax 11 shr ax, 2 12 mov cl, al 13 mov ch, dl 14 pop dx ; = Stack(0) 15 inc dl 16 mov dh, dl 17 ret