рд╣рдо рдПрдХ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рд▓рд┐рдЦрддреЗ рд╣реИрдВред рднрд╛рдЧ 1. рд▓реЛрдбрд░

рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░! рдЖрдЬ рд╣рдо рдПрдХ рдмреВрдЯрд▓реЛрдбрд░ рд▓рд┐рдЦреЗрдВрдЧреЗ рдЬреЛ "рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб" рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗрдЧрд╛ рдФрд░ рдЗрд╕реЗ рд╡рд░реНрдЪреБрдЕрд▓рдмреЙрдХреНрд╕ рдкрд░ рд░рди рдХрд░реЗрдЧрд╛ред рд╣рдо рдЕрд╕реЗрдВрдмрд▓рд░ FASM рдореЗрдВ рд▓рд┐рдЦреЗрдВрдЧреЗред рдЖрдк рдЗрд╕реЗ рдпрд╣рд╛рдБ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ред рд╣рдореЗрдВ VirtualBox рдФрд░ UltraISO рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА ред рдХреЛрдб рд▓рд┐рдЦрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдпрд╣ рд╕рдордЭреЗрдВрдЧреЗ рдХрд┐ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреИрд╕реЗ рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИред

рдЗрд╕рд▓рд┐рдП, рдЬрдм рд╣рдо рдЕрдкрдиреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдмрдбрд╝реЗ рдкрд╛рд╡рд░ рдмрдЯрди рдХреЛ рджрдмрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╕рд┐рд╕реНрдЯрдо рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐рд╕реА рднреА рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рд╣реЛрддрд╛ рд╣реИ - BIOS (рдмреЗрд╕рд┐рдХ рдЗрдирдкреБрдЯ / рдЖрдЙрдЯрдкреБрдЯ рд╕рд┐рд╕реНрдЯрдо рдпрд╛ рдмреЗрд╕рд┐рдХ рдЗрдирдкреБрдЯ / рдЖрдЙрдЯрдкреБрдЯ рд╕рд┐рд╕реНрдЯрдо)ред BIOS рдХрд╛рд░реНрдп рд╣реИ:


  1. рд╕рднреА рдЬреБрдбрд╝реЗ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВ рдФрд░ рдЙрдирдХреА рд╕рдВрдЪрд╛рд▓рди рдХреНрд╖рдорддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВред POST рдХрд╛рд░реНрдпрдХреНрд░рдо (рдкрд╛рд╡рд░ рдСрди рд╕реЗрд▓реНрдл рдЯреЗрд╕реНрдЯ, рдкрд╛рд╡рд░-рдСрди рд╕реЗрд▓реНрдл-рдЯреЗрд╕реНрдЯ) рдЗрд╕рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдпрджрд┐ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓реЛрд╣реЗ рдХрд╛ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╕рд┐рд╕реНрдЯрдо рд╕реНрдкреАрдХрд░ (рдпрджрд┐ рдХреЛрдИ рд╣реИ) рдХреБрдЫ рд╕рдордЭ рд╕реЗ рдмрд╛рд╣рд░ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдбрд╛рдЙрдирд▓реЛрдб рдЖрдЧреЗ рдирд╣реАрдВ рдмрдврд╝реЗрдЧрд╛ред
  2. рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рджрд╛рди рдХрд░реЗрдВред
  3. рдСрдлрд╕реЗрдЯ 0x7C00h рдкрд░ рд░реИрдо рдХреЗ рд╢реВрдиреНрдп рд╕реЗрдЧрдореЗрдВрдЯ рдореЗрдВ рдмреВрдЯ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдкрд╣рд▓реЗ рд╕реЗрдХреНрдЯрд░ рдХреЛ рдкрдврд╝реЗрдВ рдФрд░ рд╡рд╣рд╛рдВ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрдВрдЯреНрд░реЛрд▓ рдХрд░реЗрдВред рдбрд┐рд╕реНрдХ рдкрд░ 1 рд╕реЗрдХреНрдЯрд░ 512 рдмрд╛рдЗрдЯреНрд╕ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдорд╛рд░рд╛ рдмреВрдЯрд▓реЛрдбрд░ 512 рдмрд╛рдЗрдЯреНрд╕ рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред BIOS рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╕реЗрдХреНрдЯрд░ рдЕрдкрдиреЗ рдЕрдВрддрд┐рдо рджреЛ рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ 0x55 рдФрд░ 0xAA рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рд╕реЗ рдмреВрдЯ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИред

рдЕрдм рдЖрдк рдХреЛрдб рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдлрд╝рд╛рдЗрд▓ FASMW.EXE рдЪрд▓рд╛рдПрдВ, рдЬреЛ FASM рдХреЗ рд╕рд╛рде рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИ, рдФрд░ рд╡рд╣рд╛рдВ рдирд┐рдореНрди рдХреЛрдб рдбрд╛рд▓реЗрдВ:

org 7C00h

 start:
    cli              ;  (   )
    xor ax, ax       ;  ax
    mov ds, ax       ; dataSegment   
    mov es, ax       ;  es   
    mov ss, ax       ; StackSegment   
    mov sp, 07C00h   ;    
    sti              ; 

  ; 
  mov ax, 3
  int 10h

  mov ah, 2h
  mov dh, 0
  mov dl, 0
  xor bh, bh
  int 10h

  ; 
  mov ax, 1301h
  mov bp, message
  mov cx, 12
  mov bl, 02h
  int 10h

  jmp $

message db 'Hello World!',0

times 510 - ($ - $$) db 0 ;     510- 
db 0x55, 0xAA ;   

рдЗрд╕ рдХреЛрдб рдХреЛ рдереЛрдбрд╝рд╛ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рджрд▓

org 7C00h

рд╣рдо рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдХреЛрдб рдХреЛ 0x7C00 рдкрд░ RAM рдореЗрдВ рд▓реЛрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд░реЗрдЦрд╛ рдХреЗ рдЕрдВрджрд░

  mov ax, 3
  int 10h

рд╣рдо рд╡реАрдбрд┐рдпреЛ рдореЛрдб рдХреЛ 80x25 (80 рд╡рд░реНрдг рдкреНрд░рддрд┐ рдкрдВрдХреНрддрд┐ рдФрд░ 25 рдкрдВрдХреНрддрд┐) рдкрд░ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЬрд┐рд╕рд╕реЗ рд╕реНрдХреНрд░реАрди рд╕рд╛рдлрд╝ рд╣реЛрддреА рд╣реИред

  mov ah, 2h
  mov dh, 0
  mov dl, 0
  xor bh, bh
  int 10h

рдпрд╣рд╛рдБ рд╣рдо рдХрд░реНрд╕рд░ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред 2h рдЗрдВрдЯрд░рдкреНрдЯ 10h рдлрдВрдХреНрд╢рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рд░рдЬрд┐рд╕реНрдЯрд░ dh рдореЗрдВ рд╣рдо Y рдореЗрдВ рдХрд░реНрд╕рд░ рдХрд╛ рд╕рдордиреНрд╡рдп рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ X рдореЗрдВ рд░рдЬрд┐рд╕реНрдЯрд░ dl рдореЗрдВред

  mov ax, 1301h
  mov bp, message
  mov cx, 12
  mov bl, 02h
  int 10h

рд╣рдо рдПрдХ рд▓рд╛рдЗрди рдкреНрд░рд┐рдВрдЯ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рд▓рд┐рдП 13h рдЗрдВрдЯрд░рдкреНрдЯ 10h рдлрдВрдХреНрд╢рди рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред Bp рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ, рд╣рдо рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рд╕реНрд╡рдпрдВ рдбрд╛рд▓рддреЗ рд╣реИрдВ, cx рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рд╡рд░реНрдгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВ, bl рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ рд╡рд┐рд╢реЗрд╖рддрд╛ рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВ, рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рд░рдВрдЧ рд╣рд░рд╛ рд╣реЛрдЧрд╛ред рдкрд╣рд▓реЗ 4 рдмрд┐рдЯреНрд╕ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдХрд▓рд░ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рджреВрд╕рд░реЗ 4 рдмрд┐рдЯреНрд╕ рдЯреЗрдХреНрд╕реНрдЯ рдХрд▓рд░ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдиреАрдЪреЗ рд░рдВрдЧ рдЪрд╛рд░реНрдЯ рд╣реИ

0 - , 1 - , 2 - , 3 - , 4 - , 5 - , 6 - , 7 - -, 8 - -, 9 - -, A - -, B - -, C - -, D- -, E - -, F тАУ .

рдкрдВрдХреНрддрд┐ рдореЗрдВ

jmp $

рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдЬрдорд╛ рджреЗрддрд╛ рд╣реИред

рд╣рдо Ctrl + F9 рджрдмрд╛рдХрд░ рдХреЛрдб рд╕рдВрдХрд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдлрд╝рд╛рдЗрд▓ рдХреЛ boot.bin рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВред

рдкреНрд░рдХреНрд╖реЗрдкрдг


UltraISO рд▓реЙрдиреНрдЪ рдХрд░реЗрдВ рдФрд░ рд╣рдорд╛рд░реЗ рдмрд╛рдЗрдирд░реА рдХреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдХреНрд╖реЗрддреНрд░ (рдПрдХ рд▓рд╛рд▓ рддреАрд░ рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд) рдореЗрдВ рдЦреАрдВрдЪреЗрдВред



рдЕрдЧрд▓рд╛, рдмрд╛рдпрдирд░рд┐рдВрдХ рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╢рд┐рд▓рд╛рд▓реЗрдЦ рдХреЗ рд╕рд╛рде рдмрдЯрди рджрдмрд╛рдПрдВ: "рдмреВрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ"ред рдЗрд╕рдХреЗ рдмрд╛рдж, рдЖрдИрдПрд╕рдУ рдлреЙрд░реНрдореЗрдЯ рдореЗрдВ рд╣рдорд╛рд░реА рдлрд╛рдЗрд▓ рдХреЛ рд╕реЗрд╡ рдХрд░реЗрдВред
VIrtualBox рдЦреЛрд▓реЗрдВ рдФрд░ рдПрдХ рдирдИ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдмрдирд╛рдПрдВ (рдпрджрд┐ рдЖрдкрдХреЛ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ, рддреЛ рдпрд╣рд╛рдВ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ )ред рдЗрд╕рд▓рд┐рдП, рдЬрдм рдЖрдкрдиреЗ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдмрдирд╛рдИ рд╣реИ, рддреЛ "рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ", "рдореАрдбрд┐рдпрд╛" рдЖрдЗрдЯрдо рдЪреБрдиреЗрдВ, "рдЦрд╛рд▓реА" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рдЬрд╣рд╛рдВ "рдбреНрд░рд╛рдЗрд╡" рдСрдкреНрдЯрд┐рдХрд▓ рдбрд┐рд╕реНрдХ рдЖрдЗрдХрди рд╣реИред рд╣рдо рдЙрд╕ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ "рдСрдкреНрдЯрд┐рдХрд▓ рдбрд┐рд╕реНрдХ рдЫрд╡рд┐ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ" рдЪреБрдиреЗрдВ, рд╣рдорд╛рд░реА рдЖрдИрдПрд╕рдУ рдлрд╝рд╛рдЗрд▓ рджреЗрдЦреЗрдВ, "рдУрдкрди" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рд╣рдо рд╕рднреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВ рдФрд░ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рд╣рдорд╛рд░реА "рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб!" рд╕реНрдХреНрд░реАрди рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИред



рдЗрд╕ рдкрд░, рдкрд╣рд▓рд╛ рдореБрджреНрджрд╛ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдЧрд▓реЗ рднрд╛рдЧ рдореЗрдВ, рд╣рдо рдЕрдкрдиреЗ рдмреВрдЯрд▓реЛрдбрд░ рдХреЛ рдбрд┐рд╕реНрдХ рд╕реЗрдХреНрдЯрд░ рдХреЛ рдкрдврд╝рдирд╛ рд╕рд┐рдЦрд╛рдПрдБрдЧреЗ рдФрд░ рдЗрд╕рдХреА рдкрд╣рд▓реА рдХрд░реНрдиреЗрд▓ рдХреЛ рдмреВрдЯ рдХрд░реЗрдВрдЧреЗ!


All Articles