home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The World of Computer Software
/
World_Of_Computer_Software-02-387-Vol-3of3.iso
/
p
/
pchdemo.zip
/
SOURCEFA.ZIP
/
320X240.ASM
< prev
next >
Wrap
Assembly Source File
|
1992-10-28
|
2KB
|
105 lines
code segment public
assume cs:code,ds:code,es:code,ss:stack
extrn digit:near,convert:near
push cs
pop ds
push cs
pop es
mov ax,10f0h
mov bl,2eh
int 10h ; Grafik einschalten (VGA 640 x 480)
s1:
mov dx,3cdh
mov al,0
out dx,al
push es
mov ax,es
add ax,1000h
mov es,ax
mov al,15 ; mittlere Kontrastwert
mov bl,32 ; ab dem 32.Pixel von links
mov bh,24 ; ab der 44.Zeile von oben
mov cx,320 ; 320 Pixel digitalisieren
mov dx,240 ; 240 Zeilen digitalisieren
mov di,0 ; Offsetadresse des Buffers
call digit ; und Digitalisieren
pop es
push ds
mov bx,0 ; Offsetadresse der VGA
mov ax,ds
add ax,1000h
mov ds,ax ; Segmentadresse des Buffers
mov cx,240 ; 200 Zeilen
s2:
push cx
mov si,0 ; Offsetadresse des Buffers
mov di,offset cs:buffer ; Offsetadresse des Zwischenspeichers
mov cx,320 ; 320 Pixel konvertieren
call convert
push es
push ds
push cs
pop ds
les di,vstart ; Adresse der VGA
add di,bx
mov si,offset buffer ; Offsetadresse des Zwischenspeichers
mov cx,20 ; 320 Pixel
s3:
push cx
mov cx,16
rep movsw
cmp di,0
jnz s4
call inc3cd
s4:
pop cx
loop s3
add di,640
jnc s5
call inc3cd
s5:
pop ds
pop es
mov ax,ds
add ax,20
mov ds,ax ; Segmentadresse um 40 erhöhen
add bx,1280 ; 320 Pixel überspringen
pop cx
loop s2
pop ds
mov ah,1
int 16h
jz s1 ; Wenn keine Taste gedrückt
mov ah,0
int 16h
mov ax,3
int 10h ; Auf Textmodus schalten
mov ah,4ch
int 21h ; Programm beenden
inc3cd:
mov dx,3cdh
in al,dx
add al,00010001b
out dx,al
ret
tab1 db 768 dup (?)
vstart dd 0a0000000h
buffer dw 768 dup (?)
code ends
stack segment para stack
dw 256 dup (?)
stack ends
end