21995, 1/1100 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   hacs98
   Ä¿³Îµå¶óÀ̺긦 ¾î¼Àºí¸®¾î·Î ©¼öÀִ°¡??

http://www.hackerschool.org/HS_Boards/zboard.php?id=Free_Board&no=37851 [º¹»ç]


......

  Hit : 250     Date : 2025/02/03 10:04



    
ÇØÅ·ÀßÇϰí½Í´Ù ; serial µå¶óÀ̹ö ÃʱâÈ­ ÇÔ¼ö
global init_serial
global serial_write_char

section .text

; void init_serial()
init_serial:
mov dx, 0x3F8 ; COM1 Æ÷Æ®
mov al, 0x00
out dx, al ; Interrupt Disable Register = 0

mov dx, 0x3FB ; Line Control Register
mov al, 0x80
out dx, al ; DLAB (enable baud rate divisor)

mov dx, 0x3F8 ; Divisor Low Byte (baud rate)
mov al, 0x03 ; 38400 baud (divisor = 3)
out dx, al
mov dx, 0x3F9 ; Divisor High Byte
mov al, 0x00
out dx, al

mov dx, 0x3FB
mov al, 0x03 ; 8 bits, no parity, one stop bit
out dx, al

mov dx, 0x3FC ; FIFO Control Register
mov al, 0xC7 ; Enable FIFO, clear them, with 14-byte threshold
out dx, al

mov dx, 0x3FE ; Modem Control Register
mov al, 0x0B ; IRQs enabled, RTS/DSR set
out dx, al

ret

; void serial_write_char(char c)
; c is in AL
serial_write_char:
mov dx, 0x3F8 ; Wait until transmit buffer is empty
.wait:
in al, 0x3FD
test al, 0x20
jz .wait

mov dx, 0x3F8
out dx, al ; Write character
ret



extern void init_serial();
extern void serial_write_char(char c);

void kmain() {
init_serial();

char* msg = "Hello from assembly serial driver!\r\n";
for (int i = 0; msg[i] != '\0'; i++) {
serial_write_char(msg[i]);
}

while (1);
}
2025/03/21  
21995 ºñ¹Ð±ÛÀÔ´Ï´Ù  ¿î¿µÀÚ´Ô... (¼­¹ö ¿À·ùº¸°í)[1]     ÇØÅ·ÀßÇϰí½Í´Ù
04/17 4
21994   ÇØÅ· º¸¾È °ü·Ã °ú¿Ü¸¦ ÁøÇàÇÕ´Ï´Ù.[1]     bluewindsoul
03/26 182
21993   Ç϶ó´Â ÇØÅ·Àº ¾È Çϰí -part13-     ÇØÅ·ÀßÇϰí½Í´Ù
02/28 308
21992   Ç϶ó´Â ÇØÅ·Àº ¾È Çϰí -part11-     ÇØÅ·ÀßÇϰí½Í´Ù
02/28 154
21991   Ç϶ó´Â ÇØÅ·Àº ¾È Çϰí -part10-     ÇØÅ·ÀßÇϰí½Í´Ù
02/27 220
21990   ±êÇãºê ¹è¿ï ¶§°¡ ¿Ô³× -_-;;;     ÇØÅ·ÀßÇϰí½Í´Ù
02/18 269
21989   ÇØÅ· °ú¿ÜÇÕ´Ï´Ù[1]     hins13
02/10 671
21988   ¹éÅ×½ºÆÃ °á°ú     ÇØÅ·ÀßÇϰí½Í´Ù
02/07 256
  Ä¿³Îµå¶óÀ̺긦 ¾î¼Àºí¸®¾î·Î ©¼öÀִ°¡??[1]     hacs98
02/03 249
21986   ¸®´ª½ºÀÇ ¸Å·Â     ÇØÅ·ÀßÇϰí½Í´Ù
01/18 497
21985   Äɺó ¹ÌÆ®´ÐÀÌ ÇÑ ¸»ÀÌ ¸ÂÀ½     ÇØÅ·ÀßÇϰí½Í´Ù
01/16 538
21984   Ç϶ó´Â ÇØÅ·Àº ¾È Çϰí -part9-[2]     ÇØÅ·ÀßÇϰí½Í´Ù
12/08 869
21983   Ç϶ó´Â ÇØÅ·Àº ¾È Çϰí -part8-     ÇØÅ·ÀßÇϰí½Í´Ù
12/08 580
21982   Ç϶ó´Â ÇØÅ·Àº ¾È Çϰí -part7-     ÇØÅ·ÀßÇϰí½Í´Ù
12/08 654
21981   Ç϶ó´Â ÇØÅ·Àº ¾È Çϰí -part6-     ÇØÅ·ÀßÇϰí½Í´Ù
12/08 665
21980   À½¾ÇÀåºñ ´ë½Å ´Ù¸¥°É Áú·¶...     ÇØÅ·ÀßÇϰí½Í´Ù
12/03 647
21979   ·Îµå¸Ê[2]     ÇØÅ·ÀßÇϰí½Í´Ù
12/03 687
21978   ÇØÅ·º¸¾È °ú¿Ü ÁøÇàÇÕ´Ï´Ù.[2]     sysadm
12/03 744
21977   ·¦ ³ìÀ½ ÇÏ·Á°í Çϴµ­...     ÇØÅ·ÀßÇϰí½Í´Ù
11/22 613
21976   Drunken Tiger... Drunken Ka0r1...     ÇØÅ·ÀßÇϰí½Í´Ù
11/22 580
1 [2][3][4][5][6][7][8][9][10]..[1100]

Copyright 1999-2025 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org