Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на Assembler

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133

Открыть новую тему     Написать ответ в эту тему

ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Обсуждаются все вопросы, связанные с программированием на Ассемблере как общего так и конкретного характера.
 
важное примечание
для тех кто считает, что здесь место халявных исполнений курсовых и лабораторных работ.
тут обычно помогают тем, кто сам хоть что-то пытается понять и сделать, но что-то не понимает, что-то не получается...
ведь ассемблер изучают и задачки на нём дают обычно не менеджерам по продажам и даже не всем физ.-мат. специальностям
вы сами избрали этот путь? вот и идите по нему сами, ножками... с ручками и с головой...
 
короче, тут не сборище придурков-альтруистов, которым нечего делать и они ждут-не дождутся когда вы их попросите
что-то сделать _за_ вас
если позарез надо и вы даже готовы заплатить, тогда вам сюда
удачи
 
некоторые ресурсы
http://www.wasm.ru/ Самый популярный русскоязычный ресурс. https://wasm.in/
Ассемблер - книги (ASM, Assembler)
 
Просьба все большие листинги оформлять тегом more.
 
если вам вдруг не отвечают или ответ вас не устраивает
и вообще полезно прочитать всем спрашивающим

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 01:42 29-11-2006 | Исправлено: akaGM, 17:44 11-06-2020
Master_Profi

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Смотрим здесь:  
http://lmgtfy.com/?q=%D0%BC%D0%B0%D1%81%D1%81%D0%B8%D0%B2+%D0%B0%D1%81%D1%81%D0%B5%D0%BC%D0%B1%D0%BB%D0%B5%D1%80

браво, я как бы вводил, но видимо не нашел конкретного, а второй сайт крутой! я там начало прочитал, но дальше нет, т.к. мне надо было срочно знать и времени не было...вот подумал чтобы вы обьяснили, "из уст" оно намного лучше звучит + можно задать вопрос. И в том же Гугле введут в поиск "массивы в ассемблере" и возможно наткнутся на эту ветку, где возможно будет все доходчиво обьяснено...так чем же это плохо

Цитата:
xor ax, ax  
 mov cx, 3  
 lea bx, word ptr array3

что значят эти команды? xor я так понял мы обнуляем регистр ax? а почему именно ax?
и во второй команде почему заносим число 3 именно в регистр cx?? а не какой-то другой например
ну третью команду я не понял...вот прошу комментарии...т.к. с гугла с комментариями и человеческими обьяснениями не нашел!

Всего записей: 68 | Зарегистр. 13-11-2010 | Отправлено: 01:45 11-06-2011
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Master_Profi

Цитата:
т.к. с гугла с комментариями и человеческими обьяснениями не нашел!  

парень, а ты книжки умеешь читать, или только "с гугла"?
всё это самые примитивные и основные команды ассемблера, кот. описаны _в любой_ книге
 
это я щас написал их три, а когда _за тебя_ их напишут 133, то тоже надо будет каждую описывать? так что учите матчасть...

Всего записей: 24107 | Зарегистр. 06-12-2002 | Отправлено: 01:52 11-06-2011
KChernov



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Master_Profi

Цитата:
И в том же Гугле введут в поиск "массивы в ассемблере" и возможно наткнутся на эту ветку, где возможно будет все доходчиво обьяснено

А надо ли?
Если в Яндексе/Гугле и так по этим словам выдаётся куча примеров, где всё доходчиво объяснено? Зачем нужен ещё 1?
И кстати на эту тему по этому сочетанию среди первых 50 запросов ссылки нет.
Зато есть на эту.
И как? Полегчало?

Всего записей: 2471 | Зарегистр. 20-04-2004 | Отправлено: 10:17 11-06-2011
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Master_Profi
вот тебе простейший пример из разряда "если бы"
если бы ты прочитал введение в ассемблер, то выучил бы его "алфавит", и следующие два вопроса просто бы не возникли:
Цитата:
xor я так понял мы обнуляем регистр ax? а почему именно ax? и во второй команде почему заносим число 3 именно в регистр cx??

потому что:
ax -- accumulative register, аккумулирующий регистр (в нём обычно собирают суммы и делают всяческий i/o)
bx -- base register (для базового адреса)
cx -- counter register (регистр для счётчиков)
dx -- data register
 
и это только "алфавит"...
 
а иначе не стать и ни мастером и ни профи...

Всего записей: 24107 | Зарегистр. 06-12-2002 | Отправлено: 18:34 11-06-2011 | Исправлено: akaGM, 14:22 16-06-2011
KChernov



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM

Цитата:
а иначе не стать и ни мастером и ни профи...

Я вообще плохо себе понимаю смысл этой тавтологии.
Ведь эти слова - синонимы.

Всего записей: 2471 | Зарегистр. 20-04-2004 | Отправлено: 18:59 11-06-2011
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KChernov
если это вопрос ко мне, то я всего лишь обыгрывал ник...

Всего записей: 24107 | Зарегистр. 06-12-2002 | Отправлено: 19:04 11-06-2011
Master_Profi

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
разници не играет какой ник!

Всего записей: 68 | Зарегистр. 13-11-2010 | Отправлено: 12:27 13-06-2011
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
эт точно, никакой...

Всего записей: 24107 | Зарегистр. 06-12-2002 | Отправлено: 14:33 13-06-2011
MERCURY127



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

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

Бгг, я эпизодически асм учу уже лет 7, и до сих пор не выучил защищенный режим и 64 бита... памяти на компе 1 гиг, и не на чем проверять идеи. Что и куда он "вводил" ???

