Вопрос № 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
Надо написать программу на ассемблере. Задание:Вывести полное имя программы, под которым она была запущена.
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