sos

[unmaintained] experimenting with low level OS development
Log | Files | Refs | README | LICENSE

idt.asm (9906B)


      1 section .data
      2 int_counter db 0
      3 
      4 section .text
      5 global int_handler_0
      6 int_handler_0:
      7 mov ax, 0x10
      8 mov gs, ax
      9 mov dword [gs:0xB8000],'0 '
     10 hlt
     11 
     12 global int_handler_1
     13 int_handler_1:
     14 mov ax, 0x10
     15 mov gs, ax
     16 mov dword [gs:0xB8000],'1 '
     17 hlt
     18 
     19 global int_handler_2
     20 int_handler_2:
     21 mov ax, 0x10
     22 mov gs, ax
     23 mov dword [gs:0xB8000],'2 '
     24 hlt
     25 
     26 global int_handler_3
     27 int_handler_3:
     28 mov ax, 0x10
     29 mov gs, ax
     30 mov dword [gs:0xB8000],'3 '
     31 hlt
     32 
     33 global int_handler_4
     34 int_handler_4:
     35 mov ax, 0x10
     36 mov gs, ax
     37 mov dword [gs:0xB8000],'4 '
     38 hlt
     39 
     40 global int_handler_5
     41 int_handler_5:
     42 mov ax, 0x10
     43 mov gs, ax
     44 mov dword [gs:0xB8000],'5 '
     45 hlt
     46 
     47 global int_handler_6
     48 int_handler_6:
     49 mov ax, 0x10
     50 mov gs, ax
     51 mov dword [gs:0xB8000],'6 '
     52 hlt
     53 
     54 global int_handler_7
     55 int_handler_7:
     56 mov ax, 0x10
     57 mov gs, ax
     58 mov dword [gs:0xB8000],'7 '
     59 hlt
     60 
     61 global int_handler_8
     62 int_handler_8:
     63 mov ax, 0x10
     64 mov gs, ax
     65 mov dword [gs:0xB8000],'8 '
     66 hlt
     67 
     68 global int_handler_9
     69 int_handler_9:
     70 mov ax, 0x10
     71 mov gs, ax
     72 mov dword [gs:0xB8000],'9 '
     73 hlt
     74 
     75 global int_handler_10
     76 int_handler_10:
     77 mov ax, 0x10
     78 mov gs, ax
     79 mov dword [gs:0xB8000],'1 0 '
     80 hlt
     81 
     82 global int_handler_11
     83 int_handler_11:
     84 mov ax, 0x10
     85 mov gs, ax
     86 mov dword [gs:0xB8000],'1 1 '
     87 hlt
     88 
     89 global int_handler_12
     90 int_handler_12:
     91 mov ax, 0x10
     92 mov gs, ax
     93 mov dword [gs:0xB8000],'1 2 '
     94 hlt
     95 
     96 global int_handler_13
     97 int_handler_13:
     98 mov ax, 0x10
     99 mov gs, ax
    100 mov dword [gs:0xB8000],'1 3 '
    101 hlt
    102 
    103 global int_handler_14
    104 int_handler_14:
    105 mov ax, 0x10
    106 mov gs, ax
    107 mov dword [gs:0xB8000],'1 4 '
    108 hlt
    109 
    110 global int_handler_15
    111 int_handler_15:
    112 mov ax, 0x10
    113 mov gs, ax
    114 mov dword [gs:0xB8000],'1 5 '
    115 hlt
    116 
    117 global int_handler_16
    118 int_handler_16:
    119 mov ax, 0x10
    120 mov gs, ax
    121 mov dword [gs:0xB8000],'1 6 '
    122 hlt
    123 
    124 global int_handler_17
    125 int_handler_17:
    126 mov ax, 0x10
    127 mov gs, ax
    128 mov dword [gs:0xB8000],'1 7 '
    129 hlt
    130 
    131 global int_handler_18
    132 int_handler_18:
    133 mov ax, 0x10
    134 mov gs, ax
    135 mov dword [gs:0xB8000],'1 8 '
    136 hlt
    137 
    138 global int_handler_19
    139 int_handler_19:
    140 mov ax, 0x10
    141 mov gs, ax
    142 mov dword [gs:0xB8000],'1 9 '
    143 hlt
    144 
    145 global int_handler_20
    146 int_handler_20:
    147 mov ax, 0x10
    148 mov gs, ax
    149 mov dword [gs:0xB8000],'2 0 '
    150 hlt
    151 
    152 global int_handler_21
    153 int_handler_21:
    154 mov ax, 0x10
    155 mov gs, ax
    156 mov dword [gs:0xB8000],'2 1 '
    157 hlt
    158 
    159 global int_handler_22
    160 int_handler_22:
    161 mov ax, 0x10
    162 mov gs, ax
    163 mov dword [gs:0xB8000],'2 2 '
    164 hlt
    165 
    166 global int_handler_23
    167 int_handler_23:
    168 mov ax, 0x10
    169 mov gs, ax
    170 mov dword [gs:0xB8000],'2 3 '
    171 hlt
    172 
    173 global int_handler_24
    174 int_handler_24:
    175 mov ax, 0x10
    176 mov gs, ax
    177 mov dword [gs:0xB8000],'2 4 '
    178 hlt
    179 
    180 global int_handler_25
    181 int_handler_25:
    182 mov ax, 0x10
    183 mov gs, ax
    184 mov dword [gs:0xB8000],'2 5 '
    185 hlt
    186 
    187 global int_handler_26
    188 int_handler_26:
    189 mov ax, 0x10
    190 mov gs, ax
    191 mov dword [gs:0xB8000],'2 6 '
    192 hlt
    193 
    194 global int_handler_27
    195 int_handler_27:
    196 mov ax, 0x10
    197 mov gs, ax
    198 mov dword [gs:0xB8000],'2 7 '
    199 hlt
    200 
    201 global int_handler_28
    202 int_handler_28:
    203 mov ax, 0x10
    204 mov gs, ax
    205 mov dword [gs:0xB8000],'2 8 '
    206 hlt
    207 
    208 global int_handler_29
    209 int_handler_29:
    210 mov ax, 0x10
    211 mov gs, ax
    212 mov dword [gs:0xB8000],'2 9 '
    213 hlt
    214 
    215 global int_handler_30
    216 int_handler_30:
    217 mov ax, 0x10
    218 mov gs, ax
    219 mov dword [gs:0xB8000],'3 0 '
    220 hlt
    221 
    222 global int_handler_31
    223 int_handler_31:
    224 mov ax, 0x10
    225 mov gs, ax
    226 mov dword [gs:0xB8000],'3 1 '
    227 hlt
    228 
    229 global int_handler_32
    230 int_handler_32:
    231 mov ax, 0x10
    232 mov gs, ax
    233 xor ax, ax
    234 mov al, byte [gs:int_counter]
    235 inc al
    236 mov byte [gs:int_counter], al
    237 mov bl, 18
    238 div bl
    239 mov byte [gs:0xB8000], al
    240 mov al, 0x20
    241 out 0x20, al
    242 iret
    243 
    244 extern keyboard_irq_handler
    245 global int_handler_33
    246 int_handler_33:
    247 mov ax, 0x10
    248 mov gs, ax
    249 mov dword [gs:0xB8000],'3 3 '
    250 call keyboard_irq_handler
    251 mov al, 0x20
    252 out 0x20, al
    253 iret
    254 
    255 global int_handler_34
    256 int_handler_34:
    257 mov ax, 0x10
    258 mov gs, ax
    259 mov dword [gs:0xB8000],'3 4 '
    260 hlt
    261 
    262 global int_handler_35
    263 int_handler_35:
    264 mov ax, 0x10
    265 mov gs, ax
    266 mov dword [gs:0xB8000],'3 5 '
    267 hlt
    268 
    269 global int_handler_36
    270 int_handler_36:
    271 mov ax, 0x10
    272 mov gs, ax
    273 mov dword [gs:0xB8000],'3 6 '
    274 hlt
    275 
    276 global int_handler_37
    277 int_handler_37:
    278 mov ax, 0x10
    279 mov gs, ax
    280 mov dword [gs:0xB8000],'3 7 '
    281 hlt
    282 
    283 global int_handler_38
    284 int_handler_38:
    285 mov ax, 0x10
    286 mov gs, ax
    287 mov dword [gs:0xB8000],'3 8 '
    288 hlt
    289 
    290 global int_handler_39
    291 int_handler_39:
    292 mov ax, 0x10
    293 mov gs, ax
    294 mov dword [gs:0xB8000],'3 9 '
    295 hlt
    296 
    297 global int_handler_40
    298 int_handler_40:
    299 mov ax, 0x10
    300 mov gs, ax
    301 mov dword [gs:0xB8000],'4 0 '
    302 hlt
    303 
    304 global int_handler_41
    305 int_handler_41:
    306 mov ax, 0x10
    307 mov gs, ax
    308 mov dword [gs:0xB8000],'4 1 '
    309 hlt
    310 
    311 global int_handler_42
    312 int_handler_42:
    313 mov ax, 0x10
    314 mov gs, ax
    315 mov dword [gs:0xB8000],'4 2 '
    316 hlt
    317 
    318 global int_handler_43
    319 int_handler_43:
    320 mov ax, 0x10
    321 mov gs, ax
    322 mov dword [gs:0xB8000],'4 3 '
    323 hlt
    324 
    325 global int_handler_44
    326 int_handler_44:
    327 mov ax, 0x10
    328 mov gs, ax
    329 mov dword [gs:0xB8000],'4 4 '
    330 hlt
    331 
    332 global int_handler_45
    333 int_handler_45:
    334 mov ax, 0x10
    335 mov gs, ax
    336 mov dword [gs:0xB8000],'4 5 '
    337 hlt
    338 
    339 global int_handler_46
    340 int_handler_46:
    341 mov ax, 0x10
    342 mov gs, ax
    343 mov dword [gs:0xB8000],'4 6 '
    344 hlt
    345 
    346 global int_handler_47
    347 int_handler_47:
    348 mov ax, 0x10
    349 mov gs, ax
    350 mov dword [gs:0xB8000],'4 7 '
    351 hlt
    352 
    353 global int_handler_48
    354 int_handler_48:
    355 mov ax, 0x10
    356 mov gs, ax
    357 mov dword [gs:0xB8000],'4 8 '
    358 hlt
    359 
    360 global int_handler_49
    361 int_handler_49:
    362 mov ax, 0x10
    363 mov gs, ax
    364 mov dword [gs:0xB8000],'4 9 '
    365 hlt
    366 
    367 global int_handler_50
    368 int_handler_50:
    369 mov ax, 0x10
    370 mov gs, ax
    371 mov dword [gs:0xB8000],'5 0 '
    372 hlt
    373 
    374 global int_handler_51
    375 int_handler_51:
    376 mov ax, 0x10
    377 mov gs, ax
    378 mov dword [gs:0xB8000],'5 1 '
    379 hlt
    380 
    381 global int_handler_52
    382 int_handler_52:
    383 mov ax, 0x10
    384 mov gs, ax
    385 mov dword [gs:0xB8000],'5 2 '
    386 hlt
    387 
    388 global int_handler_53
    389 int_handler_53:
    390 mov ax, 0x10
    391 mov gs, ax
    392 mov dword [gs:0xB8000],'5 3 '
    393 hlt
    394 
    395 global int_handler_54
    396 int_handler_54:
    397 mov ax, 0x10
    398 mov gs, ax
    399 mov dword [gs:0xB8000],'5 4 '
    400 hlt
    401 
    402 global int_handler_55
    403 int_handler_55:
    404 mov ax, 0x10
    405 mov gs, ax
    406 mov dword [gs:0xB8000],'5 5 '
    407 hlt
    408 
    409 global int_handler_56
    410 int_handler_56:
    411 mov ax, 0x10
    412 mov gs, ax
    413 mov dword [gs:0xB8000],'5 6 '
    414 hlt
    415 
    416 global int_handler_57
    417 int_handler_57:
    418 mov ax, 0x10
    419 mov gs, ax
    420 mov dword [gs:0xB8000],'5 7 '
    421 hlt
    422 
    423 global int_handler_58
    424 int_handler_58:
    425 mov ax, 0x10
    426 mov gs, ax
    427 mov dword [gs:0xB8000],'5 8 '
    428 hlt
    429 
    430 global int_handler_59
    431 int_handler_59:
    432 mov ax, 0x10
    433 mov gs, ax
    434 mov dword [gs:0xB8000],'5 9 '
    435 hlt
    436 
    437 global int_handler_60
    438 int_handler_60:
    439 mov ax, 0x10
    440 mov gs, ax
    441 mov dword [gs:0xB8000],'6 0 '
    442 hlt
    443 
    444 global int_handler_61
    445 int_handler_61:
    446 mov ax, 0x10
    447 mov gs, ax
    448 mov dword [gs:0xB8000],'6 1 '
    449 hlt
    450 
    451 global int_handler_62
    452 int_handler_62:
    453 mov ax, 0x10
    454 mov gs, ax
    455 mov dword [gs:0xB8000],'6 2 '
    456 hlt
    457 
    458 global int_handler_63
    459 int_handler_63:
    460 mov ax, 0x10
    461 mov gs, ax
    462 mov dword [gs:0xB8000],'6 3 '
    463 hlt
    464 
    465 global int_handler_64
    466 int_handler_64:
    467 mov ax, 0x10
    468 mov gs, ax
    469 mov dword [gs:0xB8000],'6 4 '
    470 hlt
    471 
    472 global int_handler_65
    473 int_handler_65:
    474 mov ax, 0x10
    475 mov gs, ax
    476 mov dword [gs:0xB8000],'6 5 '
    477 hlt
    478 
    479 global int_handler_66
    480 int_handler_66:
    481 mov ax, 0x10
    482 mov gs, ax
    483 mov dword [gs:0xB8000],'6 6 '
    484 hlt
    485 
    486 global int_handler_67
    487 int_handler_67:
    488 mov ax, 0x10
    489 mov gs, ax
    490 mov dword [gs:0xB8000],'6 7 '
    491 hlt
    492 
    493 global int_handler_68
    494 int_handler_68:
    495 mov ax, 0x10
    496 mov gs, ax
    497 mov dword [gs:0xB8000],'6 8 '
    498 hlt
    499 
    500 global int_handler_69
    501 int_handler_69:
    502 mov ax, 0x10
    503 mov gs, ax
    504 mov dword [gs:0xB8000],'6 9 '
    505 hlt
    506 
    507 global int_handler_70
    508 int_handler_70:
    509 mov ax, 0x10
    510 mov gs, ax
    511 mov dword [gs:0xB8000],'7 0 '
    512 hlt
    513 
    514 global int_handler_71
    515 int_handler_71:
    516 mov ax, 0x10
    517 mov gs, ax
    518 mov dword [gs:0xB8000],'7 1 '
    519 hlt
    520 
    521 global int_handler_72
    522 int_handler_72:
    523 mov ax, 0x10
    524 mov gs, ax
    525 mov dword [gs:0xB8000],'7 2 '
    526 hlt
    527 
    528 global int_handler_73
    529 int_handler_73:
    530 mov ax, 0x10
    531 mov gs, ax
    532 mov dword [gs:0xB8000],'7 3 '
    533 hlt
    534 
    535 global int_handler_74
    536 int_handler_74:
    537 mov ax, 0x10
    538 mov gs, ax
    539 mov dword [gs:0xB8000],'7 4 '
    540 hlt
    541 
    542 global int_handler_75
    543 int_handler_75:
    544 mov ax, 0x10
    545 mov gs, ax
    546 mov dword [gs:0xB8000],'7 5 '
    547 hlt
    548 
    549 global int_handler_76
    550 int_handler_76:
    551 mov ax, 0x10
    552 mov gs, ax
    553 mov dword [gs:0xB8000],'7 6 '
    554 hlt
    555 
    556 global int_handler_77
    557 int_handler_77:
    558 mov ax, 0x10
    559 mov gs, ax
    560 mov dword [gs:0xB8000],'7 7 '
    561 hlt
    562 
    563 global int_handler_78
    564 int_handler_78:
    565 mov ax, 0x10
    566 mov gs, ax
    567 mov dword [gs:0xB8000],'7 8 '
    568 hlt
    569 
    570 global int_handler_79
    571 int_handler_79:
    572 mov ax, 0x10
    573 mov gs, ax
    574 mov dword [gs:0xB8000],'7 9 '
    575 hlt
    576 
    577 global int_handler_80
    578 int_handler_80:
    579 mov ax, 0x10
    580 mov gs, ax
    581 mov dword [gs:0xB8000],'8 0 '
    582 hlt
    583 
    584 global int_handler_81
    585 int_handler_81:
    586 mov ax, 0x10
    587 mov gs, ax
    588 mov dword [gs:0xB8000],'8 1 '
    589 hlt
    590 
    591 global int_handler_82
    592 int_handler_82:
    593 mov ax, 0x10
    594 mov gs, ax
    595 mov dword [gs:0xB8000],'8 2 '
    596 hlt
    597 
    598 global int_handler_83
    599 int_handler_83:
    600 mov ax, 0x10
    601 mov gs, ax
    602 mov dword [gs:0xB8000],'8 3 '
    603 hlt
    604 
    605 global int_handler_84
    606 int_handler_84:
    607 mov ax, 0x10
    608 mov gs, ax
    609 mov dword [gs:0xB8000],'8 4 '
    610 hlt
    611 
    612 global int_handler_85
    613 int_handler_85:
    614 mov ax, 0x10
    615 mov gs, ax
    616 mov dword [gs:0xB8000],'8 5 '
    617 hlt
    618 
    619 global int_handler_86
    620 int_handler_86:
    621 mov ax, 0x10
    622 mov gs, ax
    623 mov dword [gs:0xB8000],'8 6 '
    624 hlt
    625 
    626 global int_handler_87
    627 int_handler_87:
    628 mov ax, 0x10
    629 mov gs, ax
    630 mov dword [gs:0xB8000],'8 7 '
    631 hlt
    632 
    633 global int_handler_88
    634 int_handler_88:
    635 mov ax, 0x10
    636 mov gs, ax
    637 mov dword [gs:0xB8000],'8 8 '
    638 hlt
    639 
    640 global int_handler_89
    641 int_handler_89:
    642 mov ax, 0x10
    643 mov gs, ax
    644 mov dword [gs:0xB8000],'8 9 '
    645 hlt
    646 
    647 global int_handler_90
    648 int_handler_90:
    649 mov ax, 0x10
    650 mov gs, ax
    651 mov dword [gs:0xB8000],'9 0 '
    652 hlt
    653 
    654 global int_handler_91
    655 int_handler_91:
    656 mov ax, 0x10
    657 mov gs, ax
    658 mov dword [gs:0xB8000],'9 1 '
    659 hlt
    660 
    661 global int_handler_92
    662 int_handler_92:
    663 mov ax, 0x10
    664 mov gs, ax
    665 mov dword [gs:0xB8000],'9 2 '
    666 hlt
    667 
    668 global int_handler_93
    669 int_handler_93:
    670 mov ax, 0x10
    671 mov gs, ax
    672 mov dword [gs:0xB8000],'9 3 '
    673 hlt
    674 
    675 global int_handler_94
    676 int_handler_94:
    677 mov ax, 0x10
    678 mov gs, ax
    679 mov dword [gs:0xB8000],'9 4 '
    680 hlt
    681 
    682 global int_handler_95
    683 int_handler_95:
    684 mov ax, 0x10
    685 mov gs, ax
    686 mov dword [gs:0xB8000],'9 5 '
    687 hlt
    688 
    689 global int_handler_96
    690 int_handler_96:
    691 mov ax, 0x10
    692 mov gs, ax
    693 mov dword [gs:0xB8000],'9 6 '
    694 hlt
    695 
    696 global int_handler_97
    697 int_handler_97:
    698 mov ax, 0x10
    699 mov gs, ax
    700 mov dword [gs:0xB8000],'9 7 '
    701 hlt
    702 
    703 global int_handler_98
    704 int_handler_98:
    705 mov ax, 0x10
    706 mov gs, ax
    707 mov dword [gs:0xB8000],'9 8 '
    708 hlt
    709 
    710 global int_handler_99
    711 int_handler_99:
    712 mov ax, 0x10
    713 mov gs, ax
    714 mov dword [gs:0xB8000],'9 9 '
    715 hlt
    716