diff options
author | hpa <hpa> | 2004-07-26 23:52:33 +0000 |
---|---|---|
committer | hpa <hpa> | 2004-07-26 23:52:33 +0000 |
commit | 21a0ded2844b4b2a48ac9eda8be86e6287da59d7 (patch) | |
tree | 06c71f76b7fa27553bf78a84d6494eab21e5387c /isolinux.asm | |
parent | 9d4d7707c11162a2f827bf72efed2c8824b8317b (diff) | |
download | syslinux-21a0ded2844b4b2a48ac9eda8be86e6287da59d7.tar.gz |
Move raw console access and strcpy() into their own include files
Diffstat (limited to 'isolinux.asm')
-rw-r--r-- | isolinux.asm | 77 |
1 files changed, 2 insertions, 75 deletions
diff --git a/isolinux.asm b/isolinux.asm index d1d250b2..0e7d75f3 100644 --- a/isolinux.asm +++ b/isolinux.asm @@ -1433,81 +1433,6 @@ iso_compare_names: .success: ret ; -; strcpy: Copy DS:SI -> ES:DI up to and including a null byte -; -strcpy: push ax -.loop: lodsb - stosb - and al,al - jnz .loop - pop ax - ret - -; -; writechr: Write a single character in AL to the console without -; mangling any registers. This does raw console writes, -; since some PXE BIOSes seem to interfere regular console I/O. -; -writechr_full: - push ds - push cs - pop ds - call write_serial ; write to serial port if needed - pushfd - pushad - mov bh,[BIOS_page] - push ax - mov ah,03h ; Read cursor position - int 10h - pop ax - cmp al,8 - je .bs - cmp al,13 - je .cr - cmp al,10 - je .lf - push dx - mov bh,[BIOS_page] - mov bl,07h ; White on black - mov cx,1 ; One only - mov ah,09h ; Write char and attribute - int 10h - pop dx - inc dl - cmp dl,[VidCols] - jna .curxyok - xor dl,dl -.lf: inc dh - cmp dh,[VidRows] - ja .scroll -.curxyok: mov bh,[BIOS_page] - mov ah,02h ; Set cursor position - int 10h -.ret: popad - popfd - pop ds - ret -.scroll: dec dh - mov bh,[BIOS_page] - mov ah,02h - int 10h - mov ax,0601h ; Scroll up one line - mov bh,[ScrollAttribute] - xor cx,cx - mov dx,[ScreenSize] ; The whole screen - int 10h - jmp short .ret -.cr: xor dl,dl - jmp short .curxyok -.bs: sub dl,1 - jnc .curxyok - mov dl,[VidCols] - sub dh,1 - jnc .curxyok - xor dh,dh - jmp short .curxyok - -; ; mangle_name: Mangle a filename pointed to by DS:SI into a buffer pointed ; to by ES:DI; ends on encountering any whitespace. ; @@ -1630,6 +1555,8 @@ getfssec: %include "font.inc" ; VGA font stuff %include "graphics.inc" ; VGA graphics %include "highmem.inc" ; High memory sizing +%include "strcpy.inc" ; strcpy() +%include "rawcon.inc" ; Console I/O w/o using the console functions ; ----------------------------------------------------------------------------- ; Begin data section |