![]() |
|
|
![]()
|
|
| Torrero |
|
||||||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 14.11.2006 Репутация: нет Всего: нет |
В общем есть массив:
Далее мы копируем в него 3 буквы введенные с клавы...Но далее мне нужно сравнивать то что было введено с клавы с другой строкой...Сравниваем конечно же при помощи
в регистр SI заносим адрес строки с которой сравниваем, а в DI адрес массива заполненным с клавиатуры.Т.к. все это в формате .сом и грузится с дискеты(пишу свою ос) offset не работает, поэтому указываем адрес в оперативке, и для массива это "846bh"... Но конечно же нифига сработало,и как не крутись желаемого результата не было (вводишь команду, сравнивает, и выдает то что что должен),но потом пошел по другому пути:
и всё заработало!вводишь команду и она чёто делает, и даже то что должна делать!!! Тогда решил для эксперимента вывести на экран разными способами содержимое массива: 1.
2.
В первом случае все нормально то что ввел с клавы то и выводиться на экран, но во втором случае появляются эти чертовы звездочки!!!поэтому у него и получалось все время что строки не равны! А теперь наконец-то вопросы: 1. если по адресу где хранится массив находятся звездочки то где же в памяти храниться то что я ввел с клавы? 2. как лучше всего сравнить то что ты ввел с клавиатуры с другим словом??? Это сообщение отредактировал(а) Torrero - 8.12.2008, 16:33 |
||||||||||
|
|||||||||||
| Mikl_ |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 9.11.2007 Репутация: 6 Всего: 14 |
Torrero, Ох уж эти мне осе-писатели. Не слишком, ли вы себе сложную задачу выбрали для первого раз?
Глядя на код
Torrero, не стесняйся задавать вопросы, но в начале прочитай хотябы ту литературу по ассемблеру, что размещена в ASM --> Asm для начинающих --> Сборник книг по Ассемблеру многое, очень многое там разжовано, не стесняйтесь читать и эксперементировать Это сообщение отредактировал(а) Mikl_ - 5.12.2008, 04:50 |
||||
|
|||||
| Torrero |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 14.11.2006 Репутация: нет Всего: нет |
Вы думайте я от нефиг делать начал писать эту "ос"? у нас предмет есть такой,и на лабах нужно написать свою ос.
А вот эту фигню(кстати спасибо что указали, а то я и не заметил Насчет дебаггера признаюсь, нас в универе не учили им пользоваться, вроде бы чего-то говорили про ему8086..В общем какой вы посоветуйте? З.Ы. И все же, посоветуйте плиз как узнать адрес в оперативке, учитывая то что сама прога загружается по адресу 8400Н... я думаю дебаггер тут вряд ли поможет ведь она работает с дискеты, а если запускать из виндоус, то это уже совсем "другое" будет... Это сообщение отредактировал(а) Torrero - 5.12.2008, 11:12 |
||||
|
|||||
| Mikl_ |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 9.11.2007 Репутация: 6 Всего: 14 |
Torrero, для работы с программами под DOS ищи afd.exe для работы с программами под Windows для начинающего лучше всего OllyDbg -- изверг у вас преподаватель, у вас основ, то программирования не заложено, а ему уже оси подавай, он наверное не в курсе, что это работа не одного года для коллектива из нескольких опытных программистов -- примерно, то же самое если ты только начал осваивать арифметику, а вам пытаются преподавать интегральное и дифференциальное исчисление. Поубывав бы таких преподов. Программа не может загружаться по фиксированному адресу -- она ляжет туда, куда ее ОС запихнет, а какой там уж будет адрес это еще бабушка надвое сказала. Прежде чем ты будешь запускать свою программу с дискеты тебе много раз придется запускать ее с жесткого диска под управлением Windows и исправлять ошибки. Не обижайся
|
|||
|
||||
| Torrero |
|
||||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 14.11.2006 Репутация: нет Всего: нет |
Послушайте я и не пытаюсь претендовать на мега-прогера, да и про уровень высшего образования в молдове я спорить не буду, хотя много чего мог бы сказать...Я просто хочу что бы мне подсказали в данном конкретном случае:как сделать то что было описано мною в первом посте! Я и сам прекрасно понимаю что нифига не знаю про ассемблер, просто сейчас мне надо сделать лабы, а времени для детального изучения у меня не особо есть, тем более я очень сомневаюсь что даже если прочту некоторые книги про асм, это хоть чем-то поможет в написании лабораторных, ведь во многих книжках упор в основном идет но программирование под вундоус .
Не совсем понял, если я например написал загрузчик который загружает со 2-го сектора дискеты в память по адресу 7e00h, ведь эта прога будет находиться именно поэтому адресу, и "контроль" ты передаешь подобным образом:
Что значит
Какая ос??? ведь мы грузимся с дискеты на которой у нас есть загрузчик на 1-ом секторе и другая белиберда на других секторах?! |
||||||||
|
|||||||||
| Mikl_ |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 9.11.2007 Репутация: 6 Всего: 14 |
Torrero, пока ты учишься -- никому в голову не придет обвинять тебя в том, что ты пытаешься "претендовать на мега-прогера". Настораживает вот эта фраза "Я и сам прекрасно понимаю что нифига не знаю про ассемблер, просто сейчас мне надо сделать лабы, а времени для детального изучения у меня не особо есть, тем более я очень сомневаюсь что даже если прочту некоторые книги про асм, это хоть чем-то поможет в написании лабораторных" -- в переводе с молдавского с нативного языка автора -- хотя мне и подсказали где взять книги, но читать их я не буду, ибо влом, а лучше, чем ерунду советовать, делайте за меня.
![]() Это сообщение отредактировал(а) Mikl_ - 9.12.2008, 14:47 |
|||
|
||||
| Torrero |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 14.11.2006 Репутация: нет Всего: нет |
Ты слишком слабо акцентировал внимание на том что я молдаванин Мне вот одно непонятно: где ты прочитал что я прошу сделать что-то за меня? у меня все лабы итак почти готовы, если бы я хотел чтобы все сделали за меня я написал бы в центр помощи(хоть я и молдаванин но разделы различать умею Хотя не спорю может я не правильно, по дурацки, изложил в чем мой вопрос... Попытаюсь еще раз: Я считываю в массив с клавиатуры, 3 буквы, (изначально массив заполнен звездочками) но когда я вывожу содержимое массива на экран (вывожу путём указания адреса в памяти этого массива), то получаются все равно звездочки, но если я укажу номер элемента ( mas[0] например) то все прекрасно работает. А теперь внимание!вопрос: где же тогда содержится в памяти то что я ввел с клавы? как можно вывести на экран весь массив сразу, а не по одной букве( сначала mas[0] выводишь, затем mas[1], и так далее)? Сначала ты написал про то что нужно пользоваться отладчиком для того чтобы выяснить адрес, я попытался объяснить что все загружается с дискеты!Эта программа сама дальше подгружает еще кое-какие файлы в память, поэтому очень как то проблематично использовать отладчик в виндоусе... Но затем ты написал какой-ко бред про то что прога ложится в память туда куда его ос закинет и посоветовал сначала позапускать её под виндой, но опять же, повторюсь, это проблематично поскольку загружая с дискеты (функция 02Н, 13 прерывания) я указываю в регистре ВХ адрес куда вся это лабуда загружается, а затем, в зависимости от указанного адреса, совершаю другие насильственные акты над ассемблером путём указания адреса Кстати заметь в моем посте, до этого, я тебя спросил нормально, что ты имел ввиду когда сказал "она ляжет туда, куда ее ОС запихнет". Но ты это проигнорировал... видимо тебе интересней пофлудить и повыяснять отношения... З.Ы. 1 Хоть я считаю что все люди братья(ну или сестры З.Ы. 2 Видимо придется делать кучу сравнений(((... Это сообщение отредактировал(а) Torrero - 8.12.2008, 15:06 |
|||
|
||||
| Mikl_ |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 9.11.2007 Репутация: 6 Всего: 14 |
Torrero, ясли б я хотел акцентировать внимание, то пошутил бы и про румын, и про мамалыгу, и про гастербайтеров, но заметь я этого не делал. Во вложении отладчик Advanced Fullscreen Debug v2.0
Присоединённый файл ( Кол-во скачиваний: 5 )
afd.zip 46,12 Kb |
|||
|
||||
![]()
|
| Правила форума "Asm: Общие вопросы" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Asm: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |