Reklama
Strona 273 z 358 PierwszaPierwsza ... 173223263271272273274275283323 ... OstatniaOstatnia
Pokazuje wyniki od 4,081 do 4,095 z 5367

Temat: Programowanie - temat ogólny

  1. #4081
    Avatar Plastus
    Data rejestracji
    2010
    Posty
    900
    Siła reputacji
    14

    Domyślny

    Cytuj sw.5 napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Nawet lepiej od razu wrzucać wszystko do jednego rejestru. Gdybyś chciał korzystać ze stosu to przypominam jeszcze o pewnym problemie o którym trzeba pamiętać podczas używania stosu i funkcji - (to się chyba ramka stosu nazywało) - chodzi o to że jak korzystasz z jakieś funkcji i używasz mnemo call to adres powrotny z funkcji ląduje na stosie, gdy w trakcie funkcji będziesz coś zmieniał na stosie to potem program nie wróci w dobre miejsce. Więc w przypadku gdy musiałbyś korzystać ze stosu wewnątrz jakiejś funkcji to trzeba zapisać wskaźnik stosu gdzieś tak aby można było przed końcem funkcji przywrócić go do stanu jaki był przed wejściem do funkcji.
    I wracając do tego polecenia na kolosie to tak, dokładnie tak trzeba to zrobić :p

    btw w jakim asm'ie piszecie?
    Wiesz co, to w takim razie zrobie to wersją bez stosu i jutro zdam relację. Ogólnie jestem na 1 roku infy, nie wiem ile jest 'rodzajów' asma :D. Pracuje na wirtualnej fedorze 32 bitowej, kompiluje nasmem... i w sumie nie wiem co wiecej moge powiedzieć :D. Jest to język dodatkowy, głównie ogarniamy jego podstawy...

  2. #4082
    Avatar sw.5
    Data rejestracji
    2006
    Położenie
    Skarżysko-Kamienna
    Wiek
    29
    Posty
    299
    Siła reputacji
    18

    Domyślny

    To ja też te parę rzeczy co robiłem to w nasm. Ale po co Wam fedorka?

  3. Reklama
  4. #4083
    Avatar Plastus
    Data rejestracji
    2010
    Posty
    900
    Siła reputacji
    14

    Domyślny

    Fedore mamy zainstalowaną na kompach labolatoryjnych. Poprostu chciałem sobie stworzyć takie samo środowisko żeby ew prowadzący nie mieli powodów do spin, bo na zajeciach tego typu wole pracować na swoim lapsie, niż pendrive + PC na agh xd.
    Ostatnio zmieniony przez Plastus : 19-12-2015, 12:22

  5. #4084
    Avatar Lord
    Data rejestracji
    2012
    Położenie
    benzyna po 5,19 mordo xDDDD
    Wiek
    29
    Posty
    10,445
    Siła reputacji
    18


  6. #4085
    Avatar Plastus
    Data rejestracji
    2010
    Posty
    900
    Siła reputacji
    14

    Domyślny

    Błagam, nie śmiejcie się z kodu i jego ilości xD.

    Algorytm ogarniam, gorzej z zapisem..
    W zaznaczonych miejscach 3x invalid effective address. Wiecej błędów narazie nie wywalił.



    @wyedytowane, sorki
    Zadanie tak jak ostatnio pisałem. Wpisz wynik działania 12*12, jesli wynik się nie zgadza, wróć do początku programu.

    Kod:
    section .text
    global _start:
    
    _start
    etykstart:
    
    call wypisywanie_tekstu          ; początek, wypisywanie i wczytywanie dla 1 liczby (1)
    call wczytywanie
    call odejmowanie ascii
    
    cmp esi, 1
    je koniec1:
    
    jmp etykstart                   ;pętla czy wczytana liczba jest równa 1, jeśli nie wraca do początku
    ;***********************************************
    koniec1:
    xor ax,ax
    mov ax, [cyfra]			;tutaj jest
    mov dx, [ax*100]		;duzy cyrk
    
    call wczytywanie
    xor al, al                           ;zerowanie rejestrów
    xor esi, esi
    
    call odejmowanie_ascii
    
    cmp esi, 4
    je koniec2:
    jmp etykstart                   ;petla nr 2, jesli 2 znak jest równy 4, idzie dalej, jeśli nie to wraca na początek
    
    ;*****************************************************************
    
    koniec2:     
    xor ax,ax                	;tutaj jest
    mov ax, [cyfra]			;duzy cyrk		
    mov dx, [ax*10]			;caly czas
    
    call wczytywanie
    xor al, al
    xor esi, esi                                ;znowu zerowanie rejestrów
    
    call odejmowani_ascii        
    
    cmp esi, 4
    je koniec3:
    
    jmp etykstart                              ;petla nr 3
    ;*****************************************************************
    koniec3:
    xor ax,ax          		;tutaj jest
    mov ax, [cyfra]			;duzy cyrk		
    mov dx, [ax*1]         		;cały czas
    
    mov wynik, dx                         ;wpisanie liczby 144 z rejestru do wyniku
                            
    mov eax, 4                 
    mov ebx, 1
    mov ecx, wynik                       ;tutaj chciałem wypisać wynik 144 na ekran, ale mogłem cos pomieszać bo miałem mętlik w głowie :v.
    mov edx, [dlwynik]
    int 80h
    
    mov eax, 1
    int 80h                                  ; zakonczenie programu
    ;*****************************************************************
    
    wypisywanie_tekstu:
    mov eax, 4
    mov ebx, 1
    mov ecx, tekst
    mov edx, [dl_tekst]
    int 80h
    ret;*****************************************************************
    
    wczytywanie:
    mov eax, 3
    mov ebx, 0
    mov ecx, zmienna
    mov edx, 1
    int 80h
    
    ret;*****************************************************************
    
    odejmowanie_ascii:
    mov al, [zmienna]
    sub al, 48
    mov esi, al
    mov cyfra, al
    ret;*****************************************************************
    
    section .data
    tekst db "Podaj wynik mnozenia 12*12, kazda cyfre oddzielajac enterem", 0ah
    dl_tekst dd $ - tekst
    zmienna db 0
    cyfra dd 0
    wynik dd 0
    dlwynik dd $ - wynik
    Ostatnio zmieniony przez Plastus : 19-12-2015, 13:56

  7. #4086
    Avatar sw.5
    Data rejestracji
    2006
    Położenie
    Skarżysko-Kamienna
    Wiek
    29
    Posty
    299
    Siła reputacji
    18

    Domyślny

    a jakie masz w ogóle polecenie? i jak piszesz asm dla kogoś to komentuje co jaki fragment robi albo co ma robić bo tak to trzeba się domyślać (plus nazywanie funkcji fun1 fun2 fun3 też dużo nie mówi)

  8. #4087
    konto usunięte

    Domyślny

    @Plastus ;
    Cytuj Plastus napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Błagam, nie śmiejcie się z kodu i jego ilości xD.

    Algorytm ogarniam, gorzej z zapisem..
    W zaznaczonych miejscach 3x invalid effective address. Wiecej błędów narazie nie wywalił.
    To nie jest poprawne adresowanie na 16-bitowej binarce. Sprobuj:

    Kod:
    mov dx, byte [ax*100]
    Ostatnio zmieniony przez szulak : 19-12-2015, 14:02

  9. #4088
    Avatar Plastus
    Data rejestracji
    2010
    Posty
    900
    Siła reputacji
    14

    Domyślny

    Dobra, jestem durniem i za bardzo komplikuje sobie sam zadanie. Dzieki wszystkim za pomoc, sam już to ogarnąłem bez żadnego mnożenia i kombinowania z rejestrami ;p.

  10. #4089
    Avatar Lord
    Data rejestracji
    2012
    Położenie
    benzyna po 5,19 mordo xDDDD
    Wiek
    29
    Posty
    10,445
    Siła reputacji
    18

    Domyślny

    Niech pierwszy rzuci kamieniem ten kto nigdy nie był początkujący :p

  11. #4090
    Avatar Kusterek
    Data rejestracji
    2013
    Położenie
    Warszawa
    Wiek
    31
    Posty
    1,710
    Siła reputacji
    13

    Domyślny

    Istnieją plotki, że @szulak ; nigdy nie był początkującym.

    irc: freenode.net in #torgdevs

  12. #4091
    Avatar Plastus
    Data rejestracji
    2010
    Posty
    900
    Siła reputacji
    14

    Domyślny

    Kolos zaliczony 30/40 pkt Dzieki panowie :D.

  13. #4092

    Data rejestracji
    2010
    Posty
    2,657
    Siła reputacji
    16

    Domyślny

    Cytuj Kusterek napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    Istnieją plotki, że @szulak ; nigdy nie był początkującym.
    szulak dostał kurs z x86 i C++ od mamy, dobre geny co poradzisz xD

    Tak na serio @szulak ; Ty nie studiowałeś infy czasami?

  14. #4093
    konto usunięte

    Domyślny

    Cytuj Alex Fortune napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    szulak dostał kurs z x86 i C++ od mamy, dobre geny co poradzisz xD

    Tak na serio @szulak ; Ty nie studiowałeś infy czasami?
    Matematyke, licencja (mgr rzuciłem w ~połowie).

  15. #4094
    Avatar Haan
    Data rejestracji
    2005
    Położenie
    Irlandia
    Wiek
    35
    Posty
    2,081
    Siła reputacji
    20

    Domyślny

    Cytuj szulak napisał Pokaż post
    Cytat został ukryty, ponieważ ignorujesz tego użytkownika. Pokaż cytat.
    (mgr rzuciłem w ~połowie).
    Witamy na ciemnej stronie mocy.
    Cookies wpadna jak zaakceptujesz komunikat.
    ipse se nihil scire id unum sciat

  16. #4095
    Avatar BBsrv
    Data rejestracji
    2013
    Położenie
    50cm od monitora
    Wiek
    31
    Posty
    4,489
    Siła reputacji
    13

    Domyślny ciekawostka

    Jeśli ktoś się nudzi, możecie kolesiowi zgasić albo zapalić lampki na domu/płocie etc ;)

    http://STEROWANIE24.PL
    http://www.elektroda.pl/rtvforum/topic2955498.html
    Ostatnio zmieniony przez BBsrv : 23-12-2015, 20:11
    Kontakt ze mną:
    pw

Reklama

Informacje o temacie

Użytkownicy przeglądający temat

Aktualnie 2 użytkowników przegląda ten temat. (0 użytkowników i 2 gości)

Podobne tematy

  1. Star Wars: The Old Republic - temat ogólny
    Przez Mefistos w dziale Inne gry
    Odpowiedzi: 106
    Ostatni post: 21-11-2012, 14:28
  2. League of Legends //dla potomnosci: League of Legends - temat ogolny.
    Przez ZinC w dziale Inne gry
    Odpowiedzi: 30145
    Ostatni post: 24-03-2012, 02:33
  3. Cities XL 2012 - temat ogólny
    Przez Bezdomny w dziale Inne gry
    Odpowiedzi: 0
    Ostatni post: 20-10-2011, 18:11
  4. Dragon Ball Legend temat ogólny
    Przez Mugenoo w dziale Tematy serwerów
    Odpowiedzi: 20
    Ostatni post: 02-03-2011, 16:47

Zakładki

Zakładki

Zasady postowania

  • Nie możesz pisać nowych tematów
  • Nie możesz pisać postów
  • Nie możesz używać załączników
  • Nie możesz edytować swoich postów
  •