Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сложенние переменных 
:(
    Опции темы
eXa
Дата 6.1.2007, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 1.12.2006

Репутация: нет
Всего: нет



Привет, недавно перепрыгнул с Delphi на ASM, и столкнулся с большой кучей проблем, вот однаsmile
Есть 2 переменных:
Код

 _path               dd  0
_file   db  '/file.txt',0


_path берётся с помощью ф-ии GetSystemDirectory:
Код

  push  256
  push _path
  call [GetSystemDirectory]  


Проблема в том что я незнаю как сложить переменные _path и _file, чтобы получился полный путь до файла(c:\windows\system\file.txt)  Можете помочь мне в этой не большой проблемки?


Это сообщение отредактировал(а) eXa - 6.1.2007, 20:36
PM MAIL   Вверх
MAKCim
Дата 6.1.2007, 20:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 1
Всего: 207



они у тебя уже сложены т. к
_file в памяти расположен сразу после _path


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
eXa
Дата 6.1.2007, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 1.12.2006

Репутация: нет
Всего: нет



хм...эт как так? я же задаю их только, помимо этих переменных есть ещё переменные и чё они все складываться чтоль?! Но если даже так, хотя я в этом сомневаюсь, в какой из этих переменных будет путь до файла, в моём случее должно быть(c:\windows\system\file.txt)
PM MAIL   Вверх
MAKCim
Дата 6.1.2007, 21:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 1
Всего: 207



где у тебя
лежит текст
Цитата

c:\windows\system\

?


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
eXa
Дата 6.1.2007, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 1.12.2006

Репутация: нет
Всего: нет



Да текстовик file.txt лежит у меня в системной дире
PM MAIL   Вверх
MAKCim
Дата 6.1.2007, 21:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 1
Всего: 207



Цитата

Да текстовик file.txt лежит у меня в системной дире 

кто тебе мешает написать
Код

_file   db  'с:\windows\system\file.txt',0



--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
eXa
Дата 6.1.2007, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 1.12.2006

Репутация: нет
Всего: нет



мда...  наверно не просто так я использую ф-ию GetSystemDirectory
PM MAIL   Вверх
Farmazon
Дата 6.1.2007, 23:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Разработчик
**


Профиль
Группа: Участник
Сообщений: 265
Регистрация: 7.7.2006

Репутация: нет
Всего: 5



Ну ёпрст. Копирование символофф из одной строки в конец другой сложно сделать??

Код

invoke GetSystemDirectory, _path, 256

;в eax длина пути к системной директории... без 0 в конце

xor ecx, ecx
B:
mov bl, [_file + ecx]
mov [_path + eax + ecx], bl
cmp byte [_file + ecx], 0
jz E 
inc ecx
jmp B
E:


Добавлено @ 23:15 
И переменные ты по левому объявляешь...
нада:

Код

_path db 256  dup(0) ; или dup(?)
_file db  '/file.txt',0


Добавлено @ 23:18 
Да и пиши в следующий раз какой синтаксис.... я счас ето для фасма напесал...

Это сообщение отредактировал(а) Farmazon - 6.1.2007, 23:30


--------------------
Таково моё общее мнение.
PM MAIL WWW   Вверх
MAKCim
Дата 7.1.2007, 10:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 1
Всего: 207



Farmazon, 
можно и так
Код

    cld
    mov AX, DS
    mov ES, AX
    lea ESI, _file
    lea EDI, _path
    add EDI, EAX
@@L1:
    lodsb
    stosb
    and AL, AL
    jz @@L2
    jmp @@L1
@@L2:




--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
eXa
Дата 8.1.2007, 07:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 1.12.2006

Репутация: нет
Всего: нет



Спасиб!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для начинающих"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для начинающих | Следующая тема »


 




[ Время генерации скрипта: 0.0503 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.