Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 2 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 27.04.08
Prihlásený: 16.07.11
Príspevky: 126
Témy: 33
Príspevok NapísalOffline : 29.11.2011 17:50

Ahoj...programujem eratosthenovo sito v nasm no nefunguje to korektne:

Kód:
               bits 16
               %include "rw.asm"
segment code
..start:
               prologue
               
               call Read_Byte ;AL=vstup
               call WriteLn
               mov [j],al ;ulozenie vstupu do datoveho segmentu
               mov cl,al ;pocitadlo pre init
               cmp cl,0
               jz @koniec ;overenie ci bola zadana 0 ked ano koniec programu
               xor ch,ch ;vynulovanie ch
               xor ah,ah
               mov di,POLE ; register DI je nastaveny na adresu pola
               
               xor di,di
               ;inicializacia pola
@init_pole:
               mov [POLE+di],byte 1
               inc di
               loop @init_pole
               
               shr ax,1 ;vydelenie AX 2
               mov [i],al
               call Write_Byte
               call WriteLn
               mov cl,byte 2;nastavenie pocitadla pre cyklus
               ;nulovanie registrov
               xor di,di
               xor si,si
               xor ch,ch
               xor ax,ax
               
               add di,byte 2 ;aby cyklus zacal od 2
               add si, byte 2 ;opat posun pre cyklus
               
@vonkajsi_cyklus:
               cmp [POLE+si],byte 0 ;ked byt je 0 preskoc na dalsi
               jz @posun
               mov ax,si
               call Write_Byte
               mov al,' '
               call Write_Char
               push cx ;ulozenie pocitadla do zasobniku
               mov al,cl ;pre pocitanie nasobkov
@vnoreny_cyklus:
               mul cl ;pocitanie nasobkov i
               mov di,ax;zmnena offsetu na konkretny prvok
               mov [POLE+di],byte 0;prepis prvku nulou
               inc cl
               cmp al,[j] ;podmienka pre ovrenie ukoncenia cyklu
               jbe @vnoreny_cyklus
@posun:
               pop cx;vybe pocitadla zo zasobniku
               inc cl
               mov si,cx
               mov di,cx
               cmp cl,[i]
               jbe @vonkajsi_cyklus
               
               mov al,[j]
               call Write_Byte
               
@koniec            epilogue

segment DATA
POLE resb 256
i resb 1 ;ulozenie hranice
j resb 1; pri nasobeni



Offline

Skúsený užívateľ
Skúsený užívateľ
eratosthenovo sito - NASM

Registrovaný: 11.01.09
Prihlásený: 24.04.24
Príspevky: 1385
Témy: 9
Bydlisko: Hrinova
Príspevok NapísalOffline : 30.11.2011 13:45

Tak to je pekne, ale co znamena, "nefunguje korektne" ? Momentalne to na svojom stroji nemozem odskusat, takze bodlo by viac info. Po dalsie, myslim, ze si na nieco zabudol:
Kód:
%include "rw.asm"


Nevieme, co je obsah tohto suboru a teda ako sa spravaju pouzite funkcie z tohto include-u.


Odpovedať na tému [ Príspevkov: 2 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. eratosthenovo sito

v Assembler, C, C++, Pascal, Java

10

1437

19.11.2010 14:30

sniff Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. NASM

v Assembler, C, C++, Pascal, Java

3

560

01.05.2009 2:01

chrono Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. TASM na NASM

v Assembler, C, C++, Pascal, Java

0

468

15.05.2010 17:20

djkmito Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Síto nepropustí vodu, kladivo nerozbije displej

v Novinky

12

814

01.05.2012 12:43

Daron Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra