Πέμπτη 23 Οκτωβρίου 2008

Assembly 8086

Δε μπορώ να καταλάβω τη χρησιμότητα του να μας διδάσκουν Assembly 8086 στη σχολή. Λες και κανένας τώρα πια θα προγραμματίσει σε Assembly. Εδώ δε ξέρουμε καλά καλά αν η Java που μαθαίνουμε(?) θα μας είναι χρήσιμη όταν βγούμε, αλλά αυτό είναι άλλο θέμα.

Εντάξει το μάθημα είναι του δευτέρου εξαμήνου (άσχετα αν εγώ το πήρα στο έβδομο) αλλά και πάλι. Σίγουρα μόνο για "γεύση" μας το κάνουν, δε υπάρχει άλλη εξήγηση. Ναι ΟΚ, τρελή καινοτομία ο 8086 επεξεργαστής, έκανε πράγματα που κανονικά δεν θα έπρεπε (με την καλή έννοια) αλλά ρε γαμώτο τί με βάζεις να προγραμματίσω σε Assembly;

Μια απλή πρόσθεση να θέλεις να κάνεις και να εκτυπώσεις ένα μήνυμα μαζί με το αποτέλεσμα, γράφεις 20 σειρές κώδικα.

Δείτε εδώ:
TITLE ADDITION
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
ARXI:
MOV AX,DATA
MOV DS,AX
MOV AL,NUM1
ADD AL,NUM2
MOV BL,AL
LEA DX,MSG
MOV AH,9H
INT 21H
MOV DL,BL
ADD DL,30H
MOV AH,2
INT 21H
CODE ENDS
DATA SEGMENT
NUM1 DB 3
NUM2 DB 4
MSG DB 'APOTELESMA: ',13,10,'$'
DATA ENDS
END ARXI
Όλο αυτό για να εκτυπώσει: APOTELESMA και 7 στην από κάτω γραμμή.

Βέβαια στην αρχή είχα πρόβλημα με την Assembly 8086, καθυστέρησα να διαβάσω αλλά με λίγη προσπάθεια τα κατάφερα και γουστάρω να πώ την αλήθεια. Μπήκαμε τώρα σε loop, jump και compare κι έχει φάση.

Και πάλι όμως δεν καταλαβαίνω γιατί μας το διδάσκουν. Λες και θα πάει κανένας να γίνει cracker.

Δεν υπάρχουν σχόλια: