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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 09.11.2018, 20:19   #1
coldq
 
Регистрация: 09.11.2018
Сообщений: 6
По умолчанию tasm

Помогите написать программу на TASM !!!!
Нужно создать массив из N чисел. Определить, сколько нулей находится до минимального значения в массиве ( если несколько минимальных значений, то минимальным считать последнее значение, если минимальное значение находится в начале массива, то вывести сообщение об этом и прекратить обработку) и среднее арифметическое положительных чисел, находящихся после минимального значения( если положительных чисел нет, то вывести сообщение об этом)

Последний раз редактировалось coldq; 10.11.2018 в 12:46.
coldq вне форума
Старый 09.11.2018, 23:39   #2
7in
(aka Jin X) !RTFM!
Форумчанин
 
Аватар для 7in
 
Регистрация: 14.12.2014
Сообщений: 295
По умолчанию

coldq, вы начните, а мы поможем.
Вам же помочь надо, а не за вас сделать?
Делаю лабы на Asm/Delphi/C++/Python/VBA(Excel): asmlabs.ru
7in вне форума
Старый 09.11.2018, 23:51   #3
coldq
 
Регистрация: 09.11.2018
Сообщений: 6
По умолчанию

Код:
use16           ;Генерировать 16-битный код
org 100h        ;Программа начинается с адреса 100h 

length  db 10  ;длина массива
array db -1,2,-3,4,5,0,-2,2,8,4  ;массив 

mov bx,array    ;В DX адрес строки.
movzx cx,[length] ;CX = длина массива


mov di,cx
dec di
add di,bx   ;DI = адрес последнего элемента (для последнего мин. элемента )

mov ax,4C00h    ;\
int 21h         ;/ Завершение программы
Пока только получилось вот это. Не знаю как определить сколько 0 находится до минимального значения. Помогите!

_____
Код программы нужно выделять (форматировать) тегами [CODE] [/CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 09.11.2018 в 23:57.
coldq вне форума
Старый 10.11.2018, 11:33   #4
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Цитата:
Сообщение от coldq Посмотреть сообщение
Не знаю как определить сколько 0 находится до минимального значения.
так сперва нужно найти это минимальное, а потом уже кол-во нулей
Нашедшего выход - затаптывают первым..
R71MT вне форума
Старый 10.11.2018, 12:22   #5
coldq
 
Регистрация: 09.11.2018
Сообщений: 6
По умолчанию

Код:
use16           ;Генерировать 16-битный код
org 100h        ;Программа начинается с адреса 100h
jmp start       ;Безусловный переход на метку start 

length  db 10  ;длина массива
array db -1,2,-3,4,5,0,-2,2,8,4  ;массив  

start:
mov bx,array    ;В DX адрес строки.
movzx cx,[length] ;CX = длина массива

xor al,al  ; указатель на 1-й элемент, принятый за начальный минимум
cmp al,[dx] ;сравнение AL и DX
jnc min  ;переход к min если больше
mov al,[dx] ;Поместить DX в регистр Al

min:
inc dx ;увеличение на 1
dec cx ;Уменьшить CX на единицу
jnz start  ;переход к start


exit:
mov ax,4C00h    ;\
int 21h         ;/ Завершение программы
;----------------------------------------------------------
может как то так? я уже не знаю как
coldq вне форума
Старый 10.11.2018, 12:28   #6
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Цитата:
Сообщение от coldq Посмотреть сообщение
xor al,al ; указатель на 1-й элемент, принятый за начальный минимум
Числа тут знаковые, значит старший бит каждого байта определяет знак.
Если он (0) - число положительное, если (1) - отрицательное.
Итого мак.байт со-знаком получается (1)1111111b = +/-127.
Теперь ответь на вопрос, какое число будет на этой шкале минимальным?
Код:
+127 <------- 0 -------> -127
Нашедшего выход - затаптывают первым..
R71MT вне форума
Старый 10.11.2018, 12:33   #7
coldq
 
Регистрация: 09.11.2018
Сообщений: 6
По умолчанию

Цитата:
Сообщение от R71MT Посмотреть сообщение
Числа тут знаковые, значит старший бит каждого байта определяет знак.
Если он (0) - число положительное, если (1) - отрицательное.
Итого мак.байт со-знаком получается (1)1111111b = +/-127.
Теперь ответь на вопрос, какое число будет на этой шкале минимальным?
Код:
+127 <------- 0 -------> -127
-127 получается

Последний раз редактировалось coldq; 10.11.2018 в 13:07.
coldq вне форума
Старый 10.11.2018, 12:51   #8
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

если не уверен, можешь спросить у препода, и определить нормально задание.
например, что больше: -1 или -127 ???

можешь спросить у гугла
Нашедшего выход - затаптывают первым..

Последний раз редактировалось Вадим Мошев; 13.11.2018 в 22:17.
R71MT вне форума
Старый 10.11.2018, 12:59   #9
coldq
 
Регистрация: 09.11.2018
Сообщений: 6
По умолчанию

Ну как то так
Изображения
Тип файла: jpg Безымянный.jpg (8.8 Кб, 130 просмотров)
coldq вне форума
Старый 13.11.2018, 22:16   #10
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Тема закрыта, автор заказал разработку во фрилансе: http://www.programmersforum.ru/showthread.php?p=1758010
Вадим Мошев вне форума
Закрытая тема


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TASM NinjaNoob Помощь студентам 2 16.11.2012 23:38
TASM дело тонкое!:) (Где в TASM IDE?) 3.14oner Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 9 15.11.2011 16:20
TASM Hant111 Фриланс 5 23.03.2010 21:54
TASM romale Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 16.12.2009 23:03