Ramzey » 02 янв 2007, 20:52
вот без ввода
Код: Выделить всё
.model tiny
.code
.data
ORG 100h
cLenArr equ 15
BEGIN:
push cs
pop ds
xor ax, ax
mov cx, cLenArr
lea bx, arr
xor dh, dh
SolveSum:
mov dl, byte ptr[bx]
add ax, dx
inc bx
loop SolveSum
mov bx, cLenArr
div bl ;vychisliaem sr. arifm.
lea bx, chastnoe ;perevodim chastnoe
mov dh, ah ;sohr ostatok
mov cx, 2 ;cikl iz 2 raz
nextdiv:
xor ah, ah
div Hundred ;vydeliaem sotni
mov byte ptr[bx], al
shr ax,8
div Ten ;desiatki
mov byte ptr[bx+1], al
mov byte ptr[bx+2], ah
mov al, dh
lea bx, ostatok ;perevodim ostatok
loop nextdiv
mov cx, 3
ascii1:
mov bx, cx
add byte ptr [ostatok+bx-1], 30h ;ostatok v ascii
loop ascii1
mov cx, 3
ascii2:
mov bx, cx
add byte ptr [chastnoe+bx-1], 30h ;chastnoe v ascii
loop ascii2
mov ah, 9
lea dx, strchast
int 21h
mov ax,4c00h
int 21h
;nash massiv
arr db 255,213,12,44,55,99,23,32,123,43,34,234,129,1,10
strchast db 'Chastnoe='
chastnoe db '000',13,10
strost db 'Ostatok='
ostatok db '000',13,10,'$'
Ten db 10
Hundred db 100
END BEGIN
вот без ввода
[code]
.model tiny
.code
.data
ORG 100h
cLenArr equ 15
BEGIN:
push cs
pop ds
xor ax, ax
mov cx, cLenArr
lea bx, arr
xor dh, dh
SolveSum:
mov dl, byte ptr[bx]
add ax, dx
inc bx
loop SolveSum
mov bx, cLenArr
div bl ;vychisliaem sr. arifm.
lea bx, chastnoe ;perevodim chastnoe
mov dh, ah ;sohr ostatok
mov cx, 2 ;cikl iz 2 raz
nextdiv:
xor ah, ah
div Hundred ;vydeliaem sotni
mov byte ptr[bx], al
shr ax,8
div Ten ;desiatki
mov byte ptr[bx+1], al
mov byte ptr[bx+2], ah
mov al, dh
lea bx, ostatok ;perevodim ostatok
loop nextdiv
mov cx, 3
ascii1:
mov bx, cx
add byte ptr [ostatok+bx-1], 30h ;ostatok v ascii
loop ascii1
mov cx, 3
ascii2:
mov bx, cx
add byte ptr [chastnoe+bx-1], 30h ;chastnoe v ascii
loop ascii2
mov ah, 9
lea dx, strchast
int 21h
mov ax,4c00h
int 21h
;nash massiv
arr db 255,213,12,44,55,99,23,32,123,43,34,234,129,1,10
strchast db 'Chastnoe='
chastnoe db '000',13,10
strost db 'Ostatok='
ostatok db '000',13,10,'$'
Ten db 10
Hundred db 100
END BEGIN
[/code]