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

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


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

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

Выпуск № 761
от 27.05.2007, 09:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 384, Экспертов: 32
В номере:Вопросов: 2, Ответов: 2


Вопрос № 87876: Здравствуйте,я новичок в программировании на asm(а с fasm вообще только столкнулся) и у меня возникла проблема с fasm. macro add_item Hand_h, descr,dannie { pushad push type descr push 0 push Hand_h ;LPVOID HeapAllo...
Вопрос № 87941: Здравствуйте уважаемые знатоки! Прошу помощи в решении задачки:Ввести с клавиатуры строку. Сжать строку, т.е. удалить пробелы и табуляции. Вывести результаты на экран. Заранее большое спасибо...

Вопрос № 87.876
Здравствуйте,я новичок в программировании на asm(а с fasm вообще только столкнулся) и у меня возникла проблема с fasm.

macro add_item Hand_h, descr,dannie {
pushad
push type descr
push 0
push Hand_h
;LPVOID HeapAlloc(HANDLE hHeap, DWORD dwFlags, DWORD dwBytes)
call HeapAlloc
mov [eax].next,0
mov [eax].data,dannie
cmp ebx,0
je nachalo_spiska
mov [ebx].next,eax
nachalo_spiska:
mov adr,eax
popad
}
Ругается на:
mov [eax].next,0
mov [eax].data,dannie
Очень надеюсь на вашу помощь!Заранее спасибо
Отправлен: 21.05.2007, 10:43
Вопрос задал: Abbirvalg (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: QDSota
Здравствуйте, Abbirvalg!

Нет имени структуры и нельзя поределить размер данных. Если подумать - а вдруг одинаковые имена полей в разных структурах?
Пусть YOURSTRUCT имя твоей структуры. Тогда один из вариантов будет:

mov dword[eax+YOURSTRUCT.next],0
mov dword[eax+YOURSTRUCT.data],dannie;!то же самое, что "mov dword ptr[eax+YOURSTRUCT.data],offset dannie" на MASM

---------
Открыть глаза навстречу солнцу
Ответ отправил: QDSota (статус: Профессионал)
Тел.: 8-916-53-43-916
ICQ: 84611301
----
Ответ отправлен: 21.05.2007, 14:44


Вопрос № 87.941
Здравствуйте уважаемые знатоки! Прошу помощи в решении задачки:Ввести с клавиатуры строку. Сжать строку, т.е. удалить пробелы и табуляции. Вывести результаты на экран.
Заранее большое спасибо
Отправлен: 21.05.2007, 18:37
Вопрос задал: Vasia_Mamedov (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 2)

Отвечает: An42
Здравствуйте, Vasia_Mamedov!
Для ввода использую функцию dos 08h, при вводе проверяются следующие клавиши. Табуляция код 09h, пробел код 20h, в этом случае в буфер не чего не записывается, тем самым происходит сжатие текста в приведенной программе.
Удачи

Приложение:

Ответ отправил: An42 (статус: 3-ий класс)
Ответ отправлен: 23.05.2007, 12:20


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

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

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

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

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


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


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.52 от 02.05.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное