by Falcon on Tue Oct 03, 2006 10:36 pm
- Code: Select all
TITLE 8086 Code Template (for EXE file)
; AUTHOR FightingFalcon
; DATE 26/9/2006
; VERSION 1.00
; FILE Trasposizione.ASM
; 8086 Code Template
; Directive to make EXE output:
#MAKE_EXE#
DSEG SEGMENT 'DATA'
; TODO: add your data here!!!!
V DB 1,2,3,4,5,6,7,8,9,10
VT DB ?
Lunghezza DW 10
DSEG ENDS
SSEG SEGMENT STACK 'STACK'
DW 100h DUP(?)
SSEG ENDS
CSEG SEGMENT 'CODE'
;*******************************************
START PROC FAR
; Store return address to OS:
PUSH DS
MOV AX, 0
PUSH AX
; set segment registers:
MOV AX, DSEG
MOV DS, AX
MOV ES, AX
; TODO: add your code here!!!!
LEA SI,V ;Carica l'indirizzo effettivo del primo vettore
LEA DI,VT ;Carica l'indirizzo effettivo del secondo vettore
SUB CX,CX
MOV CX,Lunghezza
SUB DX,DX
MOV AX,[SI]
MOV BX,[DI]
DEC CX
INC DX
InizioCiclo:
ADD SI,1
MOV BX,[SI]
CMP DX,10
JE Fine
LOOP InizioCiclo
Fine:
; return to operating system:
RET
START ENDP
;*******************************************
CSEG ENDS
END START ; set entry point.
Linux Slackware User