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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.05.2017, 20:15   #21
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Цитата:
Сообщение от Cuprum5 Посмотреть сообщение
Сами сделайте, если так хотите!
..да легко:
Код:
;Fasm-code..
;------------
org   100h
jmp   start

rezz     dw     0
X        dw     5,6,7,2,3,4,15,1,2,8
len      =      ($-X)/2         ; длина массива в словах

start:  push  X  len            ;
        pop   cx si             ; SI-адрес, СХ-длина
        mov   di,si             ; текущая позиция макс.
        mov   bx,[X]            ; текущее макс.
@00:    lodsw                   ; АХ - слово из SI (SI+2)
        cmp   ax,bx             ; сравнить..
        jle   @01               ; если меньше
        xchg  ax,bx             ; иначе: обменять
        lea   di,[si-2]         ;   ..и DI позиция
@01:    loop  @00               ; повторить СХ-раз.

        xchg  ax,bx             ; АХ = макс.элемент
        mul   di                ; умножить на позицию
        mov   [rezz],ax   ;<----; Решение в переменной!

        xor   ax,ax             ; Game Over.
        int   16h               ;
        ret
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 19.05.2017, 20:36   #22
Cuprum5
Форумчанин
 
Регистрация: 09.05.2017
Сообщений: 746
По умолчанию

Я тут тоже произведение нашел. А как теперь все это красиво вывести, я имею ввиду типа написать в таком формате примерно:

Numer Max Element = 6
Max Element = 15
Ih Proizvedenie = 90
- то что выводится в консоль.
Т.е. мне нужно знать, как сначала вывести строку, потом вывести число, которое может быть от 0 до 65535 или от-32768 до 32768(автор темы, кстати, знаковые числа или беззнаковые?), а ну перенос строки я уже знаю как делается.
Кстати, я тоже знаю как делается текстовая строка, как-то так по-моему:
Код:
TextString1 db 'Number Max Element = '
Правильно здесь написал, надеюсь?
Напишу программу на C++ и Asm для AVR. Черчение: sergeisky@yahoo.com.
Cuprum5 вне форума Ответить с цитированием
Старый 19.05.2017, 22:12   #23
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Цитата:
Сообщение от Cuprum5 Посмотреть сообщение
Кстати, я тоже знаю как делается текстовая строка, как-то так по-моему:
Код:
.model tiny
jmp    start

mes0   db  13,10, 'Numer Max Element: $'
mes1   db  13,10, 'Max Element......: $'
mes2   db  13,10, 'Proizvedenie.....: $'

start: mov   ah,9
       lea   dx,mes0
       int   21h
;....
       mov   ah,9
       lea   dx,mes1
       int   21h
;....
       mov   ah,9
       lea   dx,mes2
       int   21h

       mov   ah,1
       int   21h
       ret
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 19.05.2017, 22:13   #24
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

..для перевода числа в строку есть спец\процедуры
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 20.05.2017, 08:34   #25
Cuprum5
Форумчанин
 
Регистрация: 09.05.2017
Сообщений: 746
По умолчанию

Цитата:
Сообщение от R71MT Посмотреть сообщение
Код:
mes0   db  13,10, 'Numer Max Element: $'
mes1   db  13,10, 'Max Element......: $'
mes2   db  13,10, 'Proizvedenie.....: $'
- спасибо за код, скажите еще, пожалуйста, что значат цифры 13 и 10 в этом коде?
Напишу программу на C++ и Asm для AVR. Черчение: sergeisky@yahoo.com.
Cuprum5 вне форума Ответить с цитированием
Старый 20.05.2017, 08:37   #26
Cuprum5
Форумчанин
 
Регистрация: 09.05.2017
Сообщений: 746
По умолчанию

А, это перевод строки. Понял теперь.
Напишу программу на C++ и Asm для AVR. Черчение: sergeisky@yahoo.com.
Cuprum5 вне форума Ответить с цитированием
Старый 20.05.2017, 10:20   #27
Cuprum5
Форумчанин
 
Регистрация: 09.05.2017
Сообщений: 746
По умолчанию

А как стек настроить неподскажете. Линкер пишет: Warning: No stack. И действительно стека никакого нету. SS указывает на 0. Он в принципе работает, только переворачивается в обратную сторону, что не очень хорошо, точнее очень нехорошо.:D Как стек настроить? Может настройки какие-нибудь есть?
Напишу программу на C++ и Asm для AVR. Черчение: sergeisky@yahoo.com.
Cuprum5 вне форума Ответить с цитированием
Старый 20.05.2017, 10:29   #28
7in
(aka Jin X) !RTFM!
Форумчанин
 
Аватар для 7in
 
Регистрация: 14.12.2014
Сообщений: 296
По умолчанию

Размер данных, короче, получается в итоге. В байтах. А тебе надо в словах, поэтому делим на 2.
Делаю лабы на Asm/Delphi/C++/Python/VBA(Excel): asmlabs.ru
7in вне форума Ответить с цитированием
Старый 20.05.2017, 10:55   #29
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Цитата:
Сообщение от Cuprum5 Посмотреть сообщение
А как стек настроить неподскажете
я привёл пример com-файла (.model tiny), а он размещается в одном сегменте, поэтому стек определять не нужно. Для exe-файла (.model small), нужно настраивать и определять и сегмент данных, и сегмент стека, т.к. каждая\его секция грузится в свой сегмент:
Код:
.model small
.stack 100h         ; определяем стек
.data
mes0   db  'Hello World! $'

.code
start:
   mov  ax,@data 
   mov  ds,ax       ; настраиваем сегментный регистр(DS)
  
   mov  ah,9
   lea  dx,mes0
   int  21h
;...
ret
end
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Старый 20.05.2017, 11:35   #30
Cuprum5
Форумчанин
 
Регистрация: 09.05.2017
Сообщений: 746
По умолчанию

О! Пошло, Спасибо!
Напишу программу на C++ и Asm для AVR. Черчение: sergeisky@yahoo.com.
Cuprum5 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти номер строки и столбца максимального элемента.(PascalABCNET) FlayGlam Помощь студентам 3 04.12.2016 04:42
Найти номер первого из ее столбцов, содержащих максимальное количество одинаковых элементов (Delphi) ALEXandr20333 Помощь студентам 12 18.02.2014 21:39
Как найти номер максимального елемента dimko28 Общие вопросы C/C++ 1 13.11.2013 00:52
Найти наименьшие элементы в каждой строке матрицы и номер максимального из них fort-_-minor Общие вопросы C/C++ 3 22.05.2013 15:44
В матрице найти число положительных элементов указанной строки и умножить это число на элементы указанного столбца. (Паскаль) Julichka1k Помощь студентам 4 18.12.2011 20:35