Форум
» Назад на решение задач по физике и термеху
Регистрация | Профиль | Войти | Забытый пароль | Присутствующие | Справка | Поиск

» Добро пожаловать, Гость: Войти | Регистрация
    Форум
    Информационные технологии
        Решение задач по Ассемблеру
Отметить все сообщения как прочитанные   [ Помощь ]
» Добро пожаловать на форум "Информационные технологии" «

Переход к теме
<< Назад Вперед >>
Несколько страниц [ 1 2 3 4 5 6 7 8 9 10 11 12 ]
Модераторы: paradise, KMA
  

MDC



Новичок

Помогите пожалуста решить задачу  "Заполнить массив D(K) элементами массва MAS(10),стоящими на нечетных местах.Найти минимальный элемент в новом массиве... заранее благодарен!

Всего сообщений: 2 | Присоединился: ноябрь 2009 | Отправлено: 12 нояб. 2009 15:51 | IP
banderlog



Новичок

люди добрые я прошу вас кто знает ассемблер напишите пожалуйста или хотя бы начните решать чтоб я понял или объяснить как делать
задача заключаеться в следующем: необходимо написать файловый менеджер на 4 программы.  программы почти написаны только я не понимаю как вообще написать этот файловый менеджер.....
Заранее благодарю..
все ответы прошу вас прислать решения по почте gostuhinav@mail.ru

Всего сообщений: 3 | Присоединился: ноябрь 2009 | Отправлено: 26 нояб. 2009 10:41 | IP
Orchid


Новичок

Ребят,кто может помочь с задачами по ассемблеру?

Всего сообщений: 1 | Присоединился: декабрь 2009 | Отправлено: 14 дек. 2009 21:41 | IP
KMA



Долгожитель


Ребят,кто может помочь с задачами по ассемблеру?


Тема называется -- решение задач по ассемблеру... Довольно глупо задавать данный вопрос в этой теме.

Если у тебя есть какие-то мысли по поводу твоей задачи, конкретные вопросы, то я ПОМОГУ. Но если тебе требуется решение, то я пожалуй воздержусь.

Всего сообщений: 940 | Присоединился: декабрь 2005 | Отправлено: 17 дек. 2009 16:35 | IP
salamat



Новичок

Помогите решить задачу на Ассемблере 6.Из массива Д (25) переписать элементы с нечетными номерами в массив Т (13). Элементы массива Т сложить и его сумму вывести на печать

Всего сообщений: 1 | Присоединился: декабрь 2009 | Отправлено: 22 дек. 2009 9:23 | IP
Vera


Новичок

РЕБЯТ, ПОМОГИТЕ, ПОЖАЛУЙСТА...НУЖНО ПРОКОММЕНТИРОВАТЬ ПРОГУ ОЧЕНЬ ПОДРОБНО(ВПЛОТЬ ДО ТОГО "ДЛЯ ЧЕГО НУЖНА ДАННАЯ СТРОЧКА"). В АССЕМБЛЕРЕ ПРАКТИЧЕСКИ НИЧЕГО НЕ ПОНИМАЮ...
ОЧЕНЬ СРОЧНО...УЖЕ БЕЗВЫХОДНОЕ ПОЛОЖЕНИЕ

.386 ;Работает, начиная с процессора Intel 80386
.model flat,stdcall; Работает, начиная с OC Windows 95
option casemap:none ;Отключаем чувствительность к регистру (большие и маленькие буквы одно и тоже)

; Подключаем необходимые для работы WinAPI-функций библиотеки
includelib ..\lib\user32.lib
include    ..\include\user32.inc
includelib ..\lib\kernel32.lib
include ..\include\windows.inc
include ..\include\kernel32.inc
StrToDigit proto WORD ;Объявляем прототип процедури перевода (чтобы ассемблер проверил правильность ее работы во время компиляции)

.data ; Сегмент данных
digit1  dd ?; Определяем переменную "двойное слово" изначально не заданную для первого числа
digit2  dd ?; Определяем переменную "двойное слово" изначально не заданную для второго числа
nod     dd ?; Переменная для перевода числа в строку
ter     dd 0 ; Константа для проверки принимает ассемблер второе число или только первое(чтобы второе число получить)
cwritten dd ?
stdout   dd ?;Выделяем память для для идентификатора устройства вывода
ifmt     db "%d",0 ;Задаем тип преобразования строки в число для WinAPI функции wsprintfи ("%d",0 преобразование одного целого числа в последовательность символов)
buf dd ?,0dh ; выделяем память для буфера
cread    dd ?
stdin    dd ?;Выделяем память для для идентификатора устройства ввода
msg1   db "Введите А: " ; Переменная с сообщением (появляется на экране)
msg2   db "Введите В: "
msg3   db "y^2 = A*x + B",13,10
msg4   db "удвоенное А: "
msg5   db "удвоенное В: "
msg6   db 13,10

.code
start:
;Получаем идентификаторы устройств ввода и вывода, сохраняем их в соответствующих переменных
invoke GetStdHandle,STD_OUTPUT_HANDLE
mov stdout,eax
invoke GetStdHandle,STD_INPUT_HANDLE
mov stdin, eax
;Делаем понятный интерфейс (пишем в консоль что делает программа)

invoke WriteConsoleA ,stdout,addr msg3,sizeof msg3, addr cwritten,0
invoke WriteConsoleA ,stdout,addr msg1,sizeof msg1, addr cwritten,0
readdd:
;Метка для повтора ввода числа (получения второго)

invoke ReadConsole, stdin,addr buf,sizeof buf,addr cread,0 ;Считываем в буфер введенное в консоль число
invoke StrToDigit,addr buf   ;Вызываем процедуру перевода строки в число                  
;Сама процедура перевода (такая же как в прошлой задаче)
StrToDigit proc addrs WORD
mov esi, addrs
mov ecx,10
mov ebx,0
mov eax,0
next:
mov bl, [esi]
sub bl, 30h
add eax, ebx
inc esi
mov bl, [esi]
cmp bl, 0dh
jz done
mul ecx
jmp next
done:
StrToDigit endp ;Описание процедуры закончилось
;Проверяем принимаем ли мы второе число
mov ecx,ter
cmp ecx,0 ;Сравниваем ecx и 0
jz first ;В случае равенства мы запустили процедуру впервые, переходим на метку first
mov digit2,eax ;Сохраняем второе число, если первое уже было принято и переходим к началу выполнения программы
jmp begining

first:
mov digit1,eax
;В следующих 2-х строчках мы увеличиваем константу для проверки, что вводимое число уже второе
inc ecx
mov ter,ecx
invoke WriteConsoleA ,stdout,addr msg2,sizeof msg2, addr cwritten,0 ;Процедура, выводящая символы на экран
jmp readdd ;Возвращаемся к запросу числа, получаем второе
;Основная часть программы
begining:

mov eax,digit1;Помещаем первое число в регистр eax
mov ebx,2 ;Присваиваем регистру ebx значение 2
mul ebx ;Умножаем содержимое eax на ebx (удваиваем число)
;Печатаем результат
invoke wsprintf ,addr nod,addr ifmt,eax ;Переводим удвоенное число в строку
invoke WriteConsoleA ,stdout,addr msg4,sizeof msg4, addr cwritten,0 ;Процедура, выводящая символы на экран
invoke WriteConsoleA ,stdout,addr nod,sizeof nod, addr cwritten,0
invoke WriteConsoleA ,stdout,addr msg6,sizeof msg6, addr cwritten,0
;Проделываем то же самое, за счет чего удваиваем втрое число и выводим его на печать
mov eax,digit2
mov ebx,2
mul ebx
invoke wsprintf ,addr nod,addr ifmt,eax
invoke WriteConsoleA ,stdout,addr msg5,sizeof msg5, addr cwritten,0 ;Процедура, выводящая символы на экран
invoke WriteConsoleA ,stdout,addr nod,sizeof nod, addr cwritten,0
;Завершаем работу программы

invoke ExitProcess,0
end start

Всего сообщений: 1 | Присоединился: декабрь 2009 | Отправлено: 25 дек. 2009 2:10 | IP
tan4uk


Новичок

помогите пожалста девушке решить задачу,я понимаю,но не все...надо вывести букву К из середины экрана в правый нижний угол...завтра послезавтра сдавать:'(

Всего сообщений: 2 | Присоединился: декабрь 2009 | Отправлено: 27 дек. 2009 19:24 | IP
tan4uk


Новичок

ПОМОГИТЕ!!!!нужно вывести букву к из середины экрана в правый нижний угол!!!ХЭЛПП!!!!завтра послезавтра сдавать:'(((((

Всего сообщений: 2 | Присоединился: декабрь 2009 | Отправлено: 27 дек. 2009 20:18 | IP
Vadik1928



Новичок

прошу помогите решить одну задачку!!
Вывести прописью введённое с клавиатуры число из диапазона [0...1000]. Завершение программы по нажатию ESC

Всего сообщений: 1 | Присоединился: январь 2010 | Отправлено: 6 янв. 2010 15:23 | IP
MnBMnB


Новичок

Помогите с решением задачи:
дан файл text.txt, заменить одно слово другим в этом файле.
1. слово буду вводить с клавиатуры, используя функцию dos 0а в ds:dx при входе адрес буфера, который при выходе будет содержать введенную строку (я буду вводить в соответствии с постановкой задачи лишь одно слово).
2. открою файл функцией dos 3dh
3. как мне реализовать поиск слова по файлу?
подозреваю, что тут замешана функция dos 42h - переместить указатель чтения-записи или dos 3f - чтение из файла
4. замена одного слова на другое dos 40h
5. закрытие файла dos 3e.
кроме вопроса в 3м пункте, напишите критику по алгоритму


(Сообщение отредактировал MnBMnB 17 янв. 2010 4:49)

Всего сообщений: 2 | Присоединился: январь 2010 | Отправлено: 17 янв. 2010 4:47 | IP

Отправка ответа:
Имя пользователя   Вы зарегистрировались?
Пароль   Забыли пароль?
Сообщение

Использование HTML запрещено

Использование IkonCode разрешено

Смайлики разрешены

Опции отправки

Добавить подпись?
Получать ответы по e-mail?
Разрешить смайлики в этом сообщении?
Просмотреть сообщение перед отправкой? Да   Нет
 

Переход к теме
<< Назад Вперед >>
Несколько страниц [ 1 2 3 4 5 6 7 8 9 10 11 12 ]

Форум работает на скрипте © Ikonboard.com