![]() |
|
|||
File indexing completed on 2025-05-11 08:23:41
0001 /* 0002 * videoAsm.S - This file contains code for displaying cursor on the console 0003 * 0004 * Copyright (C) 1998 valette@crf.canon.fr 0005 * 0006 * This code is free software; you can redistribute it and/or 0007 * modify it under the terms of the GNU Library General Public 0008 * License as published by the Free Software Foundation; either 0009 * version 2 of the License, or (at your option) any later version. 0010 * 0011 * This code is distributed in the hope that it will be useful, 0012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 0013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 0014 * Library General Public License for more details. 0015 * 0016 * You should have received a copy of the GNU Library General Public 0017 * License along with this library; if not, write to the Free Software 0018 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 0019 */ 0020 0021 .file "videoAsm.s" 0022 0023 #include <crt.h> 0024 0025 .text 0026 .align 4 0027 .globl wr_cursor /* Move cursor position */ 0028 0029 /* 0030 * void wr_cursor(newPosition, ioBaseAddr) 0031 */ 0032 0033 wr_cursor: pushl %ecx 0034 movl 8(%esp), %ecx /* Get new cursor position */ 0035 movb $CC_CURSHIGH, %al /* Cursor high location */ 0036 movl 12(%esp), %edx /* Get IO base address */ 0037 outb (%dx) 0038 incw %dx /* Program Data register */ 0039 movb %ch, %al 0040 outb (%dx) /* Update high location cursor */ 0041 decw %dx /* Program Index Register */ 0042 movb $CC_CURSLOW, %al /* Cursor low location */ 0043 outb (%dx) 0044 incw %dx /* Program Data Register */ 0045 movb %cl, %al 0046 outb (%dx) /* Update low location cursor */ 0047 popl %ecx 0048 ret
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |