Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Pomocy


Rekomendowane odpowiedzi

Opublikowano

Witam

Musze zrobić na studia program w asemblerze a nie mam do niego zielonego pojęcia.... Proszę o pomoc

zadanie:

y=((1x+2z)*1/2) + ((2x+2z)*1/2)+((3x+2z)*1/2)+((4x+2z)*1/2)

z gory dziekuje :)

Opublikowano

jakim assemblerze? x86, x64, ia-64, ARM, PowerPC ? Więcej szczegółów człowieku...

 

Zresztą musisz podać ile jest równe x i z bo nie wyobrażam sobie jak można by zrobić to nie znając ich wartości. No chyba, że to się jakoś magicznie skraca i wychodzi zero, wtedy wystarczy.

 

(dla x86)

xor eax, eax

 

(dla arm)

LDR	r1,=0x0

 

@Down

No kurwa wiem mądralo. Tylko ciekawe jak ma to zrobić w assemblerze? Dla procesora nie ma czegoś takiego jak z czy x o niewiadomej wartości.

RAsfepN.png
Opublikowano

to chyba jest równanie osama...

po 1. rozwiąż to na papierze potem zorganizuj pamięć, wypisz cxzego będziesz potrzebował oraz jak to zrobisz :)

Powodzenia!!!

@up- no to właśnie mówie żeby sobie wyliczył te niewiadome wrzucił na stos lub do rejestru....

Cytat

 

Orientacja seksualna polega na tym, że jeden mężczyzna lubi blondynki, drugi szatynki, że jedna pani woli umięśnionych mężczyzn a inna chudych intelektualistów. Homoseksualizm nie jest orientacją jest chorobą za którą homoseksualiści nie ponoszą odpowiedzialności. Pewna grupa ludzi rodzi się upośledzona fizycznie, na przykład bez ręki ale czy to znaczy, że wszystkim zdrowym powinniśmy też obcinać ręce? Nie, powinniśmy zapewnić im protezy. Obowiązkiem państwa jest zapewnienie homoseksualistom, jak wszystkim upośledzonym fizycznie czy psychicznie profesjonalnej opieki medycznej.

Opublikowano

tak jak juz powiedziałęm : nie mam zielonego pojecia do asemblera.... Wiem że z i x maja byc jako niewiadome i ma sie program o nie zapytac i diopiero liczyc zadanie z podanych liczb...

Opublikowano

tak jak juz powiedziałęm : nie mam zielonego pojecia do asemblera.... Wiem że z i x maja byc jako niewiadome i ma sie program o nie zapytac i diopiero liczyc zadanie z podanych liczb...

 

Kurwa, świetnie, że dopiero teraz to mówisz, mistrzu. Jak takie dostałeś zadanie to musiałeś to mieć wcześniej. Więc zapierniczaj do książek i wkuwaj.

RAsfepN.png
Opublikowano

No właśnie że nie miałem nic wcześniej bo chodze na zaoczne studia a tak wykladowca sie nie chce za duzo uczyc i robic sobie konkurencje...

 

dodam że emulator w którym mam to zrobić to : Emu8086 albo w pascalu z komendami do assemblera

Opublikowano

To mu powiedz, że assembler to kompilator a język to assembly i o co chodziło mu z zapisaniem tego równania w kompilatorze... Aha. I dodaj, żeby cie tego nauczył. Jak nie będziesz tego umiał to będziesz musiał po każde zadanie latać na fora.

RAsfepN.png
Opublikowano

Nie bede latał po każde zadanie na forum bo mi się w tym semestrze konczy ten przedmiot a to zadanie mam na zaliczenie...

 

A to jest chyba w asemblerze x86 bo mówił cos że to jest pod intela....

Opublikowano

Zrobiłem coś takiego w pascalu ale nie wiem czy dobrze..

 

 

 

program test;

uses crt;

function suma (a,b:word):word;

begin

asm

mov ax, a

add ax, b

mov @result, ax

end;

end;

var q,w,e,x,y:word;

begin

write('podaj x');

readln(x);

write('podaj y');

readln(y);

q:=5*x;

w:=4*y;

e:=suma(q,w);

writeln('suma wynosi:',e);

readln;

end.

Opublikowano

do kiedy to masz? Bo mogę napisać jak znajdę wolny czas :)

tylko nie wiem czy mogę użyć jakiejś DLL'ki i czy to ma być 34 bitowy program czy 16 itd...

Cytat

 

Orientacja seksualna polega na tym, że jeden mężczyzna lubi blondynki, drugi szatynki, że jedna pani woli umięśnionych mężczyzn a inna chudych intelektualistów. Homoseksualizm nie jest orientacją jest chorobą za którą homoseksualiści nie ponoszą odpowiedzialności. Pewna grupa ludzi rodzi się upośledzona fizycznie, na przykład bez ręki ale czy to znaczy, że wszystkim zdrowym powinniśmy też obcinać ręce? Nie, powinniśmy zapewnić im protezy. Obowiązkiem państwa jest zapewnienie homoseksualistom, jak wszystkim upośledzonym fizycznie czy psychicznie profesjonalnej opieki medycznej.

Opublikowano

a mogę użyć jakiejś dll'ki?Program ma być 32 bitowy? Mam korzystać z przerwań?

Cytat

 

Orientacja seksualna polega na tym, że jeden mężczyzna lubi blondynki, drugi szatynki, że jedna pani woli umięśnionych mężczyzn a inna chudych intelektualistów. Homoseksualizm nie jest orientacją jest chorobą za którą homoseksualiści nie ponoszą odpowiedzialności. Pewna grupa ludzi rodzi się upośledzona fizycznie, na przykład bez ręki ale czy to znaczy, że wszystkim zdrowym powinniśmy też obcinać ręce? Nie, powinniśmy zapewnić im protezy. Obowiązkiem państwa jest zapewnienie homoseksualistom, jak wszystkim upośledzonym fizycznie czy psychicznie profesjonalnej opieki medycznej.

Opublikowano

wiecej nic nie wiem na ten temat... jedynie jak byś napisał ten program to byś mi napisał w jakim programie tzn emulatorze go odpalic bo muszę go zaprezentować i obronic....

Opublikowano

zadanie nie powiem interesujące

możliwe są ew. błędy w stylu przeoczyłem coś na stosie

jestem absolutnym newbie który obejrzał kilka videotutów Gyn'a

UWAGA!!!

PODAJĘ SAM ALGORYTM!!!TO CO MA WYŚWIETLAĆ I POBIERAĆ INFO MUSISZ SAM SOBIE NAPISAĆ!!!

UWAGA!!!

JEST TO PROGRAM 32 bit!!!

ZE WZGLĘDU NA TO ŻE NIE PODAŁEŚ MI INFO CZY MOGĘ KORZYSTAĆ Z DLL'KI MUSISZ SOBIE JE SAM NAPISAĆ!!!

NIE PONOSZĘ ODPOWIEDZIALNOŚCI ZA ALGORYTM TZN. JEŻELI DZIAŁA TO DOBRZE, JAK NIE TO NIE MOJA WINA I PROSZĘ SIĘ NA MNIE NIE WYŻYWAĆ!!!

sorry za capsa ale pewnie byś tego nie przeczytal tylko ociekający śliną kliknąłbyś w spoiler!

 

;y=((x+2z)*1/2) + ((2x+2z)*1/2)+((3x+2z)*1/2)+((4x+2z)*1/2)
;made by Assarelliuss aka MrZabojad
;tutaj jest sam algorytm liczenia
;pisząc powołałem się na prawa logiki
;jeżeli coś nie działa to już nie moja wina
;problem rozwiązałem drzewkiem:
; ((x+2z)*1/2) + ((2x+2z)*1/2)+((3x+2z)*1/2)+((4x+2z)*1/2)
;     \                /            /              /       
;      \              /            /              /        
;       \            /            /              /          
;        \          /            /              /            
;         \    +   /            /              /             
;          \      /            /              /                
;           [wynik]           /              /                   
;               \            /              /                           
;                \    +     /              /                      
;                 \        /              /                  
;                  [wynik]               /                                      
;                     \                 /                       
;                      \               /                 
;                       \             /                             
;                        \     +     /                                
;                         \         /                              
;                          \       /                               
;                           [wynik]                                         
;                                                                  



;tutaj Prośba o podanie dwóch liczb x i z
xor eax, eax
mov eax, [z]
mul 2 ;eax = 2z
add eax, [x] ; eax=2z + x
mul 1 ; mnożymy razy 1 ;w sumie nie potrzebne napisałem tylko by zgadzało się z równaniem
div 2 ;dzielimy eax przez 2
;w eax jest wynik ((x+2z)*1/2)
;wrzucam na stos eax
push eax
;((
mov eax, [x]
mul 2
push eax
mov eax, [z]

mul 2
pop ebx
add eax, ebx
mul 1 ;też jedynie dla zgodności z równaniem
div 2
push eax ; w eax jest wynik ((2x+2z)*1/2)

pop eax
pop ebx
add eax, ebx
push eax ; na stos wrzucamy wynik ((x+2z)*1/2) + ((2x+2z)*1/2)


;((3x+2z)*1/2)
mov eax, [x]
mul 3
push eax

mov eax, [z]
mul 2
pop ebx

add eax, ebx
mul 1
div 2
pop ebx
add eax, ebx ;dodajemy (((x+2z)*1/2) + ((2x+2z)*1/2)) do ((3x+2z)*1/2)
push eax ;wrzucamy na stos powyższy wynik
;((4x+2z)*1/2)
mov eax, [x]
mul 4
push eax
mov eax, [z]
mul 2
pop ebx
add eax, ebx
mul 1
div 2

; teraz końcowa część: sumujemy wszystko
pop ebx
add eax, ebx
mov [y] , eax
;tutaj napisz sobie wyświetlenie y

dd x 0
dd z 0
dd y 0

 

Cytat

 

Orientacja seksualna polega na tym, że jeden mężczyzna lubi blondynki, drugi szatynki, że jedna pani woli umięśnionych mężczyzn a inna chudych intelektualistów. Homoseksualizm nie jest orientacją jest chorobą za którą homoseksualiści nie ponoszą odpowiedzialności. Pewna grupa ludzi rodzi się upośledzona fizycznie, na przykład bez ręki ale czy to znaczy, że wszystkim zdrowym powinniśmy też obcinać ręce? Nie, powinniśmy zapewnić im protezy. Obowiązkiem państwa jest zapewnienie homoseksualistom, jak wszystkim upośledzonym fizycznie czy psychicznie profesjonalnej opieki medycznej.

Opublikowano

Dziękuję Ci Bardzo zaraz sprawdze czy działa. Działa czy nie to i tak bardzo Ci dziękuje ponieważ napewno poświeciłeś na to sporo czasu....

Dzieki :)

Opublikowano

co ci nie działa? Napisałeś funkcje wyświetlające? To jest sam algorytm taki trochę pseudokod ;)

Cytat

 

Orientacja seksualna polega na tym, że jeden mężczyzna lubi blondynki, drugi szatynki, że jedna pani woli umięśnionych mężczyzn a inna chudych intelektualistów. Homoseksualizm nie jest orientacją jest chorobą za którą homoseksualiści nie ponoszą odpowiedzialności. Pewna grupa ludzi rodzi się upośledzona fizycznie, na przykład bez ręki ale czy to znaczy, że wszystkim zdrowym powinniśmy też obcinać ręce? Nie, powinniśmy zapewnić im protezy. Obowiązkiem państwa jest zapewnienie homoseksualistom, jak wszystkim upośledzonym fizycznie czy psychicznie profesjonalnej opieki medycznej.

Opublikowano

co ci nie działa? Napisałeś funkcje wyświetlające? To jest sam algorytm taki trochę pseudokod ;)

W assembly nie ma funkcji <facepalm>...

RAsfepN.png
Opublikowano

@up

facepalma to ty sobie na dupie robisz...chodziło mi o to czy napisał sobie te przerwania czy tam call'e....

@autor

obczaj jakiś kurs asm'a np.

rudy.mif/~bogdro/

oraz Videotutorale Gyn'a

http://www.youtube.com/user/GynvaelColdwind

Cytat

 

Orientacja seksualna polega na tym, że jeden mężczyzna lubi blondynki, drugi szatynki, że jedna pani woli umięśnionych mężczyzn a inna chudych intelektualistów. Homoseksualizm nie jest orientacją jest chorobą za którą homoseksualiści nie ponoszą odpowiedzialności. Pewna grupa ludzi rodzi się upośledzona fizycznie, na przykład bez ręki ale czy to znaczy, że wszystkim zdrowym powinniśmy też obcinać ręce? Nie, powinniśmy zapewnić im protezy. Obowiązkiem państwa jest zapewnienie homoseksualistom, jak wszystkim upośledzonym fizycznie czy psychicznie profesjonalnej opieki medycznej.

Opublikowano

@up

facepalma to ty sobie na dupie robisz...chodziło mi o to czy napisał sobie te przerwania czy tam call'e....

No tak, coś jeszcze? Przecież wyraźnie napisałeś "funkcje"... Do tego nie wiem jak mogło ci się to pomylić z przerwaniami czy z call'ami...

RAsfepN.png
Opublikowano

Wy mu chyba od dupy strony pomagacie

 

Nie miałem do czynienia z assembly, ale widzę, że twórca tematu ma o nim bardzo małe pojęcie, napisz na początek byle jaki program matematyczny, nie wiem, zacznij od dodawania, potem nawiasy wprowadź, jakieś potęgi / mnożenia... ten program nie wymaga znajomości bóg wie czego...

 

Jak ogarniesz podstawowe liczenie to potem dorzucisz kod proszący o zmienne w równaniu i jest elo elo!

Opublikowano

napisałem takie cos w masm x86 program dodaje 2 zmienne tylko jeszcze musze zrobic zeby x mi przemnozylo przed dodawaniem razy 5 a z razy 4

 

 

[bits 32]

 

lea eax, [ebp-4]

push eax

lea eax, [ebp-8]

push eax

call do_scan

db "%i %i",0

do_scan:

call [ebx+4*4]

add esp, 12

mov eax, [ebp-8]

add eax, [ebp-4]

push eax

call wypisz_wynik

db "wynik: %i", 0xa, 0

wypisz_wynik:

call [ebx+12]

add esp, 8

push 0

call [ebx]

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...