home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power-Programmierung
/
CD1.mdf
/
assemblr
/
library
/
sampler0
/
35.asm
< prev
next >
Wrap
Assembly Source File
|
1987-05-07
|
2KB
|
64 lines
.radix 16
;
cseg segment
assume cs:cseg, ds:cseg
;
video equ 10 ; bios video interrupt
exit equ 20 ; return to ccp routine
getmode equ 0f
setmode equ 0
cgual equ 1110 ; char gen routine, user alpha load
inforeq equ 1130 ; char gen routine, get info
;
org 100
;
; get pointer to rom character set (rom double dot set)
;
line35: mov bh, 03 ; get pointer to char set (double dot)
mov ax, inforeq
int video ; returns es:bp as pointer
;
; set up to copy to here
;
mov ax, es
mov ds, ax ; set ds to char seg segment
mov ax, cs
mov es, ax ; set es to this segment
mov si, bp ; move from char set ...
mov di, offset temp ; to the end of the code
cld
xor ax, ax
mov bx, 0100 ; number of characters
; now move the character set
letterloop: mov cx, 0004 ; 4 words (8 bytes) /char
rep movsw
stosw ; and zero last word
dec bx
jnz letterloop ; do next character
;
; get the current mode
mov ah, getmode
int video
;
; above returns mode in al, below uses it there
;
; set the current mode
mov ah, setmode
int video
;
; tell bios to upload what we just downloaded
;
; (do this only after setting mode )
mov bp, offset temp ; es still points at us, es:bp is temp
xor dx, dx ; offset into table is zero
mov cx, 0100 ; now load
mov bx, 0a00
mov ax, cgual
int video
int exit
;
temp db 0 ; temp storage for char set
;
cseg ends
end line35