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

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


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

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Assembler (Ассемблер)

Выпуск № 492
от 13.07.2006, 01:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 332, Экспертов: 22
В номере:Вопросов: 4, Ответов: 7


Вопрос № 48418: Помогите запустить MASM 611 Беспокоит Алексеев Николай Тимофеевич- пенсионер 64 лет, на пенсии с 55лет. Живу в селе Беклемишево в 100 км от г. Чита. До этого 21 год отработал на БАМе.Приблизительно с 1985г с первых БК потом Спектрум,...
Вопрос № 48426: Добрый день Уважаемые эксперты! Я пытаюсь написать программу которая будет вызывать элементы главного меню с помощью горячих клавиш, но где-то в код закралась ошибка  помогите выяснить где именно. Исходный код файла ресурсов: #define ...
Вопрос № 48458: Здравствуйте! При ассемблировании программы /002/Prog02.asm, в MASM выдается сообщение: “Prog.02.asm<2>: error A2008: syntax error : ord” Что это за ошибка и как ее устранить?...
Вопрос № 48496: Здравствуйте! Почему у меня в (/002/Prog02.asm) вместо сообщения на русском выдается абракадабра на латинском? Что нужно сделать чтобы это устранить?...

Вопрос № 48.418
Помогите запустить MASM 611
Беспокоит Алексеев Николай Тимофеевич- пенсионер 64
лет, на пенсии с 55лет. Живу в селе Беклемишево в 100 км от г. Чита.
До этого 21 год отработал на БАМе.Приблизительно с 1985г с первых БК
потом Спектрум, далее Пентиум1 и Селерон4 занимаюсь
программированием.Знаю Бейсик, Паскаль, FoxPro. Знаком с
Дельфи,Си,Си++. По моей программе на FoxPro счиают в совхозе зарплату
(4 деревни= около 500человек).
Скаченный masm612 c kalashnikoff.ru .Установленный masm611 пишет на портале:
ошибка А2008-sintax error для всех строк.И еще напоследнюю строку
ош.2088 End directive reguired atend of file.
Это для 1-3 програм из первых уроковp за 2000г О.Калашникова. Пробовал писать в редакторе
Norton Commander ,FoxPro, в встроенном в masm611- PWB.exe
Процессор мой- Intel(R) Celeron(R) CPU 2000 Hz
Оставьте Ваш адрес.Но если не желаете
,чтобы и дальше к Вам обращался, то дайте хотябы последний адресс
Олега.

Приложение:

Отправлен: 07.07.2006, 06:01
Вопрос задал: Алексеев Николай Тимофеевич (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 5)

Отвечает: EPDSota
Здравствуйте, Алексеев Николай Тимофеевич!

Просто уберите в начале строк числа со скобками. Эти номера строк были написаны, по всей вероятности, для того, чтобы обьяснить потом значение каждой строки.
И еще - одна неточность в строке 10 - между "end" и "_start" добавьте пробел.
---------
Открыть глаза навстречу солнцу
Ответ отправил: EPDSota (статус: Специалист)
Ответ отправлен: 07.07.2006, 08:44

Отвечает: Mihasic
Здравствуйте, Алексеев Николай Тимофеевич!

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

Во-вторых:
(4) mov ad,9

замените на:
mov ah, 9

т.к. регистра ad не знаю, да и в данной программе нужен ah.
Ответ отправил: Mihasic (статус: 2-ой класс)
Ответ отправлен: 07.07.2006, 09:32

Отвечает: Евгений Иванов
Здравствуйте, Алексеев Николай Тимофеевич!
Олега можно найти в Москве, он иногда бывает на Павелецкой.

---------
Что имеем - не храним, потерявши - плачем
Ответ отправил: Евгений Иванов (статус: Профессор)
Россия, Нижний Новгород
Тел.: +78313145721
Организация: M2Media.ru
Адрес: Нижний Новгород, ул.Малая Ямская, 66
WWW: Eugene Ivanov
ICQ: 214889076
----
Ответ отправлен: 07.07.2006, 12:35


Вопрос № 48.426
Добрый день Уважаемые эксперты! Я пытаюсь написать программу которая будет вызывать элементы главного меню с помощью горячих клавиш, но где-то в код закралась ошибка  помогите выяснить где именно.
Исходный код файла ресурсов:
#define IDM_Enable_Disable 0
#define IDM_Exit 1
#define IDM_About 2
#define IDP_File 3
#define IDP_Help 4

My_Menu MENU {
POPUP "&File" {
MENUITEM "&Enable exit\te",IDM_Enable_Disable
MENUITEM "E&xit", IDM_Exit,GRAYED

}
POPUP "&Help"{
MENUITEM "About\ta",IDM_About
}
}
MyAccelerators ACCELERATORS {
"x", IDM_Exit, ASCII
"a", IDM_About, ASCII
"e", IDM_Enable_Disable,ASCII
"D", IDM_Enable_Disable,ASCII
Исходный код самой программы:
.const
IDM_Enable_Disable dd 00h
IDM_Exit dd 01h
IDM_About dd 02h
IDP_File dd 03h
IDP_Help dd 04h
IDM_Bitmap dd 05h
….
WinMain proc hInst :DWORD, hPrevInst :DWORD, CmdLine :DWORD, CmdShow :DWORD
LOCAL hAccel:HACCEL

push offset MyAcc
push hInst
call LoadAccelerators
mov hAccel,eax

message_loop: push ebx
push ebx
push ebx
push edi ; адрес структуры MSG
call GetMessage
test eax,eax ; если получено WM_QUIT
jz exit_msg_loop ; выйти
push edi
push hAccel
push hWnd
call TranslateAccelerator
cmp eax,ebx
jnz short message_loop
push edi
call TranslateMessage;
push edi
call DispatchMessage
jmp short message_loop ; продолжить цикл
exit_msg_loop:
Отправлен: 07.07.2006, 08:51
Вопрос задал: Шурыгин В.В. (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Евгений Иванов
Здравствуйте, Шурыгин В.В.!
push MyAccelerators
push hInst
call LoadAccelerators
mov hAccel,eax
;====================
а вот моя программка

Call LoadAccelerators,esi,MyAccel1
xchg eax,ebx

lea edi,[@@msg1]
@GetNext:
Call GetMessage,edi,0,0,0
or eax,eax
jz @@Exit

Call TranslateAccelerator,[hwndMain],ebx,edi
or eax,eax
jnz @@GetNext

Call TranslateMessage,edi
Call DispatchMessage,edi
jmp @@GetNext

---------
Что имеем - не храним, потерявши - плачем
Ответ отправил: Евгений Иванов (статус: Профессор)
Россия, Нижний Новгород
Тел.: +78313145721
Организация: M2Media.ru
Адрес: Нижний Новгород, ул.Малая Ямская, 66
WWW: Eugene Ivanov
ICQ: 214889076
----
Ответ отправлен: 07.07.2006, 12:32


Вопрос № 48.458
Здравствуйте!

При ассемблировании программы /002/Prog02.asm, в MASM выдается сообщение:
“Prog.02.asm<2>: error A2008: syntax error : ord”
Что это за ошибка и как ее устранить?
Отправлен: 07.07.2006, 14:00
Вопрос задал: Rocki (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Лысков Игорь Витальевич
Здравствуйте, Rocki!
Подозреваю, что там должно быть написано: org
---------
Удачи!
Ответ отправил: Лысков Игорь Витальевич (статус: Студент)
Ответ отправлен: 07.07.2006, 14:34
Оценка за ответ: 4
Комментарий оценки:
Спасибо Игорь Витальевич! У меня все получилось.

Отвечает: Mihasic
Здравствуйте, Rocki!
Эта ошибка говорит, что во второй строке файла Prog02.asm ошибка синтаксиса. А конкретно слово "ord".
Я подозреваю, что там необходимо поставить org, но т.к. не являюсь телепатом, то не совсем уверен.
Ответ отправил: Mihasic (статус: 2-ой класс)
Ответ отправлен: 07.07.2006, 20:35
Оценка за ответ: 4
Комментарий оценки:
Спасибо Mihasic!
У меня все получилось.


Вопрос № 48.496
Здравствуйте!
Почему у меня в (/002/Prog02.asm) вместо сообщения на русском выдается абракадабра на латинском? Что нужно сделать чтобы это устранить?
Отправлен: 07.07.2006, 22:21
Вопрос задал: Rocki (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Mihasic
Здравствуйте, Rocki!
/002/Prog02.asm -- вообще мне интересно где это

А проблемы с русской кодировкой могут быть вызваны несоответствием кодовой страницы для вывода в консоли и кодировкой символов в программе.

Один из способов решения:
Писать в ДОС-кодировке (если я правильно понял)

Второй:
Изменить кодовую страницу в консоли:
Windows codepage:
mode con cp select=1251
DOS codepage:
mode con cp select=866
Ответ отправил: Mihasic (статус: 2-ой класс)
Ответ отправлен: 08.07.2006, 13:27


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

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


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.34 от 01.06.2006
Яндекс Rambler's Top100

В избранное