Array in ASM

Quello più vicino al linguaggio macchina vero e proprio.

Array in ASM

Postby Thief on Fri Oct 20, 2006 5:21 pm

Ecco un programma in ASM ke utilizza gli Array:
Code: Select all
; Autore: Thief
; 1 - Carica un Vettore
; 2 - Visualizza il Contenuto del Vettore
; 3 - Inserire un'Elemento di Ricerca
; 4 - Comparare l'Elemento Inserito al Vettore

.MODEL small
.STACK 100h

.DATA
   LU EQU 5h
   titolo DB "Programma con Array in ASM",'$'
   carica_vet DB 0AH,0DH,0AH,0DH, "Inserire gli Elementi del Vettore: ",'$'
   visualizza_vet DB 0AH,0DH, "Gli Elementi Inseriti sono: ",'$'
   elemento DB 0AH,0DH,0AH,0DH, "Inserisci l'Elemento di Confronto: ",'$'
        vis_elemento DB 0AH,0DH, "L'elemento Inserito e': ",'$'
   dat_trovato DB 0AH,0DH, "Dato Trovato: ",'$'
   dato_nontrovato DB 0AH,0DH, "Dato NON Trovato: ",'$'
   spazio DB " - ",'$'
   autore DB 0AH,0DH,0AH,0DH, "Autore: Thief ©",'$'
   VET DB 10 DUP(0)

.CODE
INIZIO:
      MOV AX,@DATA
      MOV DS,AX
      MOV CL,LU

;Titolo
      MOV DX,OFFSET titolo
      MOV AH,9
      INT 21H

      MOV DX,OFFSET carica_vet
      MOV AH,9
      INT 21H
      LEA BX,VET

INSERIMENTO:    MOV AH,1
      INT 21H
      MOV [BX],AL

      MOV DX,OFFSET spazio
      MOV AH,9
      INT 21H

      INC BX
      DEC CL
      JNZ INSERIMENTO

      MOV DX,OFFSET visualizza_vet
      MOV AH,9
      INT 21H

      LEA BX,VET
      MOV CL,LU
vISUALIZZA:   MOV DL,[BX]
      MOV AH,2
      INT 21H
      INC BX
      DEC CL

      MOV DX,OFFSET spazio
      MOV AH,9
      INT 21H

      JNZ VISUALIZZA

; Elemento di Confronto

      MOV DX,OFFSET elemento
      MOV AH,9
      INT 21H

      MOV AH,1
      INT 21H
      
      LEA BX,VET
      MOV CL,LU

RICERCA:   CMP AL,[BX]
      JZ DAT_TROVATO1
      INC BX
      DEC CL
      JNZ RICERCA
      MOV DX,OFFSET dato_nontrovato
      MOV AH,9
      INT 21H
      JMP FINE

DAT_TROVATO1:   MOV DX,OFFSET dat_trovato
      MOV AH,9
      INT 21H
      MOV DL,[BX]
      MOV AH,2
      INT 21H

;Autore
      MOV DX,OFFSET autore
      MOV AH,9
      int 21H

      JMP FINE

FINE:      MOV AH,4CH
      INT 21H

END INIZIO
Non sempre il passare del tempo ti fornisce l?esperienza. Molte volte, se non t?inventi l?esperienza, non riesci a far passare il tempo.

--> http://worldlink.altervista.org/
User avatar
Thief
Algoritmo
 
Posts: 147
Joined: Thu Jul 06, 2006 10:36 am
Location: On the Net..

Array in ASM

Sponsor

Sponsor


Postby necrosis on Fri Dec 01, 2006 8:00 pm

io la struttura dell' asm proprio nn la capisco :shock: :shock:
necrosis
Ciclo
 
Posts: 510
Joined: Fri Jul 14, 2006 9:05 am

Postby Thief on Fri Dec 01, 2006 9:12 pm

necrosis wrote:io la struttura dell' asm proprio nn la capisco :shock: :shock:

