Witam serdecznie forumowiczów. Poniższy program ma obliczać sumę liczb ujemnych w tablicy. Lecz nie mogę go uruchomić na 64 bitowym windowsie, czy jest w ogóle taka opcja? Drugi problem dotyczy samego kodu, program wyświetla się i znika, nic nie wypisuje. To wina kodu czy ja nie potrafię go właściwie uruchomić? Bardzo proszę o pomoc. Z góry dziękuję.
;----------------------------------
; wejscie:
; CX=ilosc slow w tablicy
; DX=poczatek tablicy
; wyjscie:
; BX = suma liczb ujemnych
;----------------------------------
format MZ
entry main:start ; program entry point
stack 100h ; stack size
segment main ; main program segment
start:
mov ax,dane
mov ds,ax
mov dx,tablica
mov cx,10 ;cx = ilosc slow w tablicy
;------------------------------------
DodajUjemne:
mov bx,bx ;bx=0
cld ;zerowanie wskanika DF - wskaľnik kolejnej danej w tablicy
;bedzie zwiekszany po kazdymodcycie
next:
lodsw ;AX = dana z tablicy
test ah,ah ;ustaw znacznik czy SF - znak liczby
;pomin jesli pobrana z tablicy liczba_
jns dodatnia ;liczba jest dodatnia
add bx,ax
dodatnia:
loop next ;tablica=tablica-1 , jesli nie koniec to next
;koniec
mov ax,4C00h
int 21h
segment dane
tablica dw -1,1,-2,-5,-7,0,-15,-13,-25,-110