Вниз
Скачать: 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.02 c
14-1086964065
Delphin
2004-06-11 18:27
2004.07.04
Красивый интерфейс


4-1085408812
tower
2004-05-24 18:26
2004.07.04
Запустить процес и подождать пока работает


6-1084010482
slgeo
2004-05-08 14:01
2004.07.04
ServerSocket не обрабатывает данные от 2 клиентов


3-1086191903
IVS
2004-06-02 19:58
2004.07.04
Неоправданно вырос файл базы InterBase


1-1087382032
Relaxxx
2004-06-16 14:33
2004.07.04
Работа с TreeView, подскажите как сделать?




   Наверх