01 сентября 2001

                                         
                                         
      КОНВЕРСИЯ ЧИСЕЛ          
                                         
(С) Pantera                              
                                         
_________________________________________
                                         
Ну вот я решил еще  кое-что вам подарить.
Конечно это не ново, но все таки.        
Это не  что  иное как процедура конверсии
чисел из  символьного  вида  в десятичный
формат. Эту  процедуру  я  использовал  в
CMOS 1.0. А вдруг кому то пригодится ;-).
                                         
                                         
                                         
;процедура активно uспoлюзyет регистр IЧ                      
                                         
        ORG     #8000                    
        JR      STR                      
                                         
ADR     DEFS    2         ;Буфер адреса  
                          ;для STRING    
                                         
STRING  DEFB    "21",#0D  ;Символ     для
                          ;преобразования
                          ;в  dec  формат
                                         
R_STR   DEFS    2         ;Конечный   ре-
                          ;зультат       
                                         
                                         
STR     LD      HL,STRING                
        LD      (ADR),HL  ;адрес в  буфер
        PUSH    IX                       
        CALL    STR_0                    
        LD      (R_STR),IX;В IX результат
        РОР     IX                       
        RET                              
STR_0                                    
        LD      A,(HL)                   
        СР      #0D       ;Проверка    на
        JR      Z,STR_1   ;конец   строки
        INC     HL                       
        JR      STR_0                    
STR_1                                    
        LD      IX,0                     
        DEC     HL                       
        LD      DE,1      ;Проверка на   
        CALL    REG       ;единицы       
        LD      DE,10     ;на десятки    
        CALL    REG                      
        LD      DE,100    ;на сотни      
        CALL    REG                      
        LD      DE,1000   ;на тысячи     
        CALL    REG                      
        LD      DE,10000  ;на десятки    
        CALL    REG       ;тысяч         
        RET                              
REG                                      
        OR      A                        
        LD      ВС,(ADR)                 
        SBC     HL,ВС                    
        PUSH    AF                       
        ADD     HL,ВС                    
        РОР     AF                       
        RET     С                        
        LD      A,(HL)                   
        DEC     HL                       
        SUB     #30                      
        LD      В,A                      
        ADD     IX,DE                    
        DJNZ    $-2                      
        RET                              
                                         
Продолжение следует...         



Other articles:


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Similar articles:
PARADOX version 3 - such as the one and all.
Editorial - miguel: ... title .. title by myself
Spectrum - 20: The sad story of an engineer named Clive Sinclair.

В этот день...   30 April