+ Ответить в теме
Показано с 1 по 4 из 4

Тема: OS на asseblere

  1. #1
    coder ASNOKE is on a distinguished road
    Регистрация
    19.03.2017
    Возраст
    31
    Сообщений
    11
    Вес репутации
    2

    По умолчанию OS на asseblere

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

  2. По умолчанию

     
    Хотите избавиться от рекламы? Зарегистрируйтесь
  3. #2
    Недохакер system architect Сионист is an unknown quantity at this point Аватар для Сионист
    Регистрация
    31.03.2014
    Сообщений
    1,078
    Вес репутации
    0

    По умолчанию Re: OS на asseblere

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

  4. #3
    coder ASNOKE is on a distinguished road
    Регистрация
    19.03.2017
    Возраст
    31
    Сообщений
    11
    Вес репутации
    2

    По умолчанию Re: OS на asseblere

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

  5. #4
    coder ASNOKE is on a distinguished road
    Регистрация
    19.03.2017
    Возраст
    31
    Сообщений
    11
    Вес репутации
    2

    По умолчанию Re: OS на asseblere

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

    Код asm:
    1. ; #make_boot#
    2. use16
    3.  
    4. org 7c00h
    5.  
    6. main:
    7. jmp far 00:entry1
    8.  
    9.  
    10. entry1:
    11. cli
    12. mov ax,cs
    13. mov ds,ax
    14. sti  
    15. mov ah,14
    16. xor bl,bl
    17. mov bx,clr
    18. strt0:
    19. mov al,[bx]
    20. test al,al
    21. jz exit0_
    22. inc bx
    23. int 10h
    24. jmp strt0
    25. exit0_:
    26. mov bh,1
    27. mov bl,0  
    28. int 10h
    29. mov ah,14
    30. xor bl,bl
    31. mov bx,tex
    32. strt:
    33. mov al,[bx]
    34. test al,al
    35. jz exit_
    36. inc bx
    37. int 10h
    38. jmp strt
    39. exit_:
    40. mov ah,14
    41. xor bl,bl
    42. mov bx,b
    43. strt1:
    44. mov al,[bx]
    45. test al,al
    46. jz exit1_
    47. inc bx
    48. int 10h
    49. jmp strt1
    50. exit1_:
    51. mov ah,14
    52. xor bl,bl
    53. mov bx,d
    54. strt2:
    55. mov al,[bx]
    56. test al,al
    57. jz exit2_
    58. inc bx
    59. int 10h
    60. jmp strt2
    61. exit2_:
    62. mov ah,0
    63. int 16h
    64. cmp ah,0Eh
    65. jz back_space
    66. cmp ah, 1Ch
    67. jz Enter_Press
    68. mov ah,0x0E
    69. mov bh,0
    70. mov [text1],al
    71. int 10h
    72. call exit2_
    73. back_space:
    74. mov ah,0x0E
    75. mov bh,0
    76. mov al,8
    77. int 10h
    78. mov ah,0x0E
    79. mov bh,0
    80. mov al,0
    81. int 10h
    82. mov ah,0x0E
    83. mov bh,0
    84. mov al,8
    85. int 10h
    86. call exit2_
    87. Enter_Press:
    88.  mov al,[text1]
    89.  cmp al, '1'
    90.  jz com_1
    91.  cmp al, '2'
    92.  jz com_2
    93.  cmp al, '3'
    94.  jz com_3
    95.  cmp al, '4'
    96.  jz com_4    
    97.  cmp al, '5'
    98.  jz com_5
    99.    
    100. mov ah,14
    101. xor bl,bl
    102. mov bx,ad
    103. strt5:
    104. mov al,[bx]
    105. test al,al
    106. jz exit1_
    107. inc bx
    108. int 10h
    109. jmp strt5
    110.  
    111.  
    112.  com_1:
    113.  mov ah,14
    114. xor bl,bl
    115. mov bx,clr
    116. strt3:
    117. mov al,[bx]
    118. test al,al
    119. jz exit3_
    120. inc bx
    121. int 10h
    122. jmp strt3
    123. exit3_:  
    124. call exit1_
    125.  
    126.  com_2:
    127.  mov ah,14
    128. xor bl,bl
    129. mov bx,ad
    130. strt4:
    131. mov al,[bx]
    132. test al,al
    133. jz exit4_
    134. inc bx
    135. int 10h
    136. jmp strt4
    137. exit4_:  
    138. call exit1_
    139.  
    140.  
    141.  com_3:
    142.  cli
    143.  hlt    
    144.  
    145.  com_4:
    146.   mov ah,14
    147. xor bl,bl
    148. mov bx,cre
    149. strt6:
    150. mov al,[bx]
    151. test al,al
    152. jz exit1_
    153. inc bx
    154. int 10h
    155. jmp strt6
    156.  
    157.  
    158.  
    159.  
    160.  
    161. com_5:    
    162. mov [text2],al
    163. mov ah,14
    164. xor bl,bl
    165. mov bx,text2
    166. strt11:
    167. mov al,[bx]
    168. test al,al
    169. jz exit11_
    170. inc bx
    171. int 10h
    172. jmp strt11
    173. exit11_:  
    174. mov [text2],ah
    175. mov ah,14
    176. xor bl,bl
    177. mov bx,text2
    178. strt12:
    179. mov al,[bx]
    180. test al,al
    181. jz exit12_
    182. inc bx
    183. int 10h
    184. jmp strt12
    185. exit12_:
    186. mov [text2],bl
    187. mov ah,14
    188. xor bl,bl
    189. mov bx,text2
    190. strt13:
    191. mov al,[bx]
    192. test al,al
    193. jz exit13_
    194. inc bx
    195. int 10h
    196. jmp strt13
    197. exit13_:
    198. call exit1_
    199.  
    200.  
    201.  
    202.  
    203.  
    204.  
    205.  
    206.  
    207.  
    208.  
    209.  
    210.  
    211. tex  db  0Dh,0Ah,'Loading, kernal file...',0
    212. b db   0Dh,0Ah,'Well done',0Ah,0
    213. d db   0Dh,0Ah,'Print command : ',0
    214. 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
    215. cre db  0Dh,0Ah,'ASMcoder or MegaCraZy6',0Dh,0Ah,0
    216. text1 db 0      
    217. text2 db 0
    218. 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
    219. db 0xAA, 0x55
    220.  
    221. INT 19h
    Последний раз редактировалось AiK; 05.04.2017 в 11:56. Причина: [code=asm][/code]

+ Ответить в теме

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения