1 # pcboot - bootable PC demo/game kernel
2 # Copyright (C) 2018 John Tsiombikas <nuclear@member.fsf.org>
4 # This program is free software: you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation, either version 3 of the License, or
7 # (at your option) any later version.
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY, without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
14 # You should have received a copy of the GNU General Public License
15 # along with this program. If not, see <https://www.gnu.org/licenses/>.
38 jmp *mspre_tab(,%edx,4)
40 mspre_tab: .long msmain, mspre1, mspre2, mspre3
56 jmp *mspost_tab(,%ecx,4)
58 mspost_tab: .long msdone, mspost1, mspost2, mspost3
69 # same as memset but copies 16bit values, and the count is the number
70 # of 16bit values to copy, not bytes.
89 jmp *ms16pre_tab(,%edx,4)
91 ms16pre_tab: .long ms16main, ms16pre1, ms16pre2, ms16pre3
94 # same as next one, but jump to ms16main instead of falling through
96 mov %ah, -1(%edi,%ecx,2)
104 # - write low byte at edi
105 # - write high byte at the end
106 # - rotate by 8 for the rest
109 mov %ah, -1(%edi,%ecx,2)
155 jmp *mcpost_tab(,%edx,4)
157 mcpost_tab: .long mcdone, mcpost1, mcpost2, mcpost3