dal 2015 - visita n. 592
COPYBLK2
COPYBLK2

 

COPYBLK2.ASM

;::::::::: 8086 - ESERCIZI SVOLTI - RstSv/002 ::::::::::::::::::::::::::::::::
;:                                                                          ::
;: COPYBLK2.ASM - 12/02/2002                                                ::
;:                                                                          ::
;: Copia un blocco di Byte dall'indirizzo IndSorg all'indirizzo DestSorg.   ::
;: Sono dati: IndSorg = Indirizzo Iniziale Sorgente                         ::
;:            IndDest = Indirizzo Iniziale Destinazione                     ::
;:            EndByte = Valore dell'ultimo Byte                             ::
;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

                                      ; SEZIONE PROLOGO o INTESTAZIONE
CodeSeg   SEGMENT
          ASSUME  CS:CodeSeg, DS:CodeSeg
          ORG     100H

                                      ; SEZIONE DICHIARATIVE
IndSorg   EQU     2000h               ; Assegnazione Nomi delle Variabili
IndDest   EQU     3000h
EndByte   EQU       3Ah

                                      ; 1) FASE DI INIZIALIZZAZIONE
Start:    MOV     SI,IndSorg          ; SI Punta Primo Byte Area Sorgente
          MOV     DI,IndDest          ; DI Punta Primo Byte Area Destinazione
          MOV     AH,EndByte          ; AH Valore dell'ultimo Byte

                                      ; 2) FASE DI ESECUZIONE
Work:     MOV     AL,[SI]             ; Lettura Byte dalla Memoria in AL
          MOV     [DI],AL             ; Scrittura Byte da AL nella Memoria

                                      ; 3) FASE DI CONTROLLO
          CMP     AL,AH               ; Confronto tra AL e AH
          JE      Fine                ; AL=AH ?   SI: Salta al punto Fine
                                      ;           NO: Esegui la prossima istruzione
          INC     SI                  ; Punta al byte Sorgente Successivo
          INC     DI                  ; Punta al byte Destinazione Successivo
          JMP     Work                ; Salta al punto Work

                                      ; 4) FASE DI USCITA
Fine:     MOV     AH,4Ch              ; Predisponi il servizio DOS 4Ch
          INT     21h                 ; Esecuzione servizio DOS

                                      ; SEZIONE EPILOGO o CHIUSURA
CodeSeg   ENDS
          END     Start               ; Rinvio all'Istruzione di Start




Asm86
COPYBLK1
COPYBLK2
DISPMSG1
DISPMSG2
DISPMSG3
FILLBLK1
FILLBLK2
WAITKBD1
SOMDIF1
PASSWRD1
CLRSCR1
SCACCHI1
SCACCHI2
SCACCHI3
SCACCHI4
ALLCHAR1
ATTRIB1
CLRSCR2
TESTOCOM
ORDIN1
Funzioni Stringa
Tastiera DOS



Insegnare a un bambino non significa riempire un vaso, ma accendere un fuoco.
Michel de Montaigne

Valid CSS!
pagina generata in 0.001 secondi