«« ( Date ) »» // «« ( Thread ) »» // mips-nastava - 2008

2 pitanja u vezi asemblera

by Ivan Vujic
utorak, 22. januar 2008 - 12:23.

1.Zasto se desava da kada neku pozovem proceduru posle ispisa da mi ne ispise sve sto bi trebalo, a ako je stavim ispred onda ne ispise nista:

Primer:
.code
mov ax,@data
mov ds,ax

Inic PROC
ret
Inic ENDP

mov dx,OFFSET Meni1
mov ah,9
int 21h
mov dx,OFFSET Meni2
mov ah,9
int 21h
call Inic
mov ah,4Ch
int 21h
end

Ako ovo call Inic stavim ili ispred ispisa poruka ili na samom pocetku koda meni se ove poruke ne ispisuju uopste, dok kada se stavi gde sada stoji ispisuje recimo prvu poruku dobro, dok drugu ispise do pola.

Radim sa masm16 bitnim koji je poslat na ovu grupu pre par dana.A bio sam i 26-ci i sve su mi narezali za mips i vlsi i tamo nema 16bitnog asemblera, vec samo 32bitnog masm-a.

2.Zasto ne radi uopste sa nizovima kako treba.
Recimo imam sledeci deo koda:

.data
ut1t dw 12 dup (?)
ut1 dw 0

.code
mov si,1
mov ut1,1
mov ut1t[si],1
mov ax,1
cmp ax,ut1t[si]
jz skoci

skoci:...
E pa on nikada ne skace, tj. compare kao da ne radi, probao sam i oduzimanje pa da tako dobijem nulu, ali ni to ne pomaze.Pokusao sam da ut1t[si] stavljam u bx pa da vrsim cmp, ali ni to ne radi.