|
Комментарии |
#2 Автор: user (2013.08.08 14:56) | давай исходник .asm |
#3 Автор: anon (2013.08.08 15:05) | нахрена виртуальный диск, когда на нем нечего хранить?!? |
#4 Автор: anon (2013.08.08 15:06) | нахрена dir, когда там нет ни одного файла?!? |
#5 Автор: anon (2013.08.08 15:07) | нахрена format, когда диска никакого нет?!? |
#6 Автор: anon (2013.08.08 15:09) | нахрена cls, когда нет даже echo?!? |
#7 Автор: Nika (2013.08.08 17:20, изменений: 1, 2013.08.08 17:26) | >>SteveJobs: >>"Свою версию оси я выложу через 30 мин. Она будет практически нефункциональна"
anon, не надо "подкалывать" Джобса, он вам ничего не навязывал и даже не просил комментировать его софт. Вы же хотели взглянуть на пример его кода? - вот он, смотрите. Причём Джобс и не скрывает, что показывать его ещё рано, а значит рано и комментировать.
|
#8 Автор: Джобс (2013.08.08 19:05) | Я хотел показать, что я могу писать ОСи, что я имею право судить о поступках людей. я ее написал для примера, а не обсуждения. Спасибо за понимание, Nika. |
#9 Автор: anon (2013.08.08 19:21) | восьмой комментарий писал Nika |
#10 Автор: Nika (2013.08.08 19:38) | anon, в том-то и дело, что нет. Я пытаюсь быть объективным. А вот вы провоцируете людей. Не нужно. Давайте свернём этот флейм и дадим парням спокойно заниматься своими прогами.
|
#11 Автор: DeveloperSoft (2013.08.08 23:20) | Ещё недавно спокойно программировал............и появился SteveJobs... Был бы немного поумнее, мог бы учить ассемблеру...
Джобс, судите о поступках людей, но не матом. |
#12 Автор: Nika (2013.08.08 23:25, изменений: 1, 2013.08.09 08:13) | DeveloperSoft, я уверен, что у вас всё будет Ok. Кстати, вы обратили внимание, что Assembler пользуется всеобщим почтением и уважением? Запланируйте себе его на не очень отдалённое будущее. И продолжайте спокойно программировать.
Вообще-то давно уже замечено, что программисты "высокого уровня" (Pascal, и т.д.) чаще всего добродушны и немного наивны, а программисты "низкого уровня" (Assm,C) реалистичны ,а зачастую жёлчны и скептичны. Причём я не знаю, что тут первично - склад ли характера, или наоборот - выбранное инструментальное средство. Если и те и другие делают свою работу качественно, то устают и те, и другие. Только реагируют при этом по-разному. Поэтому программисты "высокого уровня" знают, что трогать элиту опасно, и стараются не вступать с ними в споры. Но внимательно прислушиваются к сказанному ими. Чаще всего там истина присутствует. Если, конечно, сказано без ругани. |
#13 Автор: anon (2013.08.09 13:47) | SteveJobs больше не появится, я гарантирую это!
С бейсика на Assembler? Вы смеетесь?
2 абзац - просто намек ;-) Nika наверняка знает Assembler ;-) |
#14 Автор: Nika (2013.08.09 14:08) | anon,
>>С бейсика на Assembler? >>Вы смеетесь?
А что смешного-то? Все взрослеют.
>>2 абзац - просто намек ;-)
Ну, нет. Сказал всё прямо, как есть. |
#15 Автор: DeveloperSoft (2013.08.09 14:52) | Nika, скорее сначала C а уже потом Assembler. ..........Кстати, какой Asm посоветуете? |
#16 Автор: Nika (2013.08.09 18:03, изменений: 1, 2013.08.09 18:06) | DeveloperSoft,
>>скорее сначала C а уже потом Assembler.
именно так: сначала Assembler, а уже потом C. С принципами программирования на языках высокого уровня вы уже знакомы.
>>какой Asm ....?
Посоветовать могу то, с чего сам начинал и чем пользуюсь сейчас (время от времени) -- TASM. Все остальные или сложнее в использовании, или значительно слабее функционально. http://old-dos.ru/index.php?page=files&mode=files&do=show&id=683 |
#17 Автор: DeveloperSoft (2013.08.09 18:31) | Nika, а где можно уроки по TASM скачать?
.....Как бы хотелось ОС написать.......(думаю Вы помните Daytona Operating System)... |
#18 Автор: Nika (2013.08.09 20:15, изменений: 1, 2013.08.09 20:26) | Книги по Assembler'у: http://old-dos.ru/index.php?page=lib&do=list&cat=217
Насчёт ОС: В мире есть достаточно людей, которым по силам задача написания ОС (в частности, DOS). Единицы берутся это делать, НО:
1) Не "с нуля";
2) Не в одиночку. Информационная ёмкость С_О_В_Р_Е_М_Е_Н_Н_О_Й ОС превышает возможности любого гения;
3) Имея уже солидный опыт в программировании (системном);
4) Без любых гарантий коммерческого успеха. И даже просто успеха. И даже просто признания.
Не нужно это. Лишнее. Но если уж очень интересует тема ОС - обратите внимание на FreeDOS или ReactOC. Изучите MS-DOS первых версий. Разберитесь, чем отличаются от них последние версии (7.x,8.0). Соберите информацию, одним словом.
|
#19 Автор: SteveJobs (2013.08.09 20:48) | Я писал на FASM. Более понятный синтаксис, да и создавался для написания Осей. anon, сфигали меня не должно быть? Nika, спасибо за образ |
#21 Автор: SteveJobs (2013.08.09 21:36) | Учись сам юный подаван. Хотя вот тебе пример простейшего загрузчика, который вообще ничего не делает: org 7c00h jmp main main: jmp $ times(512-2-($-7c00h)) db 0 db 055h,0AAh |
#22 Автор: Nika (2013.08.09 22:32) | ;) Ну, это уж точно не для первого урока. Скорее для последнего - дальше уже можно работать самостоятельно. |
#23 Автор: developersoft (2013.08.10 00:01) | SteveJobs, спасибо.
В остальном сам разберусь. |
#24 Автор: developersoft (2013.08.10 13:33) | Этот загрузчик в 2 байтах пишет, что это boot-сектор, и забивает всё оставшееся место до 512 байт(1 сектор - 512 байт). |
#25 Автор: developersoft (2013.08.10 13:36) | SteveJobs, можно было добавить функцию перезагрузки - это одна строка: f0000h:0000h - вроде так(точно не помню). |
#26 Автор: SteveJobs (2013.08.10 13:41) | Вообще-то ты олень. Функция перезагрузки ПК осуществялется через 19 прерывание ax=1 |
#27 Автор: DeveloperSoft (2013.08.10 14:25) | org 7c00h jmp main main: mov ah,0 ;ожидание нажатия любой клавиши int 16h jmp 0ffffh:0000h ;после нажатия - перезагрузка jmp $ times(512-2-($-7c00h)) db 0 ;всё оставшееся забивается нулями до 512 байт db 055h, 0AAh ;два байта по которым bios понимает, что это boot-сектор |
#28 Автор: SteveJobs (2013.08.10 15:54) | а jmp $ нах в твоем коде? Это зависание |
#29 Автор: Nika (2013.08.10 16:30, изменений: 1, 2013.08.11 00:32) | SteveJobs, самое смешное, "олень" прав. Так, как он предложил, лучше. А 'jmp $' - "мёртвый" код, управления не получит. Осталось от исходного примера.
DeveloperSoft, Если перед прыжком [40h:72h]==0000h, то будет "холодная" перезагрузка. Если перед прыжком [40h:72h]==1234h, то будет "тёплая" перезагрузка (как по Ctrl+Alt+Del).
[40h:72h]=1234h используют отладчики, собирающиеся отслеживать запуск DOS. И вирусы. Это эквивалент int 19h: int 19h, dl=phisical drive number where boot sector placed.
То волшебное слово [40h:72h] может иметь не только значения 0 или 1234h. Нужно смотреть в документации, не помню подробностей.
|
#30 Автор: SteveJobs (2013.08.10 19:14) | Nika, через jmp $ программа просто зависает и если нужно по нажатию перезагрузиться его не нужно |
#31 Автор: Nika (2013.08.10 19:18) | Естественно. Обычно используется куча директив IFDEF..ENDIF для различных вариантов сборки, чтобы не генерировать подобный пустой код. |
#32 Автор: steve (2013.08.13 16:33) | Nika,дай пожалуйста сорц файла jobsos.com |
#33 Автор: Nika (2013.08.13 17:26, изменений: 3, 2013.08.13 17:46) | steve, файл jobsos.com: ;))) Это тот нередкий случай, когла файл вообще не имеет сорца. Просто выдран кусок из другой софтины и подредактирован в HIEW. Прогнав через SOURCER - получите вполне приемлемый сорс. Типа такого:
model tiny .code org 100h start: jmp real_start message db 'Now testing boot loader of JobsOS.' ,0dh,0ah db 'Press any key...' db '$' IMG_STRUC_SIZE dw 18432d bytes_readed dw 0 file_handle dw 0 file_name db 'JOBSOS.BIF',0 real_start: mov ah,9 mov dx,offset message int 21h xor ax,ax int 16h @OpenFile: mov dx, offset file_name mov ax,3D02h int 21h jnc @@000F jmp @@error_opening_file @@000F: mov file_handle,ax mov bx, file_handle mov dx, offset file_buffer mov cx, IMG_STRUC_SIZE mov ah,3Fh int 21h jnc @@001F jmp @@error_reading_file @@001F: mov bytes_readed,ax cmp bytes_readed,cx je @@002F jmp @@error_file_bad @@002F: mov bx, file_handle mov ah,3Eh int 21h jmp @image_loaded @@error_opening_file: @@error_reading_file: @@error_file_bad: mov ax,4c00h int 21h @image_loaded: mov ax,cs mov si,7D91h+3 mov word ptr [si],ax jmp start_image org 7C00h start_image: file_buffer db ? end start
|
#34 Автор: SergeCpp (2013.08.14 02:10) | Вот я, например, начинал параллельно и одновременно на Бейсике и Ассемблере (вернее, в машинных кодах) - и всё шло нормально.
|
#35 Автор: SergeCpp (2013.08.14 02:31) | Developer, вот очень хороший сайт (автор очень известен в asm-кругах): http://www.plantation-productions.com/Webster/
Я уже десяток лет его знаю, читал много его статей.
Вот одна (Nika!): http://bear.ces.cwru.edu/eecs_314/debate1.html -- их много частей было, сейчас как-то сложно найти... Вот ещё часть: http://alt.lang.asm.narkive.com/QxUlkEss/the-great-debate-v-what-have-changed
|
#36 Автор: Nika (2013.08.14 02:48, изменений: 2, 2013.08.14 02:49) | SergeCpp, спасибо за ссылки, хорошие статьи. Я нашёл для себя все (думаю) ответы на те вопросы. Вкратце - нужно совмещать HLL и ASM. В случае прикладного программирования - с почти полным перевесом в сторону С/CPP (даже жертвуя эффективностью), в случае системного программирования - с перевесом в сторону ASM, поскольку во втором случае уже не идёт речь о "переносимости" программ, зато на первый план выходит эффективность (размер и скорость). Да и многие вещи на нём сделать проще в разы. |
#38 Автор: SergeCpp (2013.09.22 13:46) | На всякий случай ссылки на полный цикл "The Great Debate":
http://bear.ces.cwru.edu/eecs_314/GreatDebate.html или http://archive.is/YCl42 http://bear.ces.cwru.edu/eecs_314/debate1.html или http://archive.is/A4lG4 http://bear.ces.cwru.edu/eecs_314/debate2.html или http://archive.is/C9FIs http://bear.ces.cwru.edu/eecs_314/debate3.html или http://archive.is/2MZ7O http://bear.ces.cwru.edu/eecs_314/debate4.html или http://archive.is/sqkxa http://bear.ces.cwru.edu/eecs_314/debate5.html или http://archive.is/gEklb
|
#39 Автор: Nika (2013.09.22 13:55) | SergeCpp, да, жалко будет, если ссылки сдохнут. На те тексты удобно ссылаться. |
#40 Автор: SergeCpp (2013.09.22 16:23) | Да, там: http://bear.ces.cwru.edu/eecs_314/ (внизу) уже ссылка на оригинал: http://webster.cs.ucr.edu/Page_asm/Page_asm.html не работает.
В любом случае, уже статьи эти в архиве по нескольки раз: http://archive.is/bear.ces.cwru.edu
|
#41 Автор: QHan (2014.01.06 00:00) | А нет ли у кого Дистра BSD на 20-30Mb чтоб был 1)- бутовый (i386/i486aka) 2)- с встроенными пакетами простых X-в (пусть bin-apk!) 3)- + сорсы ядра можно старый (я старые BSD образы дискет там загрузчик старый и кернели такие, что ...их стандартные загрузчики не опознают...)
|
#42 Автор: QHan (2014.01.06 00:20) | >> Функция перезагрузки ПК осуществялется через 19 прерывание ax=1 Кстати это прерывание не рабатает в Дусе на многих современных небуках (например, на бывшем моем AsusEEE Ami bios его не поддерживает.)Да и с другими ПК тоже самое, я считаю (начиная с гдето с 1999 г.выпуска прошивок).
|
#43 Автор: Jobs (2014.01.26 18:52) | QHan, у меня работает на ноуте
|
#44 Автор: (2014.03.08 18:47) | пародия на ось. зачем вообще такое выкладывать |
#45 Автор: Дед (2014.03.12 12:41) | Породия тут ты, однако это ОС и она работает, и это факт |
#46 Автор: 1kasper (2016.07.23 16:06) | Это пародия на ОС, непригодная для использование, и это факт. |
#47 Автор: sonic (2020.12.03 10:21) | а в .img а не .iso есть образ? |
| |
|