Anonymní profil lukas – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil lukas – Programujte.comAnonymní profil lukas – Programujte.com

 

Příspěvky odeslané z IP adresy 95.105.197.–

lukas
Assembler › lukas-FRI-soj
25. 1. 2016   #208112

TITLE MASM Template                        (main.asm)

INCLUDE Irvine32.inc
.data


cisla DB ?                ;postupnost cisel

.code
main PROC
    call Clrscr
    mov eax,0                ;vynulovanie
    mov edi,0

    
    mov [cisla + edi],0            ;x0 = 0 
    call Vypis                    ;zavola proceduru na vypis
    
    mov ecx,10                    ;do ecx dam 10 lebo bude vypisovat 10 cisel
    
Cyklus:
    inc edi                        ;zoberem si dalsie xi, najskor teda x1 lebo v edi bude 1 po tomto
    mov al,2                    ;2 lebo budem nasobit dvojkov
    mov bl,[cisla + (edi - 1)]    ;do bl si dam predchadzajuce cislo z postupnosti
        
    mul bl                        ;vynásobím al s bl
    add eax, edi                ;a podla vzorca + i  , kedze i predstavuje edi, pripocitam k cislu 
    
    mov [cisla + edi], al        ;ulozim si cislo na dalsiu poziciu 
    call Vypis                    ;zavolam proceduru na vypis 
    loop Cyklus                    ;opakujem cyklus

    exit
main ENDP

Vypis PROC uses eax                ;procedúra ktorá mi vypíše číslo na obrazovku a pridá medzeru za číslo
    mov al,[cisla + edi]        ;uložím si do al aktuálne číslo ktoré som vytvoril
    add al, '0'                    ;zmením ho na char aby mi vypísalo 0 1 2 3 ... atd
    call WriteChar                ;vypíšem
    mov al, 20h                    ;pridám medzeru
    call WriteChar                ;vypíšem ju
    ret                            ;vrátim sa s5 kde som skončil
Vypis ENDP

END main

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý