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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.01.2012, 11:47   #11
Любопытный человек
Пользователь
 
Регистрация: 14.01.2012
Сообщений: 39
По умолчанию

Спасибо, на дискете все заработало и с меньшим размером образа.
Любопытный человек вне форума Ответить с цитированием
Старый 15.01.2012, 12:29   #12
Любопытный человек
Пользователь
 
Регистрация: 14.01.2012
Сообщений: 39
По умолчанию

И еще один вопрос. Какую литературу посоветуете для продвижения в написании ОС? Не общую литературу типа книги Таненбаума, а именно работа с устройствами, режимами процессора и памятью, одним словом программирование на аппаратном уровне. А то если работать только с примерами и статьями, выходит сплошной копипаст.

Последний раз редактировалось Любопытный человек; 15.01.2012 в 12:38.
Любопытный человек вне форума Ответить с цитированием
Старый 15.01.2012, 14:29   #13
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

http://programmersforum.ru/showthread.php?t=25012
Владимир Кулаков - Программирование на аппаратном уровне/Программирование дисковых подсистем.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 15.01.2012, 15:25   #14
Любопытный человек
Пользователь
 
Регистрация: 14.01.2012
Сообщений: 39
По умолчанию

Спасибо больное, очень помогли!
Любопытный человек вне форума Ответить с цитированием
Старый 23.01.2012, 18:39   #15
Любопытный человек
Пользователь
 
Регистрация: 14.01.2012
Сообщений: 39
По умолчанию

В продолжении вопроса, чтобы все материалы были в одной теме. В общем все хорошо, кроме одного но. Если редактировать сишный файл, то все робит. Но при изменеии loader.asm потом нет возможности запустить ядро. При загрузке ядра просто пишет, что либо "левый" формат файла, либо вышел за границы памяти. Вроде проблема в том, что не полностью заполнен сектор, т.е. надо подгадать с размеров файла pad. Но у меня ничего не выходит. Хотелось бы разобраться именно с этим примером.
Любопытный человек вне форума Ответить с цитированием
Старый 23.01.2012, 19:06   #16
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

обратите лучше внимание на тему, там более автоматизированная сборка.
Цитата:
Вроде проблема в том, что не полностью заполнен сектор
первый сектор дополняется автоматически до конца первого сектора.
Цитата:
В продолжении вопроса, чтобы все материалы были в одной теме.
я думаю лучше вообще вам перечитать старую нашу форумскую тему(ссылка есть в посту 14), и перейти туда, там куда больше знаний.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 23.01.2012 в 19:16.
Пепел Феникса вне форума Ответить с цитированием
Старый 24.01.2012, 04:14   #17
Любопытный человек
Пользователь
 
Регистрация: 14.01.2012
Сообщений: 39
По умолчанию

Хорошо, последую вашему совету.
Любопытный человек вне форума Ответить с цитированием
Старый 24.01.2012, 15:13   #18
program2001
Пользователь
 
Аватар для program2001
 
Регистрация: 20.02.2011
Сообщений: 68
По умолчанию

кто-нибудь переведите мне плиз этот код на fasm
Код:
BITS 16

start:
	mov ax, 07C0h		; Set up 4K stack space after this bootloader
	add ax, 288		; (4096 + 512) / 16 bytes per paragraph
	mov ss, ax
	mov sp, 4096

	mov ax, 07C0h		; Set data segment to where we're loaded
	mov ds, ax


	mov si, text_string	; Put string position into SI
	call print_string	; Call our string-printing routine

	jmp $			; Jump here - infinite loop!


	text_string db 'This is my OS', 0


print_string:			; Routine: output string in SI to screen
	mov ah, 0Eh		; int 10h 'print char' function

.repeat:
	lodsb			; Get character from string
	cmp al, 0
	je .done		; If char is zero, end of string
	int 10h			; Otherwise, print it
	jmp .repeat

.done:
	ret


	times 1474560-($-$$) db 0	; Pad remainder of boot sector with 0s
	dw 0xAA55		; The standard PC boot signature
Цитата:
Большинство хороших программистов делают свою работу не потому, что ожидают оплаты или признания, а потому что получают удовольствие от программирования.
Linus Torvalds
program2001 вне форума Ответить с цитированием
Старый 24.01.2012, 19:07   #19
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Код:
format binary
use16

start:
	mov ax, 07C0h		; Set up 4K stack space after this bootloader
	add ax, 288		; (4096 + 512) / 16 bytes per paragraph
	mov ss, ax
	mov sp, 4096

	mov ax, 07C0h		; Set data segment to where we're loaded
	mov ds, ax


	mov si, text_string	; Put string position into SI
	call print_string	; Call our string-printing routine

	jmp $			; Jump here - infinite loop!


	text_string db 'This is my OS', 0


print_string:			; Routine: output string in SI to screen
	mov ah, 0Eh		; int 10h 'print char' function

.repeat:
	lodsb			; Get character from string
	cmp al, 0
	je .done		; If char is zero, end of string
	int 10h			; Otherwise, print it
	jmp .repeat

.done:
	ret


	times 1474560-($-$$) db 0	; Pad remainder of boot sector with 0s
	dw 0xAA55		; The standard PC boot signature
как не парадоксально.

и прошу еще раз, давайте придерживаться старой темы, пусть все будет в одном месте.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ассемблер(NASM). Как оформить цикл "while" в NASM-е? Зелёный Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 5 10.06.2011 16:04