Asembler -Pomoc

Asembler -Pomoc

offline
  • Pridružio: 01 Mar 2005
  • Poruke: 549
  • Gde živiš: Apatin

E ovako jako mi lose ide asembler a treba da uradim sledeci zadatak ...nemam uopste ideju kako da pocnem!Pa kao moze mala pomoc (molim vas za postepeno objasnjenje svakog koraka)

? Napisati program koji ce zvezdicu da pomera po ekranu (gore dole levo desno) u zavisnosti od pritiska strelica na ESC se izlazi iz programa a sa Enter prelazi u novi red??

Dopuna: 20 Dec 2005 23:57

Ovo sam resio ali sada imam neki novi problem:
Koristeci program za generisanje slucajnih brojeva napisati program za realizaciju sledece igre:
-Racunar bira broj na slucajan nacin iz intervala [1,100]
-Igrac je duzan da pogodi broj,pri cemu ga racunar obavestava dali je izabran veci ili manji od zamisljenog
- na kraju kad se pogodi broj ispisati iz koliko je pokusaja igrac pogodio

//svaka pomoc je dobrodosla molim vas da stavite komentare sta koji deo radi... da se lakse snadjem

Dopuna: 21 Dec 2005 0:06

Hvala na trudu:
ORG 100h
jmp start
niz1 db ' Pogadjaj broj: $'
niz2 db ' Broj je manji od unetog! $'
niz3 db ' Broj je veci od unetog! $'
niz4 db ' Pogodio si! Broj pokusaja: $'

start:
xor ax,ax
xor bx,bx
xor cx,cx
xor dx,dx
mov si,0
mov ah,00h
int 1Ah
mov ax,cx
add ax,dx
cmp al,100
jle a
sub al,100
cmp al,100
jle a
sub al,100
a:
mov bl,al

ajmo:
mov dx,offset niz1
mov ah,9h
int 21h
ajmo1:
mov ah,01h
int 21h
sub al,30h
mov bh,10
mul bh
mov dh,al
mov ah,01h
int 21h
sub al,30h
add al,dh
inc si
cmp al,bl
je kraj
cmp al,bl
jl veci
cmp al,bl
jg manji


veci:
mov dx,offset niz3
mov ah,9h
int 21h
jmp ajmo1

manji:
mov dx,offset niz2
mov ah,9h
int 21h
jmp ajmo1

kraj:
mov dx,offset niz4
mov ah,9h
int 21h
mov ax,si
add al,30h
mov ah,0eh
int 10h

ret



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Strog  Male
  • Stručni saradnik
    Web programiranje
  • Bojan Kopanja
  • Web & Mobile developer @ ZeusSoftware
  • Pridružio: 26 Jul 2003
  • Poruke: 2597
  • Gde živiš: Stara Pazova

Koji je ovo assembler uopste? Ajde ako imas okaci ovde linker, assembler i debuger da mogu da probam kod, bice mi lakse kad vidim sta je krajnji rezultat, da ne nabadam sada ovako napamet... Sad sam dosao sa kolokvijuma, tako da nisam u stanju da razmiljam Very Happy. Koliko vidim na netu ovaj interapt 1A ( int 1Ah ) je vezan za system timer ( time, date, timer itd. ), a to mi se nikako ne uklapa u program pa hocu prvo da vidim na sta to lici kada se pokrene da znam o cemu pricam Smile.

Dopuna: 22 Dec 2005 17:32

Aha... Program preko sistemskog tajmera uzima taj random broj ( kakav sam lik, pa tako random funkcija i radi Smile )... Ajde samo mi ti probaj nabaviti ovo sto sam ti gore rekao, pa cu ti tacno reci sta i kako radi.



offline
  • Pridružio: 01 Mar 2005
  • Poruke: 549
  • Gde živiš: Apatin

To ti je pisano za Emu8086 imash ovde sve sto ti je potrebno http://www.apatin-city.com/ilija/
Nemorash da mi objasnjavas nista sredio sam sve...
int 1ah ti uzima sistemsko vreme i ubacuje u CX:DX
zasto se to neuklapa?
Dobices slucajan broj i posle treba da ga pogadjas?

Dopuna: 28 Dec 2005 10:57

Inace ja ovo nisam napisao! Lik koji je ovo u potpunosti napisao mozete naci ovde:
http://www.apatin-city.com/4um/index.php?action=profile;u=76
----------------------------------------------------------------------
ORG 100h

jmp generat

niz1 db ' Pogadjaj broj: $'

niz2 db ' Broj je manji od unetog! Pokusaj ponovo: $'

niz3 db ' Broj je veci od unetog! Pokusaj ponovo: $'

niz4 db ' Pogodio si! Broj pokusaja: $'



generat:

xor ax,ax

xor bx,bx

xor cx,cx

xor dx,dx

mov si,0

mov ah,00h

int 1Ah

mov ax,dx

mul cx

xor ah,ah

cmp ax,100

jl a

sub ax,100

cmp ax,100

jl a

sub ax,100





a:

mov bl,al



ajmo:

mov dx,offset niz1

mov ah,9h

int 21h

ajmo1:

mov ah,01h

int 21h

sub al,30h

mov bh,10

mul bh

mov dh,al

mov ah,01h

int 21h

sub al,30h

add al,dh

inc si

cmp al,bl

je kraj

cmp al,bl

jl veci

cmp al,bl

jg manji





veci:

mov dx,offset niz3

mov ah,9h

int 21h

jmp ajmo1



manji:

mov dx,offset niz2

mov ah,9h

int 21h

jmp ajmo1



kraj:

mov dx,offset niz4

mov ah,9h

int 21h

mov ax,si

div bh

push ax

add al,30h

mov ah,0eh

int 10h

pop ax

mov al,ah

add al,30h

mov ah,0eh

int 10h

mov ah,01h

int 16h

mov cx,5

s:

push cx

mov cx,0fh

mov dx,4240h

mov ah,86h

int 15h

pop cx

loop s:



ret

offline
  • Strog  Male
  • Stručni saradnik
    Web programiranje
  • Bojan Kopanja
  • Web & Mobile developer @ ZeusSoftware
  • Pridružio: 26 Jul 2003
  • Poruke: 2597
  • Gde živiš: Stara Pazova

Stenley ::int 1ah ti uzima sistemsko vreme i ubacuje u CX:DX
zasto se to neuklapa?
Dobices slucajan broj i posle treba da ga pogadjas?


Pa vidis da sam se ispravio cim sam malo razmislio i da sam i rekao o cemu se radi Smile. OK, ako ti vise ne treba... Jbg, zao mi je sto nisam bio malo brzi. Drugi put Wink.

offline
  • Pridružio: 01 Mar 2005
  • Poruke: 549
  • Gde živiš: Apatin

Hvala u svakom slucaju!

Ko je trenutno na forumu
 

Ukupno su 783 korisnika na forumu :: 2 registrovanih, 1 sakriven i 780 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: lcc, saputnik plavetnila