Offipalsta.COM  

Palaa takaisin   Offipalsta.COM > Linkit muihin palveluihin > Elävä Arkisto > Programming > Symbolic machine code
Rekisteröidy Offiblogit Yhteisö Kalenteri Viestit tänään Haku

Symbolic machine code Symbolic machine code, ASM

 
 
Työkalut Etsi tästä viestiketjusta Näkymä
  #1  
Vanha 08.12.2002, 20:44
Lars
Guest
 
Viestit: n/a
Perusasetus

KUKKELI.ASM


Jotain hämyä nuoruudestani

.model small
.486
.stack 100h
assume cs:@code,ds:data

segment data
teksti1 db 13,10,'Data-segment verified allright!$'
teksti2 db 'Memory has been decontaminated!$'
patterni db 'pojat.raw',0
handle dw ?
data ends

.code
mov dx,seg data ; korjataan data segmentin offsetti
push dx
pop ds

mov ah,3dh
mov al,2
lea dx, patterni
int 21h
jc poistutaan
mov handle,ax

mov ah,9 ; tulostetaan viesti !
lea dx,teksti1
int 21h

mov ah,0 ; vgatilaan
mov al,13h
int 10h
mov ah,0 ; aloitusvari

mov ah,3fh
mov bx,handle
mov cx,64000
; lea dx,tanne
push ds
mov dx,0a000h
push dx
pop ds
mov dx,0
int 21h
pop ds

mov ah,3eh
mov bx,handle
int 21h

takaisinvaan:

mov cx,64000 ; laitetaan ruutu varilla
pixelitys:
mov bx,cx
push ds
mov dx,0a000h ; osoitetaan nayttomuisti ds:„„n
push dx
pop ds
; mov byte ptr[bx-1],ah ; laitetaan muistiin pixeliseta
xor byte ptr[bx-1], ah
pop ds
loop pixelitys ; looppaillaan ruudunvarjaysta
inc ah ; lisataan variin 1

in al,60h ; otetaan nappi jos = esc niin mennaan pois
cmp al,1
je poistutaan
cmp ah,255 ; poistutaan jos vari on 255
je poistutaan
jmp takaisinvaan

poistutaan:

mov ah,0 ; takas tekstiin
mov al,3h
int 10h

mov ah,9 ; asiapitoinen ilmoitus
lea dx,teksti2
int 21h

mov ah,4ch ; terminoidaan prosessi
mov al,0
int 21h

tanne db ?
end

; mov cx,64000
; cld
; mov si, offset tanne
; mov dx, 0a000h
; push dx
; pop es
; mov di,0
; rep movsb


--
Lars

 

Käyttäjiä lukemassa tätä viestiketjua: 1 (0 jäsentä and 1 vierasta)
 

Pikalinkit


Sivu luotu: 01:46 (GMT +2).