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

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


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

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

Выпуск № 630
от 15.12.2006, 18:35

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


Вопрос № 66260: Простите за нелепый вопрос.Чем отличается код на masm6.11 от masm32? ..
Вопрос № 66262: Интересно в чём ошибка. Текст проги в приложении MASM32 при желании сделать ехе-файл выдёт ошибку : Microsoft (R) Macro Assembler Version 6.14.8444 Copyright (C) Microsoft Corp 1981-1997. All rights reserved. Assembling: D:masm32Tryrun...
Вопрос № 66289: как добавить папку компилятора (C:MASM611) в глобальную переменную PATH ?...
Вопрос № 66293: Надо написать программу на ассемблере. Задание:Вывести полное имя программы, под которым она была запущена....
Вопрос № 66362: Здраствуйте! Скажите, пожалуйста, если я при написании резидента использую 31-ю функцию 21-го прерывания, то как мне подсчитать размер моей программы? Если я укажу достаточно большой размер наугад, то в принцыпе все должно быть впорядке, или ...

Вопрос № 66.260
Простите за нелепый вопрос.Чем отличается код на masm6.11 от masm32?
Отправлен: 09.12.2006, 18:48
Вопрос задал: Loriendil (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Волков Павел Юрьевич
Здравствуйте, Loriendil!
Первый - для создания 16-битного кода (MSDOS), второй - для 32-битного(Windows).
---------
Век живи, век учись.
Ответ отправил: Волков Павел Юрьевич (статус: 10-ый класс)
Ответ отправлен: 10.12.2006, 12:06
Оценка за ответ: 5


Вопрос № 66.262
Интересно в чём ошибка. Текст проги в приложении MASM32 при желании сделать ехе-файл выдёт ошибку :
Microsoft (R) Macro Assembler Version 6.14.8444
Copyright (C) Microsoft Corp 1981-1997. All rights reserved.
Assembling: D:masm32Tryrunpr1.asm
Microsoft (R) Incremental Linker Version 5.12.8078
Copyright (C) Microsoft Corp 1992-1997. All rights reserved.
pr1.obj:error LNK2001:unresolved external symbol _ExitProcess@4
pr1.exe:fatal error LNK1120: 1 unresolved externals
_
Link error
P.S. Превращаю из obj-файла в exe-файл, так Project-> Assemble&link

Приложение:

Отправлен: 09.12.2006, 19:30
Вопрос задал: Loriendil (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Евгений Иванов
Здравствуйте, Loriendil!

Тебе нужно присоединить библиотеку, в которой описана функций ExitProcess.

Для этого пропиши

includelib "import32.lib"


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


Вопрос № 66.289
как добавить папку компилятора (C:MASM611) в глобальную переменную PATH ?
Отправлен: 09.12.2006, 23:37
Вопрос задал: Andrej11 (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Олег Владимирович
Здравствуйте, Andrej11!

В командной строке DOS надо написать строчку SET PATH=C:MASM611;%PATH%
. Можно сразу несколько директорий SET PATH=C:MASM611BIN;C:MASM611;%PATH%
%PATH% здесь вставляет старое значение переменной окружения PATH в конец её нового значения.
Посмотреть, что в ней находится - командой SET PATH
Удачи!
---------
Факультет ПМ-ПУ - лучший в СПбГУ!
Ответ отправил: Олег Владимирович (статус: 8-ой класс)
Ответ отправлен: 10.12.2006, 10:12


Вопрос № 66.293
Надо написать программу на ассемблере. Задание:Вывести полное имя программы, под которым она была запущена.
Отправлен: 10.12.2006, 00:11
Вопрос задал: Максим/Ambrose (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: ADSota
Здравствуйте, Максим/Ambrose!

1. перед запуском данного кода cs должен указывать на сегмент PSP программы.
2. после выполнения данного кода в es:di - адрес ASCIIZ строки вызывающей программы.

push word[cs:16h]
pop es
push word[es:2ch]
pop es
mov ax,1
shl eax,16
xor di,di
xor cx,cx
dec cx
@findnext:
repne scasb
cmp [es:di-1],eax
jne @@findnext
add di,3

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


Вопрос № 66.362
Здраствуйте!
Скажите, пожалуйста, если я при написании резидента использую 31-ю функцию 21-го прерывания, то как мне подсчитать размер моей программы?
Если я укажу достаточно большой размер наугад, то в принцыпе все должно быть впорядке, или нет?
Спасибо.
Отправлен: 10.12.2006, 16:43
Вопрос задал: Lestat (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Евгений Иванов
Здравствуйте, Lestat!

Размер своей программы ты указываешь сам, добавив метку в конец её и плюс размер стека. Просто когда ты пишешь резидент, у тебя должен быть план распределения памяти в твоей программе то каждого байта. Если такого нет, то лучше резиденты тебе пока не писать :) а учиться.

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


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

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

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

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

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала 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.37 от 04.10.2006
Яндекс Rambler's Top100

В избранное