|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Июн 14, 2004 22:28:22 в чем ошибка нужно найти сумму элементов выше главной диагонали матрицы???? .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 |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.048 |