Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.04;
Скачать: CL | DM;

Вниз

i il be back!!!!   Найти похожие ветки 

 
rulezz   (2004-06-14 22:20) [0]

А вот и снова я с асмом!!!!

в чем ошибка, неправильно считае элементы выше главной диагонали матрицы????

.model small
.stack 100h
.data

N DW 2  ;Obrabotka iz 2 v ASCII
BINVV DW ?  ;input
ASCII DB 5 DUP("$"),"$" ;exit

sum dw 0
per1 dw ?
per2 dw ?
per3 dw ?
per4 dw ?
per5 dw ?
per6 dw ?

slovo_vivod db "Summa= ","$"
str3 db 10, 13, "Sum of matrix elements upper main diagonal = $"

matr dw  00, 01, 02, 03, 04, 05, 06, 07, 08, 09
    dw  10, 11, 12, 13, 14, 15, 16, 17, 18, 19
    dw  20, 21, 22, 23, 24, 25, 26, 27, 28, 29
    dw  30, 31, 32, 33, 34, 35, 36, 37, 38, 39
    dw  40, 41, 42, 43, 44, 45, 46, 47, 48, 49
    dw  50, 51, 52, 53, 54, 55, 56, 57, 58, 59
    dw  60, 61, 62, 63, 64, 65, 66, 67, 68, 69
    dw  70, 71, 72, 73, 74, 75, 76, 77, 78, 79
    dw  80, 81, 82, 83, 84, 85, 86, 87, 88, 89
    dw  90, 91, 92, 93, 94, 95, 96, 97, 98, 99

.code
.8086   ; This part of the program must run on an 8086

start:
mov ax,@data
mov ds, ax   ;set segment register
xor ax,ax

;main

lea dx,str3
mov ah,9
int 21h
call sum_upper

mov ax,4c00h  ; terminate program
int 21h

sum_upper proc

mov bx,matr
xor cx,cx
xor ax,ax
.vert_cycle:
mov si,9*2
.hor_cycle:
add ax,[bx+si]
dec si
dec si
cmp si,cx
jg .hor_cycle
add bx,10*2
inc cx
inc cx
cmp cx,9*2
jl .vert_cycle
call print_ax

retn

sum_upper endp

print_ax proc

test ax,ax
jns .no_sign
push ax
mov ah,2
mov dl,"-"
int 21h
neg ax
.no_sign:
mov cx,10
xor bx,bx
.rev_int_cycle:
xor dx,dx
div cx
push dx
inc bx
test ax,ax
jnz .rev_int_cycle
.forw_int_cycle:
pop dx
add dl,"0"
mov ah,2
int 21h
dec bx
jnz .forw_int_cycle

retn
print_ax endp

;------------------------Procedur-OFF---------------------------------

end start


 
GuAV ©   (2004-06-14 22:37) [1]


> print_ax proc
>
> test ax,ax
> jns .no_sign
> push ax
> mov ah,2

а где соотв pop -?


 
имя   (2004-06-14 22:40) [2]

Удалено модератором


 
имя   (2004-06-14 22:41) [3]

Удалено модератором



Страницы: 1 вся ветка

Текущий архив: 2004.07.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.021 c
1-1087370524
ПсихЪ
2004-06-16 11:22
2004.07.04
Как передать процедуре из DLL процедуру в качетсве параметра.


14-1087058594
AZ
2004-06-12 20:43
2004.07.04
Upgrade hardware & setup Win98


3-1086781586
BorisMor
2004-06-09 15:46
2004.07.04
ADO и CD


3-1086670978
TATIANA
2004-06-08 09:02
2004.07.04
Файлы FoxPro и Delhpi


6-1082697863
RAIN
2004-04-23 09:24
2004.07.04
Послать сообщение дугому ПК