Assembler äëÿ íà÷èíàþùèõ


         

Ñòåïåíè äåñÿòè - ÷àñòü 4


 
                  Ôèã. 7.23 (à) (íà÷àëî)
            0066  9B DF 06 0058 R              FILD    THOUSAND        ; Çàãðóçêà 10**3 â ñòåê ñîïðîöåññîðà 8087
            006B  9B D9 E8                     FLD1              ; Çàãðóçêà íà÷àëüíîãî çíà÷åíèÿ â ñòåê 8087
            006E                   POWER_LOOP:
            006E  9B DC 8E 0000                FMUL    ST(1)           ; Óìíîæåíèå ST(0) íà ST(1)
            0073  9B D9 16 0000 R              FST     POWER_OF_TEN    ; Ñîõðàíåíèå â ïàìÿòè ðåçóëüòàòà
            0078  80 06 0057 R 03              ADD     POWER, 3        ; Óâåëè÷åíèå ïîêàçàòåëÿ ñòåïåíè
            007D  A0 0057 R                    MOV     AL, POWER       ; Âûáîðêà ïîêàçàòåëÿ ñòåïåíè
            0080  8D 1E 0004 R                 LEA     BX, OUTPUT_POWER
            0084  E8 00AC R                    CALL    TRANSLATE
            0087  B9 0004                      MOV     CX, 4
            008A  8D 1E 000B R                 LEA     BX, OUTPUT_STRING
            008E  8D 36 0003 R                 LEA     SI, POWER_OF_TEN+3
            0092  FD                           STD               ; Óñòàíîâêà ïåðåñûëêè ñ óìåíüøåíèåì àäðåñà
            0093                   VALUE_OUTPUT:
 
            0093  AC                           LODSB             ; Âûáîðêà áàéòà ðåçóëüòàòà
            0094  E8 00AC R                    CALL    TRANSLATE       ; Çàíåñåíèå ñèìâîëà â âûâîäèìóþ ñòðîêó
            0097  E2 FA                  LOOP    VALUE_OUTPUT    ; Öèêë ïî âñåì áàéòàì ðåçóëüòàòà
 
            0099  8D 16 0004 R                 LEA     DX, OUTPUT_POWER
            009D  B4 09                  MOV     AH, 9H
            009F  CD 21                  INT     21H
            00A1  80 3E 0057 R 26              CMP     POWER, 38
            00A6  72 C6                  JB      POWER_LOOP
            00A8  9B DE D9                     FCOMPP            ; Óäàëåíèå èç ñòåêà äâóõ ÷èñåë
            00AB  CB                           RET
            00AC                   CALCULATE_POWER ENDP



Ñîäåðæàíèå  Íàçàä  Âïåðåä