1/* ______ ___ ___ 2 * /\ _ \ /\_ \ /\_ \ 3 * \ \ \L\ \\//\ \ \//\ \ __ __ _ __ ___ 4 * \ \ __ \ \ \ \ \ \ \ /'__`\ /'_ `\/\`'__\/ __`\ 5 * \ \ \/\ \ \_\ \_ \_\ \_/\ __//\ \L\ \ \ \//\ \L\ \ 6 * \ \_\ \_\/\____\/\____\ \____\ \____ \ \_\\ \____/ 7 * \/_/\/_/\/____/\/____/\/____/\/___L\ \/_/ \/___/ 8 * /\____/ 9 * \_/__/ 10 * 11 * X-windows bank switching code. These routines will be called 12 * with a line number in %eax and a pointer to the bitmap in %edx. 13 * The bank switcher should select the appropriate bank for the 14 * line, and replace %eax with a pointer to the start of the line. 15 * 16 * By Michael Bukin. 17 * 18 * See readme.txt for copyright information. 19 */ 20 21 22#include "allegro/platform/alunixac.h" 23#include "../i386/asmdefs.inc" 24 25.text 26 27 28#ifndef ALLEGRO_NO_ASM 29 /* Use only with ASM calling convention. */ 30 31FUNC(_xwin_write_line_asm) 32 pushl %ecx 33 pushl %eax 34 pushl %edx 35 call GLOBL(_xwin_write_line) 36 popl %edx 37 popl %ecx /* preserve %eax */ 38 popl %ecx 39 ret 40 41 42FUNC(_xwin_unwrite_line_asm) 43 pushl %ecx 44 pushl %eax 45 pushl %edx 46 call GLOBL(_xwin_unwrite_line) 47 popl %edx 48 popl %eax 49 popl %ecx 50 ret 51 52#endif 53 54