8600 ;RUTIN BHEX 8601 ; OMVANDLAR ETT BCD KODAT TAL P] 8602 ; 4 HELTALS-SIFFROR OCH 2 DECIMALTALS- 8603 ; SIFFROR TILL MOTSVARANDE HEXADECIMALA 8604 ; TAL MED 16 BIT HELTALSDEL OCH 8 BIT 8605 ; DECIMALTALSDEL 8606 ; 8607 ; IN VARIABEL BCD 3 BYTE 8608 ; UT HEX 3 BYTE 8609 ; ANROPAR DIV 8610 ; MULT 8611 BCD EQU 303CH 8612 HEX EQU 303FH 8613 DVD EQU 3024H 8614 MPR EQU 3018H 8615 MULT EQU 2E4EH 8616 DIV EQU 2F8FH 8617 ; 8618 ORG 2D7FH 8619 BHEX PUSH AF 8620 PUSH BC 8621 PUSH DE 8622 PUSH HL 8623 EXX 8624 PUSH DE 8625 PUSH HL 8626 EXX 8627 PUSH IX 8628 LD HL,0H 8629 EXX 8630 LD HL,0H 8631 EXX 8632 ; 8633 LD A,(BCD) 8634 AND 0FH 8635 LD BC,64H 8636 LD IX,DVD 8637 CALL BSUB ; BCD1 8638 ; 8639 LD A,(BCD) 8640 AND 0F0H 8641 RRA 8642 RRA 8643 RRA 8644 RRA 8645 LD BC,0AH 8646 LD IX,DVD 8647 CALL BSUB ; BCD2 8648 ; 8649 LD A,(BCD+1) 8650 AND 0FH 8651 LD BC,1H 8652 LD IX,MPR 8653 CALL BSUB ; BCD3 8654 ; 8655 LD A,(BCD+1) 8656 AND 0F0H 8657 RRA 8658 RRA 8659 RRA 8660 RRA 8661 LD BC,0AH 8662 LD IX,MPR 8663 CALL BSUB ; BCD4 8664 ; 8665 LD A,(BCD+2) 8666 AND 0FH 8667 LD BC,64H 8668 LD IX,MPR 8669 CALL BSUB ; BCD5 8670 ; 8671 LD A,(BCD+2) 8672 AND 0F0H 8673 RRA 8674 RRA 8675 RRA 8676 RRA 8677 LD BC,3E8H 8678 LD IX,MPR 8679 CALL BSUB ; BCD6 8680 ; 8681 LD A,H 8682 LD (HEX),A 8683 EXX 8684 LD (HEX+1),HL 8685 EXX 8686 POP IX 8687 EXX 8688 POP HL 8689 POP DE 8690 EXX 8691 POP HL 8692 POP DE 8693 POP BC 8694 POP AF 8695 RET 8696 ; 8697 ; 8698 BSUB LD (IX),0H 8699 LD (IX+1),0H 8700 LD (IX+2),A 8701 LD (IX+3),0H ; MPR ELLER DVD SATT 8702 LD (IX+4),0H 8703 LD (IX+5),0H 8704 LD (IX+6),C 8705 LD (IX+7),B ; MPD ELLER DVS SATT 8706 ; 8707 LD BC,MPR 8708 LD A,C 8709 PUSH IX 8710 POP BC 8711 CP C 8712 JR Z,BMULT 8713 CALL DIV 8714 JR B1 8715 BMULT CALL MULT 8716 ; 8717 B1 LD E,(IX+8) 8718 LD D,(IX+9) 8719 EXX 8720 LD E,(IX+0AH) 8721 LD D,(IX+0BH) 8722 EXX 8723 ADD HL,DE 8724 EXX 8725 ADC HL,DE 8726 EXX 8727 RET