Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

zadatak u asembleru za intel 8085

[es] :: Asembler :: zadatak u asembleru za intel 8085

[ Pregleda: 4556 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Kolins Balaban
Kolins Balaban
Srednja bosna

Član broj: 4847
Poruke: 1318
80.65.66.*

ICQ: 166070540


+8 Profil

icon zadatak u asembleru za intel 808514.07.2006. u 08:31 - pre 215 meseci
pozdrav raja. imam problem oko razumjevanja rjesenja jednog zadatka iz asemblera mikroprocesora 8085. napisat cu zadatak, i rjesenje, i dio koji ne razumijem.

ZADATAK: U memoriji mikroracunara nalazi se niz od 300 podataka pocev od adrese 0906h (h je u indexu ;)). izvrsiti sabiranje podataka koji imaju neparan broj jedinica i odrediti broj takvih podataka. rezultat smjestiti na dvije lokacije pocev od 0000h. Podaci su takvi da je njihova suma manja od 255. program pocinje od adrese 0020h.

RJESENJE ZADATKA:
NAME ZAD
ORG 0020H
LXI B,012Ch
LXI H,0906h
MVI D,00h
MVI E,00h
L1: MOV A,M
JPE L2
INR D
ADD E
MOV E,A
L2: INX H
DCX B
MOV A,B
ORA C
JNZ L1
MOV A,E
STA 0000h
MOV A,D
STA 0001h
HLT

zanima me, sta radi dio koda
MOV A,B
ORA C
JNZ L1
ORA C je logicko "ILI" akumulatora i registra C
Nadam se, da cete shvatiti sintaxu programa, jer ni sam ne znam da li je to standradna sintaxa za ovaj procesor, ili je neki pseudo kod. Unaprijed vam hvala!!
MyCoNfa:
CPU: AMD Phenom II X4 965 3,4GHz BOX
Maticna:Asus M4A89GTD PRO
RAM: Corsair 4x2GB 1600MHz, 9-9-9-24
Grafa: Diamond ATI 5870 1GB
HDD:3xWD 320GB AAKS, stripe raid
DVD/RW:LG,SATA
SilverStone SST-ST50F 500W
CoolerMaster CM690
LG 24" 2453TQ-PF
Tastatura A4Tech X7 G800
Stakor: A4Tech X7-755FS
 
Odgovor na temu

tosa
上海, 中国

Član broj: 1811
Poruke: 1342
222.64.105.*

ICQ: 14293955
Sajt: https://github.com/milost..


+48 Profil

icon Re: zadatak u asembleru za intel 808514.07.2006. u 15:32 - pre 215 meseci
Skače na labelu L1 ako je bilo koji bit registra A ili C različit od nule.
 
Odgovor na temu

Kolins Balaban
Kolins Balaban
Srednja bosna

Član broj: 4847
Poruke: 1318
80.65.66.*

ICQ: 166070540


+8 Profil

icon Re: zadatak u asembleru za intel 808514.07.2006. u 17:13 - pre 215 meseci
da, ali sta mu je u registru C?? znam da je mu je B brojac podataka kojeg smjesta u akumulator (MOV A,B), i da se smanjuje stalno i moguce je da bude nula. ali sto dira C, sta je u njemu? kako se ono mijenja?cime ga mijenja?
MyCoNfa:
CPU: AMD Phenom II X4 965 3,4GHz BOX
Maticna:Asus M4A89GTD PRO
RAM: Corsair 4x2GB 1600MHz, 9-9-9-24
Grafa: Diamond ATI 5870 1GB
HDD:3xWD 320GB AAKS, stripe raid
DVD/RW:LG,SATA
SilverStone SST-ST50F 500W
CoolerMaster CM690
LG 24" 2453TQ-PF
Tastatura A4Tech X7 G800
Stakor: A4Tech X7-755FS
 
Odgovor na temu

Mikky

Član broj: 18
Poruke: 1563
..njuel-bg.customer.sbb.co.yu.

ICQ: 44582291


+58 Profil

icon Re: zadatak u asembleru za intel 808514.07.2006. u 21:05 - pre 215 meseci
Citat:
Kolins Balaban
zanima me, sta radi dio koda
MOV A,B
ORA C
JNZ L1
ORA C je logicko "ILI" akumulatora i registra C
Nadam se, da cete shvatiti sintaxu programa, jer ni sam ne znam da li je to standradna sintaxa za ovaj procesor, ili je neki pseudo kod. Unaprijed vam hvala!!


Koliko ja vidim registar C se nigde pre toga ne koristi u programu... Proveri da li je to resenje tacno.


-I know UNIX, PASCAL, C, FORTRAN,
COBOL, and nineteen other high-tech
words.
 
Odgovor na temu

Kolins Balaban
Kolins Balaban
Srednja bosna

Član broj: 4847
Poruke: 1318
80.65.66.*

ICQ: 166070540


+8 Profil

