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:
Entry - Heavy hardships of the coming summer.
Inferno - Errors in the previous numbers.
Exchange of experience - on how to operate in the assembly with the long numbers of type Long.
Spectrum Game room - Answers to questions: "What is the most popular hero?" What game was the first conversion on the Spectrum? "," What games were the first in its genre? "" What game is the first time was with the music? "," Kakaya game was first released for the Spectrum ZX? " etc.

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