Сейчас на форуме: hgdagon, asfa, bartolomeo (+4 невидимых)

 eXeL@B —› Программирование —› ASM (DOS) запуск *.exe
Посл.ответ Сообщение


Ранг: 279.1 (наставник)
Активность: 0.160
Статус: Участник
wizard

Создано: 27 марта 2007 13:49
· Личное сообщение · #1

Может кто подскажет как на ASM в реальном режиме организовать запуск какого либо файла.Например C:/Proga.exe.
P.S. интерисует именно запуск под DOS'ом.

-----
Что один человек сделал , другой всегда сломать может...





Ранг: 113.0 (ветеран)
Активность: 0.050
Статус: Участник

Создано: 27 марта 2007 13:56
· Личное сообщение · #2

Revel my first example:

5b10_27.03.2007_CRACKLAB.rU.tgz - Batstart.asm

-----
The one derivative you manage is the one I abhore (c) Slipknot




Ранг: 251.3 (наставник), 81thx
Активность: 0.140.11
Статус: Участник

Создано: 27 марта 2007 14:42
· Личное сообщение · #3

Если ещё надо:

Function 4Bh (75) Load or Execute a Program (EXEC)

Loads a subprogram into memory and (optionally) executes it.

On entry: AH 4Bh
AL 00h to load and run
03h to load but not run
DS:DX Pointer to an ASCIIZ string specifying
pathname of subprogram
ES:BX Pointer to a parameter block

Returns: AX Error code If CF is set

Error codes: 1 Invalid function number
2 File not found
3 Path not found
5 Access denied
8 Insufficient memory
10 Invalid environment
11 Invalid format

The parameter block layout is as follows:

║ For subfunction 00h (load and run)

║ Offset Size (bytes) Description
║ 00h 2 Segment address of environment strings
║ 02h 4 Segment and offset of command line
║ 06h 4 Segment and offset of first default FCB
║ 0Ah 4 Segment and offset of second default FCB

║ For subfunction 03h (load but don't run)

║ Offset Size (bytes) Description
║ 00h 2 Segment address where file is to be loaded
║ 02h 2 Relocation factor for program (applies only
║ to EXE-format programs)




Ранг: 279.1 (наставник)
Активность: 0.160
Статус: Участник
wizard

Создано: 28 марта 2007 08:32
· Личное сообщение · #4

Разобрался,программа работает .Только одну штуку никак сделать не получается, а именно запустить файл ,который находится в папке "C:\Program Files" .

P.S. кстати вспомнил когда ASM(DOS) изучал никак немог в этой папке ничего сделать.

-----
Что один человек сделал , другой всегда сломать может...





Ранг: 240.5 (наставник)
Активность: 0.190
Статус: Участник
Author of ACKiller

Создано: 28 марта 2007 09:48
· Личное сообщение · #5

MACKLIA
Ну так обрежь "Program Files" до короткого имени.



Ранг: 39.1 (посетитель)
Активность: 0.030
Статус: Участник

Создано: 28 марта 2007 16:05
· Личное сообщение · #6

наверняка какой-нибудь "C:\Progra~1" прокатит




Ранг: 279.1 (наставник)
Активность: 0.160
Статус: Участник
wizard

Создано: 28 марта 2007 18:09
· Личное сообщение · #7

HoBleen пишет:
Ну так обрежь "Program Files" до короткого имени

Gelios пишет:
наверняка какой-нибудь "C:\Progra~1" прокатит


Всё работает, вопрос решён . С коротким именем прокатило,чето я сам недодумался.
Просто на Delphi и C++ и без короктих имён нормально работало.

-----
Что один человек сделал , другой всегда сломать может...



 eXeL@B —› Программирование —› ASM (DOS) запуск *.exe
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати