Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz

26.05.2008, 20:07
|
|
Новичок
Регистрация: 09.05.2008
Сообщений: 7
Провел на форуме: 4367
Репутация:
10
|
|
Прочитал данную статью автора z01b видно что человек очень хорошо разбирается в данной теме.
z01b, у меня ктебе есть вопрос, помоги разобраться с загрузчиком. Написал свой загрузчик но он почемуто не работает.
Загрузчик записываю в первый сектор нулевого цилиндра на дискете, загружаюсь с неё. Далее информация с дискеты читается на аппаратном уровне, на уровне биоса, тоесть никакой файловой системы на ней нет, а информацию с неё читаю используя 13 прерывание и 2 функцию биоса, тоесть по секторам, цилиндрам и головкам.
Данная программа читает информацию с шести цилиндров и передаёт управление дальним прыжком в другой сегмент оперативной памяти с нулевым смещением, куда и были считаны данные.
Далее привожу текст программы:
Код:
; 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,1117h
mov es,ax
mov ch,0h
mov ah,2h
mov al,8d
mov cl,2h
mov dh,0h
mov dl,0h
mov bx,0h
int 13h
gdem:
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp ah,0h
jz pr
jmp gdem
pr:
cmp al,8h
jz pr1
jmp gdem
pr1:
mov ch,0h
pr4:
mov ah,2h
mov al,9d
mov cl,1h
not dh
mov dl,0h
int 13h
gdem1:
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp ah,0h
jz pr2
jmp gdem1
pr2:
cmp al,9h
jz pr3
jmp gdem1
pr3:
cmp [zil],0h
jz pr6
jmp pr7
pr6:
not [zil]
jmp pr4
pr7:
not [zil]
inc ch
cmp ch,6d
jz pr5
jmp pr4
pr5:
pop es
pop bx
pop cx
pop dx
pop ax
jmp dword ptr [perex]
perex dd 11170000h
zil db 0h
begin endp
cseg ends
end begin
Данный загрузчик не работает, z01b если ты видешь где у меня ошибки или знаешь в чём проблема помоги пожалуйста, за ответ заранее благодарен.
Последний раз редактировалось De-visible; 26.05.2008 в 20:53..
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|