[Asembler] podstawy, kilka pytan

urbanno

Nowicjusz
Dołączył
18 Listopad 2012
Posty
1
Punkty reakcji
0
Witam, od niedawna ucze sie podstaw Asemblera, idzie mi narazie dosyc srednio, ale zebralo mi sie kilka pytan, calkowicie podstawowych z dziedziny zrozumienia kilku definicji, wydaje mi sie, ze nie sa one problemem dla bardziej doswiadczonych uzytkownikow i bedziecie potrafili mi pomoc:

Czym jest rejestr?

'Ile' to jest 16 bitow w rejestrze? Jak on dziala?

Dlaczego i po co na przyklad rejestr AX dzieli sie na AL i AH?

Co to jest adres logiczny i adres rzeczywisty komórki?

Czym w ogole jest komórka?

Jak rejestry i ogolnie pamiec z procesorow starszych(okolo pentium III/IV)
maja sie do dzisiejszych? I czy nauka tych 'starszych' ma sens(czy te informacje sie w jakis sposob nie dezaktualizuja)?

Znalazlem informacje ze 16-bitowy rejestr AX jest dodatkowo czescia 32-bitowego rejestru EAX, lecz drugiej jego czesci nie ma/nie znaleziono. Co to znaczy?

I dodatkowo na koniec chcialbym zapytac czy rozumiem jedna dla mnie wazna kwestie:

MOV AX, 5;to znaczy 'przypisz wartosc 5 do tymczasowego przechowania?'
MOV DS,AX;to znaczy'przypisz wartosc 5 do segmentu z danymi, te sama ktora przed chwila przypisalem do AX?'

Czy ona wtedy znika z AX, czy sie kopiuje?
I dlaczego nie moge od razu przypisac jej do segmentu z danymi?

Wiem, ze to troche duzo pytan i moze zbyt wiele wymagam, ale to dla mnie bardzo wazne, bardzo licze na Wasza pomoc :)

Pozdrawiam
 

wlisik

Nowicjusz
Dołączył
14 Kwiecień 2013
Posty
4
Punkty reakcji
0
najpierw krótki kod assemblera

AA 00 Program1
AA OUT 01 Wpisz wartość A:
AA IN 01 01
AA OUT 01 02 Wartość A to
.
endcode();


Linijka 1: Assembler nazywa pierwszą kolumnę oraz pierwszy rząd tabeli (A) pierwszą literą alfabetu (A), następnie idzie numer komórki tabeli (00), dalej ciąg znaków, czyli wartość do zapisania w numerze komórki tabeli.
Linijka 2: Pierwsza kolumna, pierwszy rząd, instrukcja wyjścia (OUT; dane są wyświetlane czyli 'wychodzą' z programu), tekst do wyświetlenia.
Linijka 3: Pierwsza kolumna rząd pierwszy, druga komórka, wyjście i podawany wynik
Linijka 4: Puste linijki znaczymy kropką (.),
Linijka 5: Zakończenie kodu.
 

JaneMary

Nowicjusz
Dołączył
29 Sierpień 2013
Posty
10
Punkty reakcji
0
urbanno napisał:
Witam, od niedawna ucze sie podstaw Asemblera, idzie mi narazie dosyc srednio, ale zebralo mi sie kilka pytan, calkowicie podstawowych z dziedziny zrozumienia kilku definicji, wydaje mi sie, ze nie sa one problemem dla bardziej doswiadczonych uzytkownikow i bedziecie potrafili mi pomoc:

Czym jest rejestr?

'Ile' to jest 16 bitow w rejestrze? Jak on dziala?

Dlaczego i po co na przyklad rejestr AX dzieli sie na AL i AH?

Co to jest adres logiczny i adres rzeczywisty komórki?

Czym w ogole jest komórka?

Jak rejestry i ogolnie pamiec z procesorow starszych(okolo pentium III/IV)
maja sie do dzisiejszych? I czy nauka tych 'starszych' ma sens(czy te informacje sie w jakis sposob nie dezaktualizuja)?

Znalazlem informacje ze 16-bitowy rejestr AX jest dodatkowo czescia 32-bitowego rejestru EAX, lecz drugiej jego czesci nie ma/nie znaleziono. Co to znaczy?

I dodatkowo na koniec chcialbym zapytac czy rozumiem jedna dla mnie wazna kwestie:

MOV AX, 5;to znaczy 'przypisz wartosc 5 do tymczasowego przechowania?'
MOV DS,AX;to znaczy'przypisz wartosc 5 do segmentu z danymi, te sama ktora przed chwila przypisalem do AX?'

Czy ona wtedy znika z AX, czy sie kopiuje?
I dlaczego nie moge od razu przypisac jej do segmentu z danymi?

Wiem, ze to troche duzo pytan i moze zbyt wiele wymagam, ale to dla mnie bardzo wazne, bardzo licze na Wasza pomoc :)

Pozdrawiam
Myślę że zamiast od assemblera powinieneś zacząć od dowiedzienia się jak działa komputer i na jakich danych on operuje, dopiero jak już bedziesz znał to wtedy możesz wziać się za listę funkcji assemblera
 
Do góry