icon Re: zadatak u asembleru za intel 808515.07.2006. u 10:13 - pre 215 meseci
hmmmm nisi u pravu Mikky, koristi registar C. u 8085 su registri osmobitni, a on mora ucitati broj podataka, tj 300=012Ch, koji je veci od 255. zato to ucitava u registarski par (B,C), (koji je tada sesnaestnobitni) i to ovako 01--->(B) i 2C---->(C) ako sam dobro shvatio. to radi komandom LXI B, 012Ch. ali opet ne kontam onaj dio koda :(((
MyCoNfa:
CPU: AMD Phenom II X4 965 3,4GHz BOX
Maticna:Asus M4A89GTD PRO
RAM: Corsair 4x2GB 1600MHz, 9-9-9-24
Grafa: Diamond ATI 5870 1GB
HDD:3xWD 320GB AAKS, stripe raid
DVD/RW:LG,SATA
SilverStone SST-ST50F 500W
CoolerMaster CM690
LG 24" 2453TQ-PF
Tastatura A4Tech X7 G800
Stakor: A4Tech X7-755FS
 
Odgovor na temu

Kolins Balaban
Kolins Balaban
Srednja bosna

Član broj: 4847
Poruke: 1318
80.65.66.*

ICQ: 166070540


+8 Profil

icon Re: zadatak u asembleru za intel 808516.07.2006. u 21:28 - pre 215 meseci
pa zar niko da pomogne ovdje smrc smrc :(((( dajte ljudi molim vas
MyCoNfa:
CPU: AMD Phenom II X4 965 3,4GHz BOX
Maticna:Asus M4A89GTD PRO
RAM: Corsair 4x2GB 1600MHz, 9-9-9-24
Grafa: Diamond ATI 5870 1GB
HDD:3xWD 320GB AAKS, stripe raid
DVD/RW:LG,SATA
SilverStone SST-ST50F 500W
CoolerMaster CM690
LG 24" 2453TQ-PF
Tastatura A4Tech X7 G800
Stakor: A4Tech X7-755FS
 
Odgovor na temu

tosa
上海, 中国

Član broj: 1811
Poruke: 1342
*.ubisoft.com.cn.

ICQ: 14293955
Sajt: https://github.com/milost..


+48 Profil

icon Re: zadatak u asembleru za intel 808517.07.2006. u 03:35 - pre 215 meseci
Priručnik u šake i shvatićeš i sam... Do sada si mogao da naučiš sve instrukcije napamet.
 
Odgovor na temu

Boro7
RS

Član broj: 55325
Poruke: 6
*.team.ba.



Profil

icon Re: zadatak u asembleru za intel 808529.07.2007. u 19:46 - pre 202 meseci
dcx b ; dekrementira registarski par (B,C) tj. (B,C)-1->(B,C)

Code:

;zanima me, sta radi dio koda 
MOV A,B
ORA C
JNZ L1


proverava da li je brojac na nuli
(posle naredbe ora c zastavica zero bice Z=1 akko su registri b(koji se premesta u a, da bi se izvrsila logicka ili operacija)=0000 0000 i c=0000 0000, tj. ako je brojac bc=0)

Kada imas brojac koji je veci od 255 (decimalno) uvek moras proveru brojaca realizovati na taj nacin (tj. ne moze samo
dcx b
jnz l1)

Dobro pitanje jeste zasto se zastavica zero ne menja posle naredbe
dcx b
u slucaju kada je bc=0 (tj. bc=1 pre naredbe dcx b)?


[Ovu poruku je menjao Boro7 dana 29.07.2007. u 22:58 GMT+1]
 
Odgovor na temu

SAFF
Computer Art

Član broj: 49147
Poruke: 161
77.46.252.*

Jabber: esad@dr.com
Sajt: www.esad.tk


Profil

icon Re: zadatak u asembleru za intel 808502.12.2007. u 23:55 - pre 198 meseci
Vidim da je rec o skokovima i uporedjivanju pa me interesuje kako da resim probelem veszan za stringove koji ce ispisivati samo [si+2] %2==0 naravno ovo samo izgled pomislim da treba ovako...
Evo i primera znaci zadatak je glasio da na osnovu unetog stinga program upita korisnika da mu se ispise taj string u obrnutom redosledu tj. 123456 kao 654321 ili kao sto je napisan pr. 123456, treca stavka bi bila da se ispisu svi neparni elementi stringa tj. 135 i na kraju problem koji nisam uspeo resit da se ispisu parni elemnti tj. 246.

to sve sam pokusao odraditi preko procedure:

Code:


    parni proc
    
            mov ah,09h
            lea dx,porukaP
            int 21h
            lea si, bafer
            
    Par_petlja:
            
            mov bx,[si+2]
            cmp bl,'$'
            je Par_kraj_reda
            mov dx, bx
            mov ah,02h
            int 21h
            
                                 
            inc si
            inc si
            mov bx,[si+1]
            cmp bl,'$'
            je Nep_kraj_reda
            inc si
            jmp Nep_petlja
            
    Par_kraj_reda:
            ret 
    parni endp



Gde Gresim!!!
Ovde za uneti string 123456 kao rezultat parnih daje 146 umesto 246!
SAFF
Alles ist in ordnung...
http://www.esad.tk
 
Odgovor na temu

SAFF
Computer Art

Član broj: 49147
Poruke: 161
212.200.206.*

Jabber: esad@dr.com
Sajt: www.esad.tk


Profil

icon Re: zadatak u asembleru za intel 808504.12.2007. u 12:35 - pre 198 meseci
Evo resenja pa mozda nekom zatreba:

Code:

parni  proc
          
          mov ah,09h
          mov dx,offset porukaP
          int 21h
          lea si,bafer
    
    Par_petlja:    
        
        mov bx, [si+2]
        cmp bl, '$'
        je Par_kraj_reda
        
        inc si
        mov bx,[si+2]
        cmp bl, '$'
        je Par_kraj_reda
        
        mov dx,bx
        mov ah,02h
        int 21h    
        
        inc si
        jmp Par_petlja
        
    Par_kraj_reda:
        ret
    parni endp


SAFF
Alles ist in ordnung...
http://www.esad.tk
 
Odgovor na temu

[es] :: Asembler :: zadatak u asembleru za intel 8085

[ Pregleda: 4556 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.