Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.03.2013, 20:15   #1
ProfessorShady
Новичок
Джуниор
 
Регистрация: 04.12.2012
Сообщений: 2
По умолчанию Среднее арифметическое элементов массива

Подскажите, пожалуйста, а можно ли вывести число таким образом? Сейчас выводит 41B3, но это не то, подскажите что не так с кодом?
делал в tasm
Код:
module Lab02
.model small
.stack 100h 
_Data_  SEGMENT                 ; var
   x    DB 10 DUP (?) ; мн-во   ;    x: array 10 byte;
   n    DB ? ; мощность мн-ва   ;    n: byte;
   M    DW ? ; результат M      ;    M: word;
   i    DB ? ; смещение         ;    i: byte;
res db 6 dup(?)
del dw 16
chararray db '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'
_Data_  ENDS
                   ;
_Code_  SEGMENT                 ;
        ASSUME DS:_Data_        ;
;        ASSUME SS:_Stack_       ;
        ASSUME CS:_Code_        ;
Begin:                          ; code
   mov    ax, _Data_            ;
   mov    ds, ax                ;
   mov    x,     5              ;    x[0] :=   5;
   mov    x+1,   7              ;    x[1] :=   7;
   mov    x+2,  25              ;    x[2] :=  25;
   mov    x+3, 150              ;    x[3] := 150;
   mov    x+4,  96              ;    x[4] :=  96;
   mov    x+5,  54              ;    x[5] :=  54;
   mov    x+6, 198              ;    x[6] := 198;
   mov    x+7,  24              ;    x[7] :=  24;
   mov    x+8,  15              ;    x[8] :=  15;
   mov    x+9,  83              ;    x[9] :=  83;
   mov    n, 10                 ;    n := 10;
   mov    M, 0                  ;    M := 0;
   mov    al, n                 ;    i := n;
   mov    i, al                 ;
SumC:                           ;    while i > 0
   cmp    i, 0                  ;
   jbe    SumOK                 ;
   dec    i                     ;       i := i - 1;
   mov    bl, i                 ;       M := M + x[i]
   xor    bh, bh                ;
   mov    al, x[bx]             ;
   xor    ah, ah                ;
   add    M, ax                 ;
   jmp    SumC                  ;    end;
SumOK:                          ;
   mov    ax, M                 ;    M := M/n
   div    n                     ;
   mov    BYTE PTR M+1, al      ;
   xor    al, al                ;
   div    n                     ;
   mov    BYTE PTR M, al
   mov    ax, M 
   mov    cx, 4
L1:                              
   mov dx,0
   mov di,cx
   div del
   mov bx,dx
   mov dl,chararray[bx]
   mov res[di-1],dl
   loop L1
   mov res[4],'$'
   mov ah,9
   mov dx, offset res
   int 21h
                          
   mov    ax, 4C00h             ;
   int    21h                   ;
_Code_  ENDS                    ;
                                ;
        END Begin               ; end
ProfessorShady вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
среднее арифметическое элементов массива povsednevnost Паскаль, Turbo Pascal, PascalABC.NET 4 24.09.2012 22:37
Найти среднее арифметическое элементов массива [Паскаль] ГениальныйИнФормат Помощь студентам 7 20.12.2010 08:24
Делфи.среднее геометрическое элементов массива.среднее арифметическое каждой строки матрицы Karrina Помощь студентам 0 06.12.2010 18:32
найти среднее арифметическое элементов массива состоящее из 5 элементов viatlon Общие вопросы C/C++ 9 12.12.2009 00:45