Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Студентам с лабораторными сюда (https://forum.antichat.xyz/showthread.php?t=122076)

t3xHuK 20.12.2007 21:09

Цитата:

Сообщение от Shawn1x
А че это за язык у тя?

утром был асм... (масм + библиотека study32.inс)

KEZ 20.12.2007 21:14

Поступило предложение воспользоваться отладченгом и посмотреть в риал-тайме где спряталась ошибко!

t3xHuK 20.12.2007 21:23

Цитата:

Сообщение от kez
Поступило предложение воспользоваться отладченгом и посмотреть в риал-тайме где спряталась ошибко!

скачал олли дебаг, открыл, но тама совсем все не так)
на то чтоб без опыта разобраться что оно там накомпилило надо минимум день...

З.Ы. просто фактически это мой 3 кодинг на асме... отладчиком еще не умею пользоватся...
пошел искать инфу по олли, но это нада на завтра...

закачал архив с исходником и плодами компиляции
брать тут
компилил след строкой
ML /nologo -Zi -c -Fl -Sg -coff str_v_br.asm
линковал этой:
LINK32 /nologo str_v_br.obj user32.lib kernel32.lib Study32.obj /SUBSYSTEM:CONSOLE /DEBUG /MAP

tclover 21.12.2007 11:17

Цитата:

Помогите в написании задания для курсача асм и тоже самое на паскале
Дана строка "YoU ArE DeAd!!!" перевести её в верхний регист, затем в нижний и вывести все три сторки(искодня, верхний регистр, нижний)....
есть маленькие наработки
а что ты не понимаешь?
на ассемблере всё просто -
заглавные буквы от A до Z имеют аски коды 41h-5Ah, строчные - 61h-7Ah. И все они ничем друг от друга не отличаются, кроме пятого бита(здесь был KEZ). Меняя его, ты сможешь выводить как в верхнем регистре, так и в нижнем.
например буква а
A:01000001 и a:01100001
Используй xor.
А как на паскале хз =) я его не знаю

KEZ 21.12.2007 11:46

Автор, без отладченга ты сильно заебешься...

Открываем, попадаем на первую инструкцию
http://img178.imageshack.us/img178/8314/99811595ov5.jpg

F7 - это шаг внутрь, F8 - поверх.
отличие - например, если будет call, то F7 шагнет внутрь процедуры, а F8 - перешагнет этот CALL
F9 - запуск, F2 - брейк-поинт. ENTER - посмотреть что там находится (по джампу, колу или рету, и тп), не переходя.
Нажимаем F8:

http://img20.imageshack.us/img20/6029/66487815xx4.jpg

Идем F8 или F7, проходя твой код, скоро попадаем на
call ReadString
там все останавливается (из-за ReadConsole()) и надо ввести строку.

http://img20.imageshack.us/img20/8692/91993258gu1.jpg

Ну и вот так, пошагово или с брекпойнтами, выполняя, смотрим где логика не соответствует работе программы.
Отладченг - это сила, без него - все бы вымерли давно.

tclover, бита а не байта.

tclover 21.12.2007 11:54

ага. интересно, почему я про байты написал.
ps а я там у тебя в репе вопрос спросил

t3xHuK 21.12.2007 15:21

спс) еще утром все поправил, пошел сдавать)

ЗЫ юзнул ТДебаг, раньше в паскале програмил (1 курс када был)) нашел все без порблем... теперь изучаю инфу по олли )))

***Dr.Freez*** 21.12.2007 15:50

2 tclover, ды я знаю как перевести в верхний и в нижний регистра, я хз как теперь все три строки вывести =)

Shawn1x 21.12.2007 18:36

Задание
используя алгоритмы и контейнеры Stl:
создай список из 20 случаных элементов, со значениями от 1 до 19.
отсортируй список так что бы сначала шли четные элементы
Заранее спасибо

Ded MustD!e 21.12.2007 22:51

Пожалуйста помогите написать хотя бы одну программу на языке Pascal, завтра по этим программам сдавать зачет. Мне сейчас нужно срочно уезжать и у меня физически нет возможности(((( Заранее спасибо тем, кто поможет написать хоть какую-то часть кода!!

1. Пакет операций над матрицами

Требуется написать пакет функций для работы с матрицами размерности 4х4 :

Транспонирование: матрица B получается перестановкой строк и столбцов в исходной матрице A, т.е. для квадратной матрицы bij = aji.

Умножение: произведением матрицы A размерности nхm на матрицу B размерности mхp называется матрица C, каждый элемент cij которой равен сумме
произведений элементов i–й строки матрицы A на соответствующие элементы j–го столбца матрицы B, т.е. cij = ai1b1j + … + aimbmj.

Логические блоки(что нужно сделать):

Генерация 2 исходных матриц (ручная и random).
Транспонирование обеих матриц.
Умножение 2 матриц.
Вывод (любой) матрицы размерности 4х4.

Как и что будет оцениваться преподом:

Содержательная часть:

+5 – операция транспонирование;
+10 – операция умножение.

Интерфейсная часть:

+5 – понятный интерфейс со строками приглашения и пояснениями результатов;
+5 – наличие меню и циклического алгоритма работы программы.

Пояснительная часть:

+2,5 – встроенная система помощи (вывод справочной информации по операциям по специальной команде);
+2,5 – отчёт о проведённом тестировании подробное описание входных и соответствующих им выходных данных, ограничений программы по диапазонам и проч.).

2. Журнал

Требуется создать "Журнал исследователя" для изучения уровня доходов для некоторой группы населения (не более 100 человек).

Логические блоки (базовый пакет):

Добавление данных о возрасте, городе проживания и среднем месячном доходе 1 человека
(с точностью до целых – для числовых данных).

Поиск диапазона введённых значений (для произвольного набора целочисленных
данных).

Поиск среднего значения (для произвольного набора целочисленных данных).

Вывод аналитических данных (диапазона значений и среднего для всех данных о возрасте и всех данных об уровне доходов).

Логические блоки (дополнительный пакет):
Вывод аналитических данных (диапазон и среднее) для заданной пользователем возрастной группы (вход: диапазон возраста группы).

Построение соотношения "возраст-доход" для каждого человека и вывод аналитических данных: возрастание / убывание дохода с возрастом.
Анализ и вывод данных по каждому городу: диапазон и среднее, отклонение среднего для города от среднего для всех данных. Возможность добавления новых статистических данных и повтора анализа.

Как и что будет оцениваться преподом:

Содержательная часть:

+5 – базовый пакет операций;
+25 – дополнительный пакет операций.

Интерфейсная часть:

+5 – понятный интерфейс со строками приглашения, циклическим вводом данных до специальной команды пользователя и пояснениями результатов;
+5 – наличие меню и циклического алгоритма работы программы.

Пояснительная часть:

+2,5 – встроенная система помощи (вывод справочной информации о возможностях программы по специальной команде);
+2,5 – отчёт о проведённом тестировании (подробное описание входных и соответствующих им выходных данных, ограничений программы по диапазонам и проч.).


Время: 01:40