-
Notifications
You must be signed in to change notification settings - Fork 26
/
Copy pathasm_interrupts.s
1598 lines (1332 loc) · 32.3 KB
/
asm_interrupts.s
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
extern interrupt_handler ; the C interrupt handler
global interrupt_handler_0
interrupt_handler_0:
push dword 0
push dword 0
jmp common_interrupt_handler
global interrupt_handler_1
interrupt_handler_1:
push dword 0
push dword 1
jmp common_interrupt_handler
global interrupt_handler_2
interrupt_handler_2:
push dword 0
push dword 2
jmp common_interrupt_handler
global interrupt_handler_3
interrupt_handler_3:
push dword 0
push dword 3
jmp common_interrupt_handler
global interrupt_handler_4
interrupt_handler_4:
push dword 0
push dword 4
jmp common_interrupt_handler
global interrupt_handler_5
interrupt_handler_5:
push dword 0
push dword 5
jmp common_interrupt_handler
global interrupt_handler_6
interrupt_handler_6:
push dword 0
push dword 6
jmp common_interrupt_handler
global interrupt_handler_7
interrupt_handler_7:
push dword 0
push dword 7
jmp common_interrupt_handler
global interrupt_handler_8
interrupt_handler_8:
push dword 0
push dword 8
jmp common_interrupt_handler
global interrupt_handler_9
interrupt_handler_9:
push dword 0
push dword 9
jmp common_interrupt_handler
global interrupt_handler_10
interrupt_handler_10:
push dword 0
push dword 10
jmp common_interrupt_handler
global interrupt_handler_11
interrupt_handler_11:
push dword 0
push dword 11
jmp common_interrupt_handler
global interrupt_handler_12
interrupt_handler_12:
push dword 0
push dword 12
jmp common_interrupt_handler
global interrupt_handler_13
interrupt_handler_13:
push dword 0
push dword 13
jmp common_interrupt_handler
global interrupt_handler_14
interrupt_handler_14:
; don't push an error code, the cpu will do that
push dword 14
jmp common_interrupt_handler
global interrupt_handler_15
interrupt_handler_15:
push dword 0
push dword 15
jmp common_interrupt_handler
global interrupt_handler_16
interrupt_handler_16:
push dword 0
push dword 16
jmp common_interrupt_handler
global interrupt_handler_17
interrupt_handler_17:
push dword 0
push dword 17
jmp common_interrupt_handler
global interrupt_handler_18
interrupt_handler_18:
push dword 0
push dword 18
jmp common_interrupt_handler
global interrupt_handler_19
interrupt_handler_19:
push dword 0
push dword 19
jmp common_interrupt_handler
global interrupt_handler_20
interrupt_handler_20:
push dword 0
push dword 20
jmp common_interrupt_handler
global interrupt_handler_21
interrupt_handler_21:
push dword 0
push dword 21
jmp common_interrupt_handler
global interrupt_handler_22
interrupt_handler_22:
push dword 0
push dword 22
jmp common_interrupt_handler
global interrupt_handler_23
interrupt_handler_23:
push dword 0
push dword 23
jmp common_interrupt_handler
global interrupt_handler_24
interrupt_handler_24:
push dword 0
push dword 24
jmp common_interrupt_handler
global interrupt_handler_25
interrupt_handler_25:
push dword 0
push dword 25
jmp common_interrupt_handler
global interrupt_handler_26
interrupt_handler_26:
push dword 0
push dword 26
jmp common_interrupt_handler
global interrupt_handler_27
interrupt_handler_27:
push dword 0
push dword 27
jmp common_interrupt_handler
global interrupt_handler_28
interrupt_handler_28:
push dword 0
push dword 28
jmp common_interrupt_handler
global interrupt_handler_29
interrupt_handler_29:
push dword 0
push dword 29
jmp common_interrupt_handler
global interrupt_handler_30
interrupt_handler_30:
push dword 0
push dword 30
jmp common_interrupt_handler
global interrupt_handler_31
interrupt_handler_31:
push dword 0
push dword 31
jmp common_interrupt_handler
global interrupt_handler_32
interrupt_handler_32:
push dword 0
push dword 32
jmp common_interrupt_handler
global interrupt_handler_33
interrupt_handler_33:
push dword 0
push dword 33
jmp common_interrupt_handler
global interrupt_handler_34
interrupt_handler_34:
push dword 0
push dword 34
jmp common_interrupt_handler
global interrupt_handler_35
interrupt_handler_35:
push dword 0
push dword 35
jmp common_interrupt_handler
global interrupt_handler_36
interrupt_handler_36:
push dword 0
push dword 36
jmp common_interrupt_handler
global interrupt_handler_37
interrupt_handler_37:
push dword 0
push dword 37
jmp common_interrupt_handler
global interrupt_handler_38
interrupt_handler_38:
push dword 0
push dword 38
jmp common_interrupt_handler
global interrupt_handler_39
interrupt_handler_39:
push dword 0
push dword 39
jmp common_interrupt_handler
global interrupt_handler_40
interrupt_handler_40:
push dword 0
push dword 40
jmp common_interrupt_handler
global interrupt_handler_41
interrupt_handler_41:
push dword 0
push dword 41
jmp common_interrupt_handler
global interrupt_handler_42
interrupt_handler_42:
push dword 0
push dword 42
jmp common_interrupt_handler
global interrupt_handler_43
interrupt_handler_43:
push dword 0
push dword 43
jmp common_interrupt_handler
global interrupt_handler_44
interrupt_handler_44:
push dword 0
push dword 44
jmp common_interrupt_handler
global interrupt_handler_45
interrupt_handler_45:
push dword 0
push dword 45
jmp common_interrupt_handler
global interrupt_handler_46
interrupt_handler_46:
push dword 0
push dword 46
jmp common_interrupt_handler
global interrupt_handler_47
interrupt_handler_47:
push dword 0
push dword 47
jmp common_interrupt_handler
global interrupt_handler_48
interrupt_handler_48:
push dword 0
push dword 48
jmp common_interrupt_handler
global interrupt_handler_49
interrupt_handler_49:
push dword 0
push dword 49
jmp common_interrupt_handler
global interrupt_handler_50
interrupt_handler_50:
push dword 0
push dword 50
jmp common_interrupt_handler
global interrupt_handler_51
interrupt_handler_51:
push dword 0
push dword 51
jmp common_interrupt_handler
global interrupt_handler_52
interrupt_handler_52:
push dword 0
push dword 52
jmp common_interrupt_handler
global interrupt_handler_53
interrupt_handler_53:
push dword 0
push dword 53
jmp common_interrupt_handler
global interrupt_handler_54
interrupt_handler_54:
push dword 0
push dword 54
jmp common_interrupt_handler
global interrupt_handler_55
interrupt_handler_55:
push dword 0
push dword 55
jmp common_interrupt_handler
global interrupt_handler_56
interrupt_handler_56:
push dword 0
push dword 56
jmp common_interrupt_handler
global interrupt_handler_57
interrupt_handler_57:
push dword 0
push dword 57
jmp common_interrupt_handler
global interrupt_handler_58
interrupt_handler_58:
push dword 0
push dword 58
jmp common_interrupt_handler
global interrupt_handler_59
interrupt_handler_59:
push dword 0
push dword 59
jmp common_interrupt_handler
global interrupt_handler_60
interrupt_handler_60:
push dword 0
push dword 60
jmp common_interrupt_handler
global interrupt_handler_61
interrupt_handler_61:
push dword 0
push dword 61
jmp common_interrupt_handler
global interrupt_handler_62
interrupt_handler_62:
push dword 0
push dword 62
jmp common_interrupt_handler
global interrupt_handler_63
interrupt_handler_63:
push dword 0
push dword 63
jmp common_interrupt_handler
global interrupt_handler_64
interrupt_handler_64:
push dword 0
push dword 64
jmp common_interrupt_handler
global interrupt_handler_65
interrupt_handler_65:
push dword 0
push dword 65
jmp common_interrupt_handler
global interrupt_handler_66
interrupt_handler_66:
push dword 0
push dword 66
jmp common_interrupt_handler
global interrupt_handler_67
interrupt_handler_67:
push dword 0
push dword 67
jmp common_interrupt_handler
global interrupt_handler_68
interrupt_handler_68:
push dword 0
push dword 68
jmp common_interrupt_handler
global interrupt_handler_69
interrupt_handler_69:
push dword 0
push dword 69
jmp common_interrupt_handler
global interrupt_handler_70
interrupt_handler_70:
push dword 0
push dword 70
jmp common_interrupt_handler
global interrupt_handler_71
interrupt_handler_71:
push dword 0
push dword 71
jmp common_interrupt_handler
global interrupt_handler_72
interrupt_handler_72:
push dword 0
push dword 72
jmp common_interrupt_handler
global interrupt_handler_73
interrupt_handler_73:
push dword 0
push dword 73
jmp common_interrupt_handler
global interrupt_handler_74
interrupt_handler_74:
push dword 0
push dword 74
jmp common_interrupt_handler
global interrupt_handler_75
interrupt_handler_75:
push dword 0
push dword 75
jmp common_interrupt_handler
global interrupt_handler_76
interrupt_handler_76:
push dword 0
push dword 76
jmp common_interrupt_handler
global interrupt_handler_77
interrupt_handler_77:
push dword 0
push dword 77
jmp common_interrupt_handler
global interrupt_handler_78
interrupt_handler_78:
push dword 0
push dword 78
jmp common_interrupt_handler
global interrupt_handler_79
interrupt_handler_79:
push dword 0
push dword 79
jmp common_interrupt_handler
global interrupt_handler_80
interrupt_handler_80:
push dword 0
push dword 80
jmp common_interrupt_handler
global interrupt_handler_81
interrupt_handler_81:
push dword 0
push dword 81
jmp common_interrupt_handler
global interrupt_handler_82
interrupt_handler_82:
push dword 0
push dword 82
jmp common_interrupt_handler
global interrupt_handler_83
interrupt_handler_83:
push dword 0
push dword 83
jmp common_interrupt_handler
global interrupt_handler_84
interrupt_handler_84:
push dword 0
push dword 84
jmp common_interrupt_handler
global interrupt_handler_85
interrupt_handler_85:
push dword 0
push dword 85
jmp common_interrupt_handler
global interrupt_handler_86
interrupt_handler_86:
push dword 0
push dword 86
jmp common_interrupt_handler
global interrupt_handler_87
interrupt_handler_87:
push dword 0
push dword 87
jmp common_interrupt_handler
global interrupt_handler_88
interrupt_handler_88:
push dword 0
push dword 88
jmp common_interrupt_handler
global interrupt_handler_89
interrupt_handler_89:
push dword 0
push dword 89
jmp common_interrupt_handler
global interrupt_handler_90
interrupt_handler_90:
push dword 0
push dword 90
jmp common_interrupt_handler
global interrupt_handler_91
interrupt_handler_91:
push dword 0
push dword 91
jmp common_interrupt_handler
global interrupt_handler_92
interrupt_handler_92:
push dword 0
push dword 92
jmp common_interrupt_handler
global interrupt_handler_93
interrupt_handler_93:
push dword 0
push dword 93
jmp common_interrupt_handler
global interrupt_handler_94
interrupt_handler_94:
push dword 0
push dword 94
jmp common_interrupt_handler
global interrupt_handler_95
interrupt_handler_95:
push dword 0
push dword 95
jmp common_interrupt_handler
global interrupt_handler_96
interrupt_handler_96:
push dword 0
push dword 96
jmp common_interrupt_handler
global interrupt_handler_97
interrupt_handler_97:
push dword 0
push dword 97
jmp common_interrupt_handler
global interrupt_handler_98
interrupt_handler_98:
push dword 0
push dword 98
jmp common_interrupt_handler
global interrupt_handler_99
interrupt_handler_99:
push dword 0
push dword 99
jmp common_interrupt_handler
global interrupt_handler_100
interrupt_handler_100:
push dword 0
push dword 100
jmp common_interrupt_handler
global interrupt_handler_101
interrupt_handler_101:
push dword 0
push dword 101
jmp common_interrupt_handler
global interrupt_handler_102
interrupt_handler_102:
push dword 0
push dword 102
jmp common_interrupt_handler
global interrupt_handler_103
interrupt_handler_103:
push dword 0
push dword 103
jmp common_interrupt_handler
global interrupt_handler_104
interrupt_handler_104:
push dword 0
push dword 104
jmp common_interrupt_handler
global interrupt_handler_105
interrupt_handler_105:
push dword 0
push dword 105
jmp common_interrupt_handler
global interrupt_handler_106
interrupt_handler_106:
push dword 0
push dword 106
jmp common_interrupt_handler
global interrupt_handler_107
interrupt_handler_107:
push dword 0
push dword 107
jmp common_interrupt_handler
global interrupt_handler_108
interrupt_handler_108:
push dword 0
push dword 108
jmp common_interrupt_handler
global interrupt_handler_109
interrupt_handler_109:
push dword 0
push dword 109
jmp common_interrupt_handler
global interrupt_handler_110
interrupt_handler_110:
push dword 0
push dword 110
jmp common_interrupt_handler
global interrupt_handler_111
interrupt_handler_111:
push dword 0
push dword 111
jmp common_interrupt_handler
global interrupt_handler_112
interrupt_handler_112:
push dword 0
push dword 112
jmp common_interrupt_handler
global interrupt_handler_113
interrupt_handler_113:
push dword 0
push dword 113
jmp common_interrupt_handler
global interrupt_handler_114
interrupt_handler_114:
push dword 0
push dword 114
jmp common_interrupt_handler
global interrupt_handler_115
interrupt_handler_115:
push dword 0
push dword 115
jmp common_interrupt_handler
global interrupt_handler_116
interrupt_handler_116:
push dword 0
push dword 116
jmp common_interrupt_handler
global interrupt_handler_117
interrupt_handler_117:
push dword 0
push dword 117
jmp common_interrupt_handler
global interrupt_handler_118
interrupt_handler_118:
push dword 0
push dword 118
jmp common_interrupt_handler
global interrupt_handler_119
interrupt_handler_119:
push dword 0
push dword 119
jmp common_interrupt_handler
global interrupt_handler_120
interrupt_handler_120:
push dword 0
push dword 120
jmp common_interrupt_handler
global interrupt_handler_121
interrupt_handler_121:
push dword 0
push dword 121
jmp common_interrupt_handler
global interrupt_handler_122
interrupt_handler_122:
push dword 0
push dword 122
jmp common_interrupt_handler
global interrupt_handler_123
interrupt_handler_123:
push dword 0
push dword 123
jmp common_interrupt_handler
global interrupt_handler_124
interrupt_handler_124:
push dword 0
push dword 124
jmp common_interrupt_handler
global interrupt_handler_125
interrupt_handler_125:
push dword 0
push dword 125
jmp common_interrupt_handler
global interrupt_handler_126
interrupt_handler_126:
push dword 0
push dword 126
jmp common_interrupt_handler
global interrupt_handler_127
interrupt_handler_127:
push dword 0
push dword 127
jmp common_interrupt_handler
global interrupt_handler_128
interrupt_handler_128:
push dword 0
push dword 128
jmp interrupt_handler_with_return_value
global interrupt_handler_129
interrupt_handler_129:
push dword 0
push dword 129
jmp common_interrupt_handler
global interrupt_handler_130
interrupt_handler_130:
push dword 0
push dword 130
jmp common_interrupt_handler
global interrupt_handler_131
interrupt_handler_131:
push dword 0
push dword 131
jmp common_interrupt_handler
global interrupt_handler_132
interrupt_handler_132:
push dword 0
push dword 132
jmp common_interrupt_handler
global interrupt_handler_133
interrupt_handler_133:
push dword 0
push dword 133
jmp common_interrupt_handler
global interrupt_handler_134
interrupt_handler_134:
push dword 0
push dword 134
jmp common_interrupt_handler
global interrupt_handler_135
interrupt_handler_135:
push dword 0
push dword 135
jmp common_interrupt_handler
global interrupt_handler_136
interrupt_handler_136:
push dword 0
push dword 136
jmp common_interrupt_handler
global interrupt_handler_137
interrupt_handler_137:
push dword 0
push dword 137
jmp common_interrupt_handler
global interrupt_handler_138
interrupt_handler_138:
push dword 0
push dword 138
jmp common_interrupt_handler
global interrupt_handler_139
interrupt_handler_139:
push dword 0
push dword 139
jmp common_interrupt_handler
global interrupt_handler_140
interrupt_handler_140:
push dword 0
push dword 140
jmp common_interrupt_handler
global interrupt_handler_141
interrupt_handler_141:
push dword 0
push dword 141
jmp common_interrupt_handler
global interrupt_handler_142
interrupt_handler_142:
push dword 0
push dword 142
jmp common_interrupt_handler
global interrupt_handler_143
interrupt_handler_143:
push dword 0
push dword 143
jmp common_interrupt_handler
global interrupt_handler_144
interrupt_handler_144:
push dword 0
push dword 144
jmp common_interrupt_handler
global interrupt_handler_145
interrupt_handler_145:
push dword 0
push dword 145
jmp common_interrupt_handler
global interrupt_handler_146
interrupt_handler_146:
push dword 0
push dword 146
jmp common_interrupt_handler
global interrupt_handler_147
interrupt_handler_147:
push dword 0
push dword 147
jmp common_interrupt_handler
global interrupt_handler_148
interrupt_handler_148:
push dword 0
push dword 148
jmp common_interrupt_handler
global interrupt_handler_149
interrupt_handler_149:
push dword 0
push dword 149
jmp common_interrupt_handler
global interrupt_handler_150
interrupt_handler_150:
push dword 0
push dword 150
jmp common_interrupt_handler
global interrupt_handler_151
interrupt_handler_151:
push dword 0
push dword 151
jmp common_interrupt_handler
global interrupt_handler_152
interrupt_handler_152:
push dword 0
push dword 152
jmp common_interrupt_handler
global interrupt_handler_153
interrupt_handler_153:
push dword 0
push dword 153
jmp common_interrupt_handler
global interrupt_handler_154
interrupt_handler_154:
push dword 0
push dword 154
jmp common_interrupt_handler
global interrupt_handler_155
interrupt_handler_155:
push dword 0
push dword 155
jmp common_interrupt_handler
global interrupt_handler_156
interrupt_handler_156:
push dword 0
push dword 156
jmp common_interrupt_handler
global interrupt_handler_157
interrupt_handler_157:
push dword 0
push dword 157
jmp common_interrupt_handler
global interrupt_handler_158
interrupt_handler_158:
push dword 0
push dword 158
jmp common_interrupt_handler
global interrupt_handler_159
interrupt_handler_159:
push dword 0
push dword 159
jmp common_interrupt_handler
global interrupt_handler_160
interrupt_handler_160:
push dword 0
push dword 160
jmp common_interrupt_handler
global interrupt_handler_161
interrupt_handler_161:
push dword 0
push dword 161
jmp common_interrupt_handler
global interrupt_handler_162
interrupt_handler_162:
push dword 0
push dword 162
jmp common_interrupt_handler
global interrupt_handler_163
interrupt_handler_163:
push dword 0
push dword 163
jmp common_interrupt_handler
global interrupt_handler_164
interrupt_handler_164:
push dword 0
push dword 164
jmp common_interrupt_handler
global interrupt_handler_165
interrupt_handler_165:
push dword 0
push dword 165
jmp common_interrupt_handler
global interrupt_handler_166
interrupt_handler_166: