Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted by heban ( 16 years ago )
.model tiny
.stack 512
.data
tekst db "Wprowadz 10 liczb: ",13,10,"$"
x dw 0
y dw 0
entere db 13,10,"$"
tekst2 db "Wynik: ",13,10,"$"
.code
start:
mov ax,@data ; info gdzie znajduje sie segment danych
mov ds,ax
mov ah,9
mov dx,offset tekst
int 21h
mov cl,5
Petla:
;nieparzyste
mov ah,01h
int 21h
sub ax,130h
cmp x,'0'
jnz omin
mov x,ax
omin:
add x,ax
mov ah,9
mov dx,offset entere
int 21h
xor ax,ax
;parzyste
mov ah,01h
int 21h
sub ax,130h
cmp y,'0'
jnz omin2
mov y,ax
omin2:
add y,ax
mov ah,9
mov dx,offset entere
int 21h
xor ax,ax
loop Petla
mov ax,x
sub ax,y
mov x,ax
mov ah,9
mov dx,offset tekst2
int 21h
call wyswietl
koniec:
mov ah, 4ch ; Koniec programu
int 21h
wyswietl PROC
Push CX
mov ah,9
mov dx,offset entere
int 21h
mov ax,x
cmp ax,0
jz zero
MOV CX,5 ; ilosc cyfr
MOV BX,10000 ; najwieksza waga liczby jaka mozna miec
etykieta:
call podzielz
cmp ax,0
JNZ skok
call podzielb
loop etykieta
skok:
dec cx
call wys
jcxz kon
call podzielb
skok1:
call podzielz
call wys
call podzielb
loop skok1
kon:
pop CX
ret
zero:
call wys
jmp kon
wyswietl ENDP
podzielz PROC ; procedura ktora dzieli nasza zmienna
mov ax,x
mov dx,0
div bx
mov x,dx
ret
podzielz ENDP
podzielb PROC ; procedura przez ktora dzielimy
mov ax,bx
mov dx,0
mov bx,10
div bx
mov bx,ax
ret
podzielb ENDP
wys PROC
add ax,48d
mov ah,02h ; wyswietlenie znaku
mov dl,al
int 21h
ret
wys ENDP
end start
Revise this Paste