Non è proprio il linguaggio più semplice da capire... :lol: :D
Non sempre il passare del tempo ti fornisce l?esperienza. Molte volte, se non t?inventi l?esperienza, non riesci a far passare il tempo.

--> http://worldlink.altervista.org/
User avatar
Thief
Algoritmo
 
Posts: 147
Joined: Thu Jul 06, 2006 10:36 am
Location: On the Net..

Postby necrosis on Fri Dec 01, 2006 10:14 pm

già
necrosis
Ciclo
 
Posts: 510
Joined: Fri Jul 14, 2006 9:05 am

Postby Falcon on Fri Dec 01, 2006 10:24 pm

Ottimo lavoro thief!! ;)
Linux Slackware User
User avatar
Falcon
Java Programmer
 
Posts: 542
Joined: Sat Jul 08, 2006 8:38 am

Postby Thief on Sat Dec 09, 2006 4:02 pm

F1ght1ngF4lc0n wrote:Ottimo lavoro thief!! ;)

Grazie! ..anke se questo programma non è un gran ke.. ..ora ho cominciato a fare programmi ke si interfacciano con la porta parallela o quella seriale e gestiscono delle schede. :D
Non sempre il passare del tempo ti fornisce l?esperienza. Molte volte, se non t?inventi l?esperienza, non riesci a far passare il tempo.

--> http://worldlink.altervista.org/
User avatar
Thief
Algoritmo
 
Posts: 147
Joined: Thu Jul 06, 2006 10:36 am
Location: On the Net..

Postby k8 on Mon Mar 26, 2007 2:57 pm

Thief wrote:
F1ght1ngF4lc0n wrote:Ottimo lavoro thief!! ;)

Grazie! ..anke se questo programma non è un gran ke.. ..ora ho cominciato a fare programmi ke si interfacciano con la porta parallela o quella seriale e gestiscono delle schede. :D

wow.. magari posta qualcosa che si interfaccia con la parallela :) è interessante
User avatar
k8
Admin
 
Posts: 2115
Joined: Tue Jun 06, 2006 4:00 pm

Postby ganjolinux on Tue Sep 25, 2007 6:34 am

L'asm sarà difficile quanto vuoi......ma scordati di scrivere sui registri della scheda video con il c++ o visual basic ........l'asm programma direttamente a processore :D
Archlinux user
Debian User
ganjolinux
Newbies
 
Posts: 10
Joined: Mon Sep 24, 2007 12:35 pm

Postby Falcon on Tue Sep 25, 2007 10:06 am

L'asm è il miglior linguaggio che esiste..è difficile a primo impatto ma,ti permette di far fare qualsiasi cosa al pc...e ti permette di capire e conoscere l'architettura della macchina sulla quale stai lavorando quindi...è davvero potente!
Linux Slackware User
User avatar
Falcon
Java Programmer
 
Posts: 542
Joined: Sat Jul 08, 2006 8:38 am

Postby Bit on Mon Nov 26, 2007 11:49 pm

ogni linguaggio ha la sua utilità..
Bit
C Programmer
 
Posts: 462
Joined: Wed Jun 14, 2006 4:28 pm

Postby checkm on Tue Nov 27, 2007 8:30 am

k8 wrote:wow.. magari posta qualcosa che si interfaccia con la parallela :) è interessante


Si può fare anche con linguaggi più ad alto livello, anche con Python usando PyParallel o PySerial. :)
Gnurilla developer @ http://gnurilla.googlecode.com/
User avatar
checkm
Help Programmer
 
Posts: 69
Joined: Fri Sep 07, 2007 2:52 pm

Postby k8 on Tue Nov 27, 2007 3:49 pm

checkm wrote:
k8 wrote:wow.. magari posta qualcosa che si interfaccia con la parallela :) è interessante


Si può fare anche con linguaggi più ad alto livello, anche con Python usando PyParallel o PySerial. :)

bhè sì, cmq poi ho fatto un programmino in C :)
User avatar
k8
Admin
 
Posts: 2115
Joined: Tue Jun 06, 2006 4:00 pm


Return to ASM

Who is online

Users browsing this forum: No registered users and 1 guest

cron