Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.032 c
1-1087333802
AndrewVolkov
2004-06-16 01:10
2004.07.04
Listview style vsList


4-1085147479
DoG
2004-05-21 17:51
2004.07.04
ReadFile !


14-1087463770
skiFF
2004-06-17 13:16
2004.07.04
мне просто интересно...


6-1084345574
FireMan_Alexey
2004-05-12 11:06
2004.07.04
Вопрос по сокетам!


14-1086979817
X9
2004-06-11 22:50
2004.07.04
Дрова на Lucent под Linux




   Наверх