Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Ассемблер? Это просто! Учимся программировать


РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты в разделе

Лысков Игорь Витальевич
Статус: Мастер-Эксперт
Рейтинг: 0
∙ повысить рейтинг »
Evgen aka Chuma
Статус: 6-й класс
Рейтинг: 0
∙ повысить рейтинг »
cain52
Статус: 3-й класс
Рейтинг: 0
∙ повысить рейтинг »

∙ Assembler

Номер выпуска:1772
Дата выхода:21.08.2020, 07:45
Администратор рассылки:Зенченко Константин Николаевич (Старший модератор)
Подписчиков / экспертов:85 / 25
Вопросов / ответов:3 / 7

Консультация # 34294: Вероятно глупо, но как использовать Macro Assembler версии 6.11? в частности как в нем писать? буду рад если вы мне ответите. спасибо....
Консультация # 90577: Вы знаете, я как бы умею присваивать классу окна одну из стандартных иконок, но мне нужно подгрузить !свою! картинку из соседнего файла-значка *.ico. Я не очень разбираюсь в программировании, поэтому, расскажите поподробней. Пасибо....
Консультация # 82141: такой пример 100100,как перевести из двоичной системы в десятичную....

Консультация # 34294:

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

Дата отправки: 28.01.2006, 17:54
Вопрос задал: dim7
Всего ответов: 2
Страница онлайн-консультации »


Консультирует Евгений Иванов:

Здравствуйте, dim7!
ни чем не отличается от остальных программ.
пишешь в редакторе текст программы и ассемблируешь с помощью командной строки.

Консультировал: Евгений Иванов
Дата отправки: 28.01.2006, 18:12
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует korsar (Специалист):

Здравствуйте, dim7!
В папке masm есть папка bin, в кот тебе нужны только два файла ml.exe и link.exe
Это консольные приложения. Чтобы компилить файлы, лучше сделать бат-файл.
Открываешь блокнот и записываешь в него след строки:
C:\masm611\bin\ml.exe C:\file.asm /AT
pause
и сохраняешь как, например, compile.bat и запускаешь(пути естественно могут отличаться, тоже самое можешь ввести в командной строке, но так проще)

Консультировал: korsar (Специалист)
Дата отправки: 29.01.2006, 07:46
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 90577:

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

Дата отправки: 08.06.2007, 13:13
Вопрос задал: Малов Иван Константинович
Всего ответов: 2
Страница онлайн-консультации »


Консультирует Евгений Иванов:

Здравствуйте, Малов Иван Константинович!

Свою картинку нужно загрузить в ресурсы. И затем её оттуда взять.


The LoadIcon function loads the specified icon resource from the executable (.EXE) file associated with an application instance.

HICON LoadIcon(

HINSTANCE hInstance, // handle of application instance
LPCTSTR lpIconName // icon-name string or icon resource identifier
);


Parameters

hInstance

Identifies an instance of the module whose executable file contains the icon to be loaded. This parameter must be NULL when a standard icon is being loaded.

lpIconName

Points to a null-terminated string that contains the name of the icon resource to be loaded. Alternatively, this parameter can contain the resource identifier in the low-order word and zero in the high-order word. Use the MAKEINTRESOURCE macro to create this value.

Консультировал: Евгений Иванов
Дата отправки: 08.06.2007, 13:26
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Лысков Игорь Витальевич (Мастер-Эксперт):

Здравствуйте, Малов Иван Константинович!
Для этого надо сделать следующее:
1) создаем файл ресурсов, например rcrc.rc такого содержания:
#define IDI_NAME 100
IDI_NAME ICON DISCARDABLE "FILE.ICO"
2) в программе узнаем handle модуля, откуда берем иконку,
в нашем случае из нашей exe-шки
invoke GetModuleHandle, NULL
mov hInstance, eax
2) в программе описываем константу
IDI_NAME equ 100 ; номер ресурса
3) перед заполнением поля wc.hIcon и wc.hIconSm
вызвать invoke LoadIcon,hInstance,IDI_NAME
4) ну и тут же записать в структуру handle иконки
mov wc.hIcon, eax
mov wc.hIconSm, eax
5)Ну и наконец, компилируем и линкируем следующим образом:
\MASM32\BIN\Rc.exe /v rsrc.rc
\MASM32\BIN\Cvtres.exe /machine:ix86 rsrc.res
\MASM32\BIN\Ml.exe /c /coff program.asm
\MASM32\BIN\Link.exe /SUBSYSTEM:WINDOWS program.obj rsrc.obj

Вот и все...

Консультировал: Лысков Игорь Витальевич (Мастер-Эксперт)
Дата отправки: 08.06.2007, 13:57
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 82141:

такой пример 100100,как перевести из двоичной системы в десятичную.

Дата отправки: 11.04.2007, 21:24
Вопрос задал: George Cracker Crackerovich
Всего ответов: 3
Страница онлайн-консультации »


Консультирует Зенченко Константин Николаевич (Старший модератор):

Здравствуйте, George Cracker Crackerovich!
число_десятичное=0x2^7+0x2^6+1x2^5+0*2^4+0x2^3+1x2^2+0x2^1+0x2^0
где:
0x2^0-степень основания(в даном случае двойки)
| | | |
| | | знак степени
| | основание(в даном случае двойка)
| знак умножения
цифра из Вашего числа

степени двойки в Вашем числе:543210
Ваше число из вопроса :100100

Удачи

Консультировал: Зенченко Константин Николаевич (Старший модератор)
Дата отправки: 11.04.2007, 21:57
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Sov:

Здравствуйте, George Cracker Crackerovich!
100100=1*2^5+0*2^4+0*2^3+1*2^2+0*2^1+0*2^0=36

Консультировал: Sov
Дата отправки: 12.04.2007, 06:16
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует An42:

Здравствуйте, George Cracker Crackerovich!

двоичное число 100100
номер позиции 543210
перевод в десятичную 100100=1*2^5+0*2^4+0*2^3+1*2^2+0*2^1+0*2^0=32+0+0+4+0+0=36
или слева на право первую цифру умножаем на 2 и прибавляем последующую цифру, затем к полученный результат умножаем на 2 и прибавляем последующую цифру и т.д.

другой способ
перевод 100100
номера шагов 123456
первый шаг: первую с лева цифру умножаем на 2 и прибавляем следящую цифру 0, 1*2+0=2
второй шаг: полученный результат первого шага умножаем на 2 и прибавляем следующую цифру 0, 2*2+0=4
третий шаг: полученный результат второго шага умножаем на 2 и прибавляем следующую цифру 0, 4*2+1=9
четвертый шаг: полученный результат второго шага умножаем на 2 и прибавляем следующую цифру 1, 9*2+0=36
последний шаг к полученному результату прибавить последнюю цифру в нашем примере это 0, 36+0=36

Удачи

Консультировал: An42
Дата отправки: 12.04.2007, 09:45
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!


В избранное