OS на asseblere

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: OS на asseblere

Re: OS на asseblere

ASNOKE » 05 апр 2017, 03:58

вот простейшая

Код: Выделить всё

; #make_boot# 
use16
 
org 7c00h 
 
main:
jmp far 00:entry1
 
 
entry1: 
cli
mov ax,cs
mov ds,ax
sti   
mov ah,14
xor bl,bl
mov bx,clr
strt0:
mov al,[bx]
test al,al
jz exit0_
inc bx
int 10h
jmp strt0
exit0_: 
mov bh,1
mov bl,0   
int 10h
mov ah,14
xor bl,bl
mov bx,tex
strt:
mov al,[bx]
test al,al
jz exit_
inc bx
int 10h
jmp strt
exit_:
mov ah,14
xor bl,bl
mov bx,b
strt1:
mov al,[bx]
test al,al
jz exit1_
inc bx
int 10h
jmp strt1
exit1_:
mov ah,14
xor bl,bl
mov bx,d
strt2:
mov al,[bx]
test al,al
jz exit2_
inc bx
int 10h
jmp strt2
exit2_:
mov ah,0
int 16h
cmp ah,0Eh
jz back_space
cmp ah, 1Ch
jz Enter_Press
mov ah,0x0E
mov bh,0
mov [text1],al
int 10h
call exit2_
back_space:
mov ah,0x0E
mov bh,0
mov al,8
int 10h
mov ah,0x0E
mov bh,0
mov al,0
int 10h
mov ah,0x0E
mov bh,0
mov al,8
int 10h
call exit2_
Enter_Press:
 mov al,[text1]
 cmp al, '1'
 jz com_1
 cmp al, '2'
 jz com_2
 cmp al, '3'
 jz com_3 
 cmp al, '4'
 jz com_4     
 cmp al, '5'
 jz com_5
   
mov ah,14
xor bl,bl
mov bx,ad
strt5:
mov al,[bx]
test al,al
jz exit1_
inc bx
int 10h
jmp strt5
 
 
 com_1:
 mov ah,14
xor bl,bl
mov bx,clr
strt3:
mov al,[bx]
test al,al
jz exit3_
inc bx
int 10h
jmp strt3
exit3_:  
call exit1_
 
 com_2:
 mov ah,14
xor bl,bl
mov bx,ad
strt4:
mov al,[bx]
test al,al
jz exit4_
inc bx
int 10h
jmp strt4
exit4_:  
call exit1_
 
 
 com_3:
 cli
 hlt     
 
 com_4: 
  mov ah,14
xor bl,bl
mov bx,cre
strt6:
mov al,[bx]
test al,al
jz exit1_
inc bx
int 10h
jmp strt6
 
 
 
 
 
com_5:     
mov [text2],al
mov ah,14
xor bl,bl
mov bx,text2
strt11:
mov al,[bx]
test al,al
jz exit11_
inc bx
int 10h
jmp strt11
exit11_:  
mov [text2],ah
mov ah,14
xor bl,bl
mov bx,text2
strt12:
mov al,[bx]
test al,al
jz exit12_
inc bx
int 10h
jmp strt12
exit12_:
mov [text2],bl
mov ah,14
xor bl,bl
mov bx,text2
strt13:
mov al,[bx]
test al,al
jz exit13_
inc bx
int 10h
jmp strt13
exit13_: 
call exit1_
 
 
 
  
 
 
 
 
 
 
 
 
tex  db  0Dh,0Ah,'Loading, kernal file...',0 
b db   0Dh,0Ah,'Well done',0Ah,0
d db   0Dh,0Ah,'Print command : ',0
ad db  0Dh,0Ah,'1) Clear Screen',0Dh,0Ah,'2) Help of OS',0Dh,0Ah,'3) Kill processor',0Dh,0Ah,'4) Creators',0Ah,0Dh,'5) Registry of processor',0Ah,0Ah,0
cre db  0Dh,0Ah,'ASMcoder or MegaCraZy6',0Dh,0Ah,0
text1 db 0      
text2 db 0
clr db 0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0Ah,0
db 0xAA, 0x55
 
INT 19h

Re: OS на asseblere

ASNOKE » 05 апр 2017, 03:56

а я хочу эссомблер

Re: OS на asseblere

Сионист » 03 апр 2017, 19:11

Вот так вот "в лоб"? "Как написать?"? А чего сразу не как звездолёт построить? А не, это тоже мелко. Спрашивайте сразу, как какую нибудь астроинженерную задача решить. Причём, сразу такую, чтоб результат было видно невооружённым глазом из другого скопления галактик.

OS на asseblere

ASNOKE » 01 апр 2017, 04:58

как написать операционную систему в assembler

Вернуться к началу