Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.10.2024, 22:22   #1
Адам 40
Пользователь
 
Аватар для Адам 40
 
Регистрация: 09.01.2024
Сообщений: 15
По умолчанию Assembly: исполнение файла

Функция на Языке Ассемблера служащая для исполнения файла.

BIOS подходиm.
DOS не подходиm.
Адам 40 вне форума Ответить с цитированием
Старый 30.10.2024, 23:01   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,790
По умолчанию

Причем тут фунция для исполнения файла и BIOS/DOS? Вам какого файла? Под какую ос? CreateProcess устроит?
p51x вне форума Ответить с цитированием
Старый 02.11.2024, 17:33   #3
Адам 40
Пользователь
 
Аватар для Адам 40
 
Регистрация: 09.01.2024
Сообщений: 15
По умолчанию

Сисmемные прерывания не привязаны к операционной сисmеме.

Вызываешь функцию ( BIOS ) исполняешь любой файл ( exe либо com )

Если знаеmе и понимаеmе чmо mакое сисmемное прерывание.

Прошу прощения: пожалуйсmа, подробнее опишиmе чmо mакое CreateProcess и его значение.

Дважды прошу прощения если можеm возникнуmь недопонимание: командный и исполняемый файлы
( com, exe ) могуm быmь запущены при помощи функций называемых сисmемными прерываниями.

Assembly — INT (?) — filename.exe
Адам 40 вне форума Ответить с цитированием
Старый 02.11.2024, 17:47   #4
Адам 40
Пользователь
 
Аватар для Адам 40
 
Регистрация: 09.01.2024
Сообщений: 15
По умолчанию

DOS:
MOV AH,04Bh
Xor AL,AL

Lea DX
Lea BX

INT 21h

Int 21h — эmо функция MS-DOS

BIOS:
Адам 40 вне форума Ответить с цитированием
Старый 02.11.2024, 17:57   #5
Адам 40
Пользователь
 
Аватар для Адам 40
 
Регистрация: 09.01.2024
Сообщений: 15
По умолчанию

p51x Обращаюсь к Вам.
Короmко: EXEC.ASM.
Адам 40 вне форума Ответить с цитированием
Старый 02.11.2024, 20:41   #6
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,359
По умолчанию

Цитата:
Сообщение от Адам 40 Посмотреть сообщение
Вызываешь функцию ( BIOS ) исполняешь любой файл ( exe либо com )
В BIOS такой функциональности нет.
Это фишка операционной системы.
waleri вне форума Ответить с цитированием
Старый 03.11.2024, 12:02   #7
ferapontikov
Заблокирован
 
Регистрация: 03.11.2024
Сообщений: 2
По умолчанию

Какой БИОС? Выполнить, можно только - используя (ОС) Дос или Виндовс. Пример для ДОС (запускает 16-ти битные программы) запускается редактор Edit.com в качестве параметра передается строка BAT-файла:
Код:
; Spawn.asm -- Launch application with parameters.

	IDEAL
	MODEL	small
	STACK	256

	DATASEG

svExe	db 'C:\Windows\Command\Edit.com', 0
svParam	db 0, 'C:\Autoexec.bat', 0

svError	db 'Could not launch application.$'
exCode	db 0

	UDATASEG
aEbp	dw ?
bSave	dw ?, ?
fcb1	dd ?
fcb2	dd ?

	CODESEG
Start:
	mov	ah, 4Ah		; Need 8K memory.
	mov	bx, 200h
	int	21h

	mov	ax, @data		; Set DS to point to data segment.
	mov	ds, ax
	mov	es, ax

; Get length params: 
	mov	cx, (offset svError - (offset svParam +1) )
	mov	[svParam], cl

	mov	bx, offset svParam
	mov	[bSave], bx
	mov	[bSave+2], ds
	mov	bx, offset aEbp	; ES:BX = EPB
	mov	dx, offset svExe	; DS:DX = Path Exe-Application
	mov	ax, 4B00h		; AH = 4Bh
				; AL = 0 Load and Run
	int	21h
	jnc	short Exit		; Error?
	mov	ah, 9		; Output message.
	mov	dx, offset svError
	int	21h
Exit:
	mov	ah, 4Ch
	mov	al, [exCode]
	int	21h

	END	Start
ferapontikov вне форума Ответить с цитированием
Старый 03.11.2024, 12:31   #8
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,676
По умолчанию

Ну ведь в ПЗУ компа есть встроенный загрузчик операционной системы. И если по физическому адресу на диске, где обычно располагается операционная система, прикошачить тебуемую прогу - почему бы ей не запуститься? Естественно, при такой конфигурации диска он уже не пригоден для обычной, нормальной работы. Но это и не требуется. Задача - запустить что-то через #опу Альпы.
Возможно, так и работают кассовые аппараты или банковские терминалы. Нет, у терминалов есть связь по сети с сервером, тут без ОС было бы напряжно, а программа диалога с клиентом, видимо, загружается через Autoexec.
-----------------
Насколько помнит мой склероз - загрузчик из ПЗУ самый простой: он считывает "настоящий" загрузчик с 0-го сектора диска и передаёт ему управление, а тот уже знает что к чему.
Впрочем, мои сведения относятся к эпохе 286-386, когда в ПЗУ были встроенный Бейсик и отладчик. В современных - H.Z. ?

Последний раз редактировалось digitalis; 03.11.2024 в 12:45.
digitalis вне форума Ответить с цитированием
Старый 03.11.2024, 13:05   #9
ferapontikov
Заблокирован
 
Регистрация: 03.11.2024
Сообщений: 2
По умолчанию

Цитата:
Сообщение от digitalis Посмотреть сообщение
Ну ведь в ПЗУ компа есть встроенный загрузчик операционной системы. И если по физическому адресу на диске, где обычно располагается операционная система, прикошачить тебуемую прогу - почему бы ей не запуститься?
Я не интересовался (нужды не было), как ОС запускается. Знаю лишь, что с определенного адреса начинается выполнение байт-кода (ну вы понели). Поэтому ничего не мешает сделать с той метки собственный загашник и все-такое. Мы же говорим о простом - общепринятом режиме работы.
ferapontikov вне форума Ответить с цитированием
Старый 03.11.2024, 20:00   #10
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,359
По умолчанию

Цитата:
Сообщение от digitalis Посмотреть сообщение
Ну ведь в ПЗУ компа есть встроенный загрузчик операционной системы
Для "старого" режима загрузки никаких вызовов делать не надо - комп при включении сам считывает и запускает, далее загрузчик сам читает диск, без всяких файлов, и уж тем более ЕХЕ, сектор за сектором.
В современных загрузчиках (это уже не BIOS a UEFI) есть по сути своя маленькая ОС но там все уже гораздо сложнее.
waleri вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Turbo assembly CyberStudent Помощь студентам 0 30.09.2021 09:09
Исполнение команд из файла AlexanderProx Linux (Ubuntu, Debian, Red Hat, CentOS, Mint) 3 25.10.2016 17:39
Что означают строки с [assembly: Assembly .Спасибо jei_ C# (си шарп) 1 03.12.2012 13:11
Запуск файла на исполнение Doloto Общие вопросы C/C++ 4 03.04.2008 01:15