Всего записей: 11554 | Зарегистр. 03-08-2008 | Отправлено: 14:54 13-06-2011
Master_Profi

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Бгг, я эпизодически асм учу уже лет 7, и до сих пор не выучил защищенный режим и 64 бита... памяти на компе 1 гиг, и не на чем проверять идеи. Что и куда он "вводил"  ???

наверное запрос в гугл, или есть другие варианты? можно вслух. чтоб мне стало тоже также смешно

Всего записей: 68 | Зарегистр. 13-11-2010 | Отправлено: 04:22 22-06-2011
MERCURY127



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Гуглом еще надо уметь пользоваться он нужен, чтоб искать ответы на конкретные, четко сформулированные узкие вопросы, типа "формат строки printf",  а не для таких "как научится жить?"... Этому нужно учится самому. Приспичило тебе учить ассемблер - так будь любезен его учить, да не за три дня до сессии, а годами. Книжки читай хотя бы, да проверяй пальцами, правильно ли понял. Книжки, кстати, в шапке имеются и в основном как раз нагуглены - пример правильного использования гугла.

Всего записей: 11554 | Зарегистр. 03-08-2008 | Отправлено: 09:24 22-06-2011
A1exSun



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Может кто-то написать на ассемблере аналог этому коду C?

Код:
bios = peekb(0xF000,0xFFFE);

Функция peekb. То есть нужно извлечь байт по адресу 0xF000 со смещением 0xFFFE и записать его в переменную bios.
Будет ассемблерной вставкой - asm { ... }
Платформа - MS-DOS. Если точнее, приложение win32 будет запускаться в режиме совместимости с Win95.

Всего записей: 1871 | Зарегистр. 25-11-2009 | Отправлено: 17:57 06-08-2011 | Исправлено: A1exSun, 18:08 06-08-2011
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
A1exSun
блин...

Код:
unsigned char bios;
 
asm {
  push 0f000h
  pop es
  mov bx, 0fffeh
  mov al, es:[bx]
  mov bios, al
}

Всего записей: 24107 | Зарегистр. 06-12-2002 | Отправлено: 18:37 06-08-2011
A1exSun



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
На строке "pop es":

Цитата:
First chance exception at $750DB9BC. Exception class EAccessViolation with message 'Access Violation'. Process Project1.exe (5296)

Как в Turbo C проверить этот код? В нем на "asm {" ругается, там как-то по другому...

Всего записей: 1871 | Зарегистр. 25-11-2009 | Отправлено: 18:47 06-08-2011
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
A1exSun
а что ты хотел, нельзя реальные сегментные регистры писать в 7-ке...

Цитата:
Как в Turbo C проверить этот код?

ну так запусти в среде...

Цитата:
В нем на "asm {" ругается, там как-то по другому...

не может быть, проверяй внимательнее...
 
ну не сможешь ты корректно и полноценно в ХЕ писать/отлаживать 16-битные приложения, использующие столь низко-уровневые функции...

Всего записей: 24107 | Зарегистр. 06-12-2002 | Отправлено: 18:59 06-08-2011 | Исправлено: akaGM, 19:06 06-08-2011
Prober

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
A1exSun
Цитата:
Как в Turbo C проверить этот код?
Если речь о борландовском турбо си конца 80-х, то там есть функции
Код:
int peek(unsigned segment, unsigned offset);
char peekb(unsigned segment, unsigned offset);
С ассемблерными командами связываться не обязательно.

Всего записей: 680 | Зарегистр. 01-11-2006 | Отправлено: 19:33 06-08-2011 | Исправлено: Prober, 19:34 06-08-2011
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Prober
именно их он хочет переписать, чтобы они работали в Builder образца 2010
 
http://forum.ru-board.com/topic.cgi?forum=33&topic=4338&start=5840#lt
типа Сишники не помогли...

Всего записей: 24107 | Зарегистр. 06-12-2002 | Отправлено: 19:38 06-08-2011 | Исправлено: akaGM, 19:40 06-08-2011
A1exSun



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
не может быть, проверяй внимательнее...
ошибка in-line assembly not allowed
Цитата:
Если речь о борландовском турбо си конца 80-х, то там есть функции
да знаю
Цитата:
их он хочет переписать, чтобы они работали в Builder образца 2010
в точку
Цитата:
ну не сможешь ты корректно и полноценно в ХЕ писать/отлаживать 16-битные приложения, использующие столь низко-уровневые функции...
ну почему, если:
Цитата:
оказывается режим совместивости с 9x настолько крут, что позволяет прогам работать даже с портами, как это было в реальных 9x, несмотря на ядро NT
с портами вышло ведь...

Всего записей: 1871 | Зарегистр. 25-11-2009 | Отправлено: 20:37 06-08-2011 | Исправлено: A1exSun, 20:42 06-08-2011
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
A1exSun

Цитата:
ошибка in-line assembly not allowed

это не ошибка кода, а ошибка твоих установок,
наверняка рядом с Турбо С должен лежать tasm...

Цитата:
с портами вышло ведь..

не всё коту...

Всего записей: 24107 | Зарегистр. 06-12-2002 | Отправлено: 20:56 06-08-2011 | Исправлено: akaGM, 20:58 06-08-2011
A1exSun



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
наверняка рядом с Турбо С должен лежать tasm...

опа, а это я не знал

Всего записей: 1871 | Зарегистр. 25-11-2009 | Отправлено: 21:03 06-08-2011
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на Assembler


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru