Forum Sveta kompjutera

Nazad   Forum Sveta kompjutera > Test Run > Programiranje

Programiranje Programski jezici, tehnike, alatke...

Pregled rezultata glasanja: Da li zelis da objavim drugi deo?
Da 11 91,67%
Ne 1 8,33%
Glasova: 12. U ovom glasanju ne možete da učestvujete

Odgovor
 
Alatke vezane za temu Vrste prikaza
Stara 12.7.2007, 4:50   #1
rile
Član
 
Član od: 9.7.2007.
Poruke: 119
Zahvalnice: 2
Zahvaljeno 31 puta na 29 poruka
Određen forumom Asembler 1

Ovo je "probni balon" poruka, prva od zamišljenih nekoliko. Namenjena je onima koje zanima asembler i šta se dešava na najnižem nivou.

Zamišljam nekoliko tema:

1. (ova tema) Jednostavni primer programa u asembleru (može da se izvrši u DOS prozoru Windowsa)
2. Prelazak iz realnog u zaštićeni režim rada (kratki uvod u problem, jednostavan primer)
3. ... ako bude interesovanja, proces "butovanja" odnosno podizanja sistema (PC-a)

1. Po ugledu na "Hello World" programe, evo jednog koji kaže samo "Zdravo":

Kod:
.model tiny
 
CSEG        segment para public use16 'CODE' 
org 100h ; DOS tako ucitava .com aplikacije (na ofset 100h)
start:
    mov dx, offset Zdravo
    mov ah, 9
    int 21h
 
exit_to_dos:
    mov ax, 4c00h
    int 21h
 
Zdravo:
    db 10, 13, 'Zdravo...', 10, 13, '$'  ; kako koristimo DOS servis rutinu 
    ; za ispis teksta, moramo da stavimo znak '$' koji kaze DOS-u da se
    ; tekst tu zavrsava
CSEG    ends
end start
Kratko pojašnjenje programa:
DOS učitava .com programe sa ofsetom 100h (h na kraju numeričke konstante označava da je broj heksadecimalan). Zbog toga imamo org 100h na početku (to govori asembleru da računa adrese u odnosu na adresu 100h. Znači, na primer labela start: ima adresu 100h).

Za ispis teksta je iskorišćen DOS servis 21h, funkcija 9. Kako se koristi koja dos funkcija mora da se čita iz dokumentacije, na primer ovde: http://www.uv.tietgen.dk/Staff/Mlha/...t/21/index.htm.

Kompajliranje: Za kompajliranje je potreban ml.exe (majkrosoftov asembler). Ja sam instalirao Visual Studio Express i zatim MASM preko njega. Verzija MASM-a je 8.0. Za kompajliranje programa, koristim mali batch fajl:

fajl "makecom.cmd":
Kod:
@echo off
setlocal
if not defined NAME set NAME=%1
if not defined NAME goto argerr
set MASM=ml
set LINK=link
if exist %NAME%.obj del %NAME%.obj
if exist %NAME%.com del %NAME%.com
%MASM% /AT /c /omf %NAME%.asm
if errorlevel 1 goto error
%LINK% /TINY %NAME%,%NAME%,%NAME%,%NAME%,nul
if errorlevel 1 goto error
:exit_0
echo Success
goto :EOF
:error
echo Error(s)
goto :EOF
:argerr
echo koriscenje: makecom [filename]
goto error
Primer:
Kod:
makecom zdravo
bi trebalo da napravi "zdravo.com" program. Ako ga startujete u DOS-prozoru, trebalo bi da vidite pozdrav:
Kod:
Zdravo...
Alternativno, možete koristiti nasm (Netwide Assembler) koji možete da pribavite ovde: http://sourceforge.net/project/showf...?group_id=6208, ali kod programa mora da se malo promeni:
Kod:
; kompajlirati pomocu nasm-a
; nasm -f bin -o zdravo.com zdravo.asm
; 
[BITS 16]
org 100h ; DOS tako ucitava .com aplikacije (na ofset 100h)
start:
    mov dx, Zdravo
    mov ah, 9
    int 21h
 
exit_to_dos:
    mov ax, 4c00h
    int 21h
 
Zdravo:
    db 10, 13, 'Zdravo...', 10, 13, '$'
Ukoliko bude interesovanja, objaviću drugi deo: prelazak u zaštićeni režim rada procesora 286 (i novijih).
rile je offline   Odgovor sa citatom ove poruke
Sledećih 2 korisnika se zahvaljuje korisniku rile na korisnoj poruci:
master037 (21.1.2013), MG-RAY (12.10.2007)
Stara 12.7.2007, 15:55   #2
rile
Član
 
Član od: 9.7.2007.
Poruke: 119
Zahvalnice: 2
Zahvaljeno 31 puta na 29 poruka
Određen forumom Re: Asembler 1

Zbog ograničenja od 3000 karaktera, nisam uspeo da ubacim i veze na alate koje koristim, pa zato šaljem "odgovor" na svoju poruku.


Asembleri:

1. Microsoft MASM. Još uvek se proizvodi i unapređuje, ali je sada besplatan (za nas odlična vest). Ja ga koristim u kombinaciji sa "Visual C++ 2005 Express Edition" (takođe besplatan). Visual C++ Express možete preuzeti odavde: http://msdn.microsoft.com/vstudio/express/, a posle instalacije VC++ Express (MASM zahteva da ovaj bude instaliran), možete da instalirate MASM koji preuzimate odavde: http://www.microsoft.com/downloads/d...displaylang=en
Za primere koje dajem, neophodan je i 16-bitni linker (VC++ ima 32 bitni linker) koji može da se preuzme odavde: ftp://ftp.microsoft.com/Softlib/MSLFILES/LNK563.EXE Ova veza će vas odmah odvesti do fajla, pa ga sačuvajte negde i zatim, po preuzimanju, ga startujte. To je samo-otpakujuća arhiva, pa će otpakovati 3 fajla, nama je interesantan "link.exe". Možete da ga iskopirate u neki direktorijum, po želji.(naravno, bitno je da znate koji :-) )

2. MASM32 - trebalo bi da je potpuno kompatibilan sa 1), ja ga ne koristim ali možda neko hoće da ga proba: http://www.masm32.com/

3. NASM - još jedan asembler u javnom domenu. Sintaksa veoma liči na MASM sintaksu, ali ima nekih malih razlika. Za neke primene je lakši za koršćenje. U primerima koje dajem pokušaću da pokrijem i MASM i NASM varijantu. Može se preuzeti odavde: http://nasm.sourceforge.net/, preko veze "Download".
rile je offline   Odgovor sa citatom ove poruke
Stara 13.7.2007, 0:21   #3
nika100
Veteran
 
Član od: 25.12.2005.
Lokacija: Kragujevac
Poruke: 541
Zahvalnice: 67
Zahvaljeno 55 puta na 28 poruka
Određen forumom Re: Asembler 1

Extra ti je tuttorial...
Samo tako nastavi!
Ja znam da radim u A86 asembleru, koji je mnogo, mnogo, lak za ucenje.
U njemu pre nego sto kompajliras kod prakticno mozes da vidis koliko ce da zauzima! Jer je jedna instrukcija jedan bajt, mislim to moze i u drugim ASMovima ali je ovo stvarno lako! Evo ga naprimer ceo tvoj zdravo program u njemu:
Kod:
jmp start
zdravo dw "Zdravo svete!"
start:
mov ah,9
mov dx,offset zdravo
int 21h
mov ah,04ch
int 21h
Ali bih bas voleo da znam i MASM jer je jedan od najrasprostranijih ASMova
nika100 je offline   Odgovor sa citatom ove poruke
Stara 13.7.2007, 23:16   #4
mirk
Član
 
Član od: 13.10.2006.
Poruke: 172
Zahvalnice: 4
Zahvaljeno 4 puta na 4 poruka
Određen forumom Re: Asembler 1

jel mi može netko objasniti zašto ovo radi

Kod:
org  100h	
mov ah,9
mov dx,offset message
int 21h
mov ah,4ch
int 21h
message db "Hello World!$"
ret
a ovo ne

Kod:
org  100h	
message db "Hello World!$"
mov ah,9
mov dx,offset message
int 21h
mov ah,4ch
int 21h
ret
mirk je offline   Odgovor sa citatom ove poruke
Stara 14.7.2007, 2:45   #5
nika100
Veteran
 
Član od: 25.12.2005.
Lokacija: Kragujevac
Poruke: 541
Zahvalnice: 67
Zahvaljeno 55 puta na 28 poruka
Određen forumom Re: Asembler 1

Pa zato sto ti je ta promenljiva message ispred instrukcija, a tako nece da radi.
Ako hoces mozes to resiti na ovaj nacin:
Kod:
org 100h
jmp start
message db "Hello world!$"
start:
mov ah,9
mov dx,offset message
int 21h
mov ah,4ch
int 21h
Znaci posto je asm programski jezik najnizeg nivoa on kada nesto kompajlira jednostavno menja ime neke instrukcije u hex kod. E pa sad posto promenljiva nije instrukcija, ona kada se kompajlira u com fajl i stoji na pocetku jednostavno ce izbaciti error da ta instrukcija ne postoji, medjutim kada stoji na kraju asm koda program je vec izvrsen u potpunosti tako da uopste ne stigne do njenog memorijskog mesta. Znaci promenljive se drze na kraju da ih kompjuter ne bi prepoznao kao instrukciju. Mogu i na pocetku, ali da se zaobidje njihovo izvrsavanje kao u gore navedenom primeru. Od promenljivih nam samo trebaju offsetovi koji ukazuju u kom se mem. bloku nalazi sadrzaj promenljive.
Pozz.
nika100 je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku nika100 na korisnoj poruci:
mirk (14.7.2007)
Stara 14.7.2007, 10:33   #6
Patton
Deo inventara foruma
 
Avatar korisnika Patton
 
Član od: 1.11.2005.
Lokacija: Silent Hill
Poruke: 4.647
Zahvalnice: 157
Zahvaljeno 904 puta na 493 poruka
Slanje poruke preko ICQ-a korisniku Patton Slanje poruke preko MSN-a korisniku Patton Slanje poruke preko Yahooa korisniku Patton
Određen forumom Re: Asembler 1

Ja sam se bavio asemblerom od '98-'03, iza sebe imam ko zna koliko hiljada linija i bajtova koda. Verujem da sam sto se asemblera tice, video sve sto se moze videti. Sto se DOS-a tice, imam iskustva sa grafikom, VGA modom, VESA modom (kako se otkljucava i koristi), zvukom, programiranjem SoundBlastera, FPU instrukcijama (matematicki koprocesor). Jedina stvar koju nisam probao jeste bas dos-protected-mode. Kad sam hteo i to da izucim, resio sam ipak da predjem na Windows. Tu sam koristio OpenGL za grafiku i FMod Soundsystem za zvuk.

Ako mogu ikako da vam pomognem tu sam
Mogao bih da nastancujem toliko tutorijala da pukne baza foruma

EDIT: Pitanje je samo ko zeli sada da se bavi DOS asemblerom, pored Win C++-a.
Patton je offline   Odgovor sa citatom ove poruke
Stara 14.7.2007, 16:28   #7
rile
Član
 
Član od: 9.7.2007.
Poruke: 119
Zahvalnice: 2
Zahvaljeno 31 puta na 29 poruka
Određen forumom Re: Asembler 1

