[ASM] Co spartolilem ?

Odpowiedz Nowy wątek
2006-11-14 22:07
Szyn3k
0

Co w tym kodzie jest nie tak ze niedziala
(program ma obliczyc d/(b-c)*(a+b) )
podkreslam ze jestem bardzo bardzo poczatkujacym w asm...
Prosze o pomoc, wskazowki.
z gory thx !

.MODEL SMALL
ASSUME CS:Dane, DS:Kod, SS:Stosik
Dane SEGMENT

a DB 2
b DB 1
c DB 5
d DB 3

Dane ENDS
Kod SEGMENT

Start:
mov ax, SEG DANE
mov ds,ax
mov bx, 0

mov ax, WORD PTR d
mov bx, WORD PTR b
sub bx, WORD PTR c

div BYTE PTR bx

mov bl, a

add bl, b
;AX=BL*AL
mul bl

mov dx,ax
mov ah,02h
int 21h

Kod ENDS

Stosik SEGMENT

Stosik ENDS

END Start

Pozostało 580 znaków

2006-11-14 23:27
0

mov bx, word ptr b
wrzuci 2 bajty, czyli i b i c (tylko polaczone w postaci liczby 2-bajtowej)
daj:
mov bx, 0
mov bl, b


Jest jeszcze jeden błąd :)
Unix is user friendly. It's just very particular about who it's friends are.

Pozostało 580 znaków

2006-11-15 08:11
0

staraj się przestrzegać, że jak deklarujesz zmienną jako Define Byte, to deklarujesz 1 bajt pamięci i przy wywoływaniu uzywaj DB => byte ptr, do samo tyczy się słów DW => word ptr


<span style="color: blue">"Kolarstwo to jedna z najtrudniejszych dyscyplin sportu. Nawet najgorszy kolarz jest wciąż wybitnym sportowcem."
s.p. Marco Pantani
</span>

Pozostało 580 znaków

2006-11-20 19:34
Szyn3k
0

fakt zwrocilem uwage na to co mowicie :)
dzieki za pomoc :)
poprawilem:

ASSUME   CS:Kod, DS:dane, SS:Stosik
Dane            SEGMENT

a               DW     2
b               DW     1
c               DW     5
d               DW     3

i

                               mov     ax, d
                               mov     bx,b

i dziala :)

Pozostało 580 znaków

2006-12-01 11:50
0

jest jeszcze inne wyjście:
db d
db b

movzx ax,b
movzx bx,d


"Sugeruję wyobrazić sobie Słońce widziane z orbity Merkurego, a następnie dupę tej wielkości. W takiej właśnie dupie specjalista ma teksty o wspaniałej atmosferze, pracy pełnej wyzwań i tworzeniu innowacyjnych rozwiązań. Pracuje się po to, żeby zarabiać, a z resztą specjalista sobie poradzi we własnym zakresie, nawet jeśli firma mieści się w okopie na granicy obu Korei."
-somekind,
konkretny człowiek-konkretny przekaz :]

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0