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
|
|
|