Nije mi bila namera da pokrenem tutorijal za asembler - ali smatram da je i te kako potreban jedan dobar na srpskom jeziku. Oblik foruma je odličan za početak jer daje trenutne reakcije potencijalnih korisnika. Posle izvesnog vremena, moguće je proći kroz pitanja/odgovore i pojasniti stvari u konačnom tutorijalu koji bi trebalo da završi kao HTML (oblik foruma je atraktivan za početak, ali ne i za konačnu varijantu).


Moja namera je da dam praktična uputstva onima koji znaju nešto malo (ili nešto malo više) o asembleru ali ih muče gluposti poput odredjenih pseudo-komandi asemblera, koji alat, gde ga naći i slično. Izabrao sam MASM i NASM iz sledećih razloga: sintaksa instrukcija je kao u Intelovoj dokumentaciji (ili vrlo slična). Besplatni su i lako se mogu pribaviti preko interneta. Ukoliko dobro razumem licencu MASM-a, eventualna upotreba za komercijalni proizvod je legalna, dok sam za NASM u to siguran.

U svakom slučaju, molim te, nastavi sa tutorijalom za "apsolutne početnike". Moj predlog je da tutorijal bude u isključivo kratkim .COM programčićima koji su provereni i rade. Ne bih ulazio u pravljenje .exe za DOS, jer kao što si rekao, da li to kome treba, a ako treba, pravljenje .EXE je prirodno sledeći korak posle učenja osnova asemblera.
rile je offline   Odgovor sa citatom ove poruke
Stara 14.7.2007, 16:46   #8
seymourc64
Član
 
Član od: 5.12.2005.
Lokacija: Sombor
Poruke: 245
Zahvalnice: 7
Zahvaljeno 31 puta na 24 poruka
Određen forumom Re: Asembler 1

Malo je glupo pokazivati kako se koriste DOS fu-je preko interapta 21h u danasnje vreme.Ali svakako ne bi bilo lose pokazati/predstaviti fu-je BIOSa 13h,10h i stvari kao sto je prelazak u protected rezim,pisanje boot loadera i sl .Ako nekog zanima,interapt 8h je rezervisan za sistemski timer,a on se moze iskoristiti kao osnova za scheduling pri miltiproces/multithread obradi...
seymourc64 je offline   Odgovor sa citatom ove poruke
Stara 14.7.2007, 18:20   #9
Patton
Deo inventara foruma
 
Avatar korisnika Patton
 
Član od: 1.11.2005.
Lokacija: Silent Hill
Poruke: 4.647
Zahvalnice: 157
Zahvaljeno 904 puta na 493 poruka
Slanje poruke preko ICQ-a korisniku Patton Slanje poruke preko MSN-a korisniku Patton Slanje poruke preko Yahooa korisniku Patton
Određen forumom Re: Asembler 1

Naterali ste me da zavirim malo u ovu moju asembler kolekciju radova

Gledam sada source-ove i prisecam se starih dobrih vremena. Za divno cudo uspevam sve da kompajliram pod WinXP koristeci Turbo Asembler (kao i onda), a da cudo bude vece, vecina stvari mi radi pod XP-om (ne moram da ukljucujem compatibility mode i slicno).

Voleo bih da vidim kako se na brzaka ulazi u protected mode i alocira chunk memorije veci od 64kb (sto nije moguce u real modu).
Patton je offline   Odgovor sa citatom ove poruke
Stara 15.7.2007, 11:29   #10
nika100
Veteran
 
Član od: 25.12.2005.
Lokacija: Kragujevac
Poruke: 541
Zahvalnice: 67
Zahvaljeno 55 puta na 28 poruka
Određen forumom Re: Asembler 1

@ Patton:
Meni asm programi rade na visti bez compatibility moda .
@ Others ()
Inace mogli biste malo da napisete o interraptu 33h, ili ako hocete mogu i ja ( ali ja znam samo da vidim koordinate kursora, a neznam kako da gledam dal' je mis kliknut)
nika100 je offline   Odgovor sa citatom ove poruke
Stara 15.7.2007, 11:37   #11
seymourc64
Član
 
Član od: 5.12.2005.
Lokacija: Sombor
Poruke: 245
Zahvalnice: 7
Zahvaljeno 31 puta na 24 poruka
Određen forumom Re: Asembler 1

Svi podaci o svim interaptima(dobro nema detalja za linux,windows i sl,ali ima recimo sve potrebno da bi se preslo u protected mode/radilo u njemu) mogu se naci u programcicu koji se zove,ako se ne varam,HELPPC.
seymourc64 je offline   Odgovor sa citatom ove poruke
Stara 15.7.2007, 13:34   #12
rile
Član
 
Član od: 9.7.2007.
Poruke: 119
Zahvalnice: 2
Zahvaljeno 31 puta na 29 poruka
Određen forumom Re: Asembler 1

Help PC se moze naci ovde:
http://docs.huihoo.com/help-pc/
rile je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku rile na korisnoj poruci:
Patton (16.7.2007)
Stara 15.7.2007, 16:17   #13
rudar
Veteran
 
Član od: 5.1.2006.
Lokacija: Bar, Crna Gora
Poruke: 844
Zahvalnice: 404
Zahvaljeno 244 puta na 87 poruka
Slanje poruke preko MSN-a korisniku rudar
Određen forumom Re: Asembler 1

Poshto ja u ovom podforumu postavljam samo glupa pitanja, drzacju se tradicije... Shta je ASM tj. asembler?
rudar je offline   Odgovor sa citatom ove poruke
Stara 15.7.2007, 16:50   #14
mirk
Član
 
Član od: 13.10.2006.
Poruke: 172
Zahvalnice: 4
Zahvaljeno 4 puta na 4 poruka
Određen forumom Re: Asembler 1

ASM ti je jezik najnižeg nivoa. ASM daje brzi i mali izvedbeni kod. U ASM-u se koriste mnemoici npr. MOV služi za premeštanje podataka, PUSH za stavljanje podataka na stack itd. npr. mov ax, 7c00h će u registar ax staviti broj 7c00h.
ASM je nastao jer je bilo preteško programirati u mašinskom jeziku.
mirk je offline   Odgovor sa citatom ove poruke
Stara 15.7.2007, 17:23   #15
rudar
Veteran
 
Član od: 5.1.2006.
Lokacija: Bar, Crna Gora
Poruke: 844
Zahvalnice: 404
Zahvaljeno 244 puta na 87 poruka
Slanje poruke preko MSN-a korisniku rudar
Određen forumom Re: Asembler 1

Citat:
mirk kaže: Pregled poruke
ASM ti je jezik najnižeg nivoa. ASM daje brzi i mali izvedbeni kod. U ASM-u se koriste mnemoici npr. MOV služi za premeštanje podataka, PUSH za stavljanje podataka na stack itd. npr. mov ax, 7c00h će u registar ax staviti broj 7c00h.
ASM je nastao jer je bilo preteško programirati u mašinskom jeziku.
Aham... razumem... a kako programirati u ASM... Jel ga moram skinuti sa neta ili kako?
rudar je offline   Odgovor sa citatom ove poruke
Stara 15.7.2007, 19:29   #16
mirk
Član
 
Član od: 13.10.2006.
Poruke: 172
Zahvalnice: 4
Zahvaljeno 4 puta na 4 poruka
Određen forumom Re: Asembler 1

Jap. Sam skineš assembler nađeš tutore i počneš programirati u ASM-u.
mirk je offline   Odgovor sa citatom ove poruke
Stara 15.7.2007, 19:32   #17
bobi
Deo inventara foruma
 
Član od: 6.11.2005.
Lokacija: Iznad reke, ispod drveća.
Poruke: 3.218
Zahvalnice: 58
Zahvaljeno 329 puta na 180 poruka
Određen forumom Re: Asembler 1

Citat:
mirk kaže: Pregled poruke
Jap. Sam skineš assembler nađeš tutore i počneš programirati u ASM-u.
Kako to zvuči lako kad ga ovako kažeš.
bobi je offline   Odgovor sa citatom ove poruke
Stara 16.7.2007, 1:56   #18
rile
Član
 
Član od: 9.7.2007.
Poruke: 119
Zahvalnice: 2
Zahvaljeno 31 puta na 29 poruka
Određen forumom Re: Asembler 1

Bobi, možeš da probaš sa ovim što je ovde objavljeno. Probaj da skineš potrebne alate (možda je NASM varijanta nešto jednostavnija). Veze i uputstvo je dato, a ako nije dovoljno jasno, pitaj pa će biti pojašnjeno.

Probaj, nije tako teško kao što zvuči.
rile je offline   Odgovor sa citatom ove poruke
Stara 16.7.2007, 18:29   #19
rile
Član
 
Član od: 9.7.2007.
Poruke: 119
Zahvalnice: 2
Zahvaljeno 31 puta na 29 poruka
Određen forumom Re: Asembler 1

Na predlog seymourc64, evo primera "Zdravo" koriscenjem BIOS rutina:
Kod:
; kompajlirati pomocu MASM-a (ml.exe)
; mozete koristiti makecom.cmd:
; makecom zdrbios
; 
; primer korscenja BIOS rutine za ispis karaktera
; na ekran
.model tiny
 
CSEG        segment para public use16 'CODE' 
org 100h ; DOS tako ucitava .com aplikacije (na ofset 100h)
start:
    mov ah, 0Eh ; funkcija 0Ah bios servisa 10h
    mov cx, 1    ; jedan karakter
    mov si, Zdravo
    mov bh, 0
 
sledeci:
    mov al, [si]     ; podrazumevani segment registar je DS,
    cmp al, '$'
    je exit_to_dos
    int 10h      ; bios rutina
    inc si
    jmp sledeci ; loop umanjuje vrednost u cx za 1, zatim ako cx nije 0 skace na 'sledeci'
 
exit_to_dos:
    mov ax, 4c00h
    int 21h
 
Zdravo:
    db 10, 13, 'Zdravo...', 10, 13, '$'
CSEG    ends
end start
Isto to, ali za NASM:
Kod:
; kompajlirati pomocu NASM-a
; nasmw -f bin -o zdrbiosn.com zdrbiosn.asm
; 
; primer korscenja BIOS rutine za ispis karaktera
; na ekran
[bits 16]
org 100h ; DOS tako ucitava .com aplikacije (na ofset 100h)
start:
    mov ah, 0Eh ; funkcija 0Ah bios servisa 10h
    mov cx, 1    ; jedan karakter
    mov si, Zdravo
    mov bh, 0
 
sledeci:
    mov al, [si]     ; podrazumevani segment registar je DS,
    cmp al, '$'
    je exit_to_dos
    int 10h      ; bios rutina
    inc si
    jmp sledeci ; loop umanjuje vrednost u cx za 1, zatim ako cx nije 0 skace na 'sledeci'
 
exit_to_dos:
    mov ax, 4c00h
    int 21h
 
Zdravo:
    db 10, 13, 'Zdravo...', 10, 13, '$'
Priloženi fajlovi
Tip fajla: zip Zdravo.zip (3,3 KB, 36 puta viđeno)

Poslednja ispravka: rile (16.7.2007 u 18:34) Razlog: Dodao u prilog izvorni kod
rile je offline   Odgovor sa citatom ove poruke
Stara 16.7.2007, 21:27   #20
Patton
Deo inventara foruma
 
Avatar korisnika Patton
 
Član od: 1.11.2005.
Lokacija: Silent Hill
Poruke: 4.647
Zahvalnice: 157
Zahvaljeno 904 puta na 493 poruka
Slanje poruke preko ICQ-a korisniku Patton Slanje poruke preko MSN-a korisniku Patton Slanje poruke preko Yahooa korisniku Patton
Određen forumom Re: Asembler 1

Ja cu pokazati par primera vezanih za VGA grafiku (320x200 pixela, 256 boja). Ali pre nego sto predjemo na to, ne vidim da je iko razjasnio pricu oko registara, koji sve postoje i kako se koriste.

Registri

Registri su ustvari predefinisane variable u asembleru. Ne mozete uraditi nijednu matematicku operaciju ili neko dodeljivanje, poredjenje...itd, bez registara. Mozete da deklarisete koliko god hocete vasih promenljivih, ali da biste baratali njima, morate koristiti registre.

Evo primera:

Imate varijable a = 20 i b = 10.
Hocete da uradite a-b i da rezultat prebacite u c:

Kod:
mov AX, [a] ; prebaci 'a' u registar AX
sub AX, [b] ; oduzmi od AX registra 'b'
mov [c], AX ; prebaci registar AX u 'c'
Registri koji postoje su:

AX - the accumulator
BX - the base
CX - the counter
DX - the displacement

CS - code segment
DS - data segment
ES - extra segment
SS - stack segment

SI - source index
DI - destination index

BP - base pointer
SP - stack pointer

Svaki od njih ima neko ime i to ne uzalud. Pojedine instrukcije ili operacije u asembleru mogu se izvrsiti samo ako su vrednosti nad kojima se barata u odredjenim registrima (recimo instrukcija mul [broj] ce registar AX pomnoziti sa promenljivom 'broj' i rezultat ostaje u AX registru; tako da je na vama da u AX ubacite drugu promenljivu pre mnozenja).

Kada se koristi koji registar se brzo nauci kroz primere, ali pre nego sto predjemo na iste bitno je da znate da neki od registara imaju i svoje pod clanove. To vazi samo za registre AX, BX, CX, DX. To su 16bitni registri. Njihovi podregistri su 8bitni i obelezavaju se AH, AL (accumulator high, low), BH, BL...itd). Ko zna sta su bitovi shvatice da ako uradimo ovo:

Kod:
mov AX, 4c7fh ; h na kraju znaci da je broj hexadecimalan
isto kao da smo uradili ovo:

Kod:
mov AH, 4ch
mov AL, 7fh
Znaci ako je AX 16bitan broj, njegova maximalna vrednost moze biti ffff hexadecimalno, odnosno 65535 decimalno. To znaci da njegovi podregistri mogu biti maximalne velicine ff hexadecimalno, odnosno 255 decimalno. To isto vazi i za BX, CX i DX. Registri ES, DS koje cemo isto cesto korisiti su takodje 16bitni, ali nemaju zvanicno deklarisane podregistre kao ova prva cetiri.

Ovi registri koje sam malo podrobnije objasnio imaju i svoje 32bitne "nadclanove", ali o tome cemo neki drugi put.
Patton je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku Patton na korisnoj poruci:
Stevvan (16.7.2007)
Odgovor

Bookmarks sajtovi

Alatke vezane za temu
Vrste prikaza

Vaš status
Ne možete postavljati teme
Ne možete odgovarati na poruke
Ne možete slati priloge uz poruke
Ne možete prepravljati svoje poruke

BB kod: uključeno
Smajliji: uključeno
[IMG] kod: uključeno
HTML kod: isključeno


Slične teme
tema temu započeo forum Odgovora Poslednja poruka
Asembler : About OFPNogix Programiranje 10 22.2.2007 13:47
Sa kojim programom poceti? vladale Programiranje 41 15.2.2006 9:32


Sva vremena su po Griniču +2 h. Sada je 16:53.


Powered by vBulletin® verzija 3.8.7
Copyright ©2000–2024, vBulletin Solutions, Inc.
Hosted by Beograd.com