33 lines
514 B
Python
33 lines
514 B
Python
#!/usr/bin/env python2
|
|
# -*- coding: utf-8 -*-
|
|
|
|
num_isr = 256
|
|
pushes_error = [8, 10, 11, 12, 13, 14, 17]
|
|
|
|
print '''
|
|
.intel_syntax noprefix
|
|
.extern isr_common
|
|
'''
|
|
|
|
|
|
print '// Interrupt Service Routines'
|
|
for i in range(num_isr):
|
|
print '''isr{0}:
|
|
cli
|
|
{1}
|
|
push {0}
|
|
jmp isr_common
|
|
'''.format(i,
|
|
'push 0' if i not in pushes_error else 'nop')
|
|
|
|
print ''
|
|
print '''
|
|
// Vector table
|
|
|
|
.section .data
|
|
.global isr_table
|
|
isr_table:'''
|
|
|
|
for i in range(num_isr):
|
|
print ' .quad isr{}'.format(i)
|