Тема: Загрузчик
Показать сообщение отдельно

Загрузчик
  #1  
Старый 24.05.2008, 15:02
v4567
Новичок
Регистрация: 09.05.2008
Сообщений: 7
С нами: 9476635

Репутация: 10
По умолчанию Загрузчик

Здравствуйте форумчане!
Помогите разобраться, необходимо загрузить программу в оперативную память при включении компьютера. Программа работает без операционной системы. Она должна загрузиться не в тот сегмент в который БИОС загрузит мой загрузчик, т.к. БИОС грузит загрузчик в нулевой сегмент по смещению 7C00h это где-то 32 кбайта, а моя программа 40кбайт поэтому в этот сегмент она не поместиться, загрузчик я написал. Вопрос как осуществить дальний прыжок в другой сегмент командой jmp что-бы передать управление моей программе, у меня что-то ничего не получается, и в какой сегмент загружать мою программу, повторяю программа работает без операционной системы, да забыл написать загружаюсь я с дискеты, загрузчик и п программа находятся на дискете.
Привожу код загрузчика, там где вопросы непонятно что писать.

; zagr.asm - Загрузчик.


Код:
cseg segment para 'code'

	org 100h

begin proc near

	assume cs:cseg, ds:cseg, ss:cseg

	org 7c00h
	jmp start
start:
	
	cli
	push ax
	push dx
	push cx
	push bx
	push es
	mov ax,cs 
	mov ds,ax

;--------------Сброс дисковой системы.--------------------

	mov cx,3d
pov:
	mov ah,0h
	mov dl,0h
	int 13h
	cmp ah,0h
	jz povtor1
	loop pov
	pop es
	pop bx
	pop cx
	pop dx
	pop ax
	sti

;--------------Чтение с дискеты.--------------------------

povtor1:
	mov ax,??????h
	mov es,ax
	mov ch,0h
	mov ah,2h
	mov al,8d
	mov cl,2h
	mov dh,0h
	mov dl,0h
	mov bx,??????h
	int 13h
	pop es
	pop bx
	pop cx
	pop dx
	pop ax
	jmp dword ptr [perex]
	
perex dd ???????h

begin endp
cseg ends
end begin
В регистр ax а потом и в es заносится адрес сегмента в bx смещение, и осуществляется дальний переход, собственно что писать вместо вопросов какие адреса?
Форумчане помогите пожалуйста, за помощь заранее благодарен.

Последний раз редактировалось De-visible; 25.05.2008 в 12:48.. Причина: Теги [code][/code] для чего придумали???
 
Ответить с цитированием