Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπερά σας !

Φτιάχνω ένα πρόγραμμα σε assembly 8086 και έχω το εξής πρόβλημα..

 

θέλω να εμφανίσω και γραφικά και κείμενο στο ίδιο παράθυρο αλλά δεν τα καταφέρνω.

 

Περιμένω την απάντησή σας !

Δημοσ.
  Στις 30/8/2015 στις 4:23 ΜΜ, NikosKallithea είπε

Απέκτησε η assembly γραφικά, φαίνεται εχω μείνει πολυ πισω :huh:

setgraphicsmode PROC               ;c1
    PUSH AX
    MOV AL,13H
    INT 10H
    POP AX 
    RET
ENDP

Ναι απέκτησε (πιξελ-πιξελ) μπαίνω σε graphics mode ετσι απλά μετά δεν μπορώ να επανέλθω σε text mode !

Δημοσ.

α για (πιξελ-πιξελ) ξερω, υπέθεσα κατι σαν τον αντικειμενοστραφή, οποτε δεν βλεπω κάποιο νόημα να πιαστείς με το γραφικό στην assembly

 

ΥΓ

εχω να ασχοληθώ χρονια με την assembly

Δημοσ.
  Στις 30/8/2015 στις 4:37 ΜΜ, NikosKallithea είπε

α για (πιξελ-πιξελ) ξερω, υπέθεσα κατι σαν τον αντικειμενοστραφή, οποτε δεν βλεπω κάποιο νόημα να πιαστείς με το γραφικό στην assembly

 

ΥΓ

εχω να ασχοληθώ χρονια με την ass

ειναι για προτζεκτ της σχολης μια τρίλιζα !

 

θέλω να εμφανίζω το γκριντ , τα χ και ο με γραφικα τα έχω κάνει όλα τα γραφικα έχω κάνει τον κώδικα της τριλιζας απλά δεν μπορω να τα ενοποιήσω !

Δημοσ.
  Στις 30/8/2015 στις 4:39 ΜΜ, lex32 είπε

ειναι για προτζεκτ της σχολης μια τρίλιζα !

 

θέλω να εμφανίζω το γκριντ , τα χ και ο με γραφικα τα έχω κάνει όλα τα γραφικα έχω κάνει τον κώδικα της τριλιζας απλά δεν μπορω να τα ενοποιήσω !

Χωρις να ειμαι σίγουρος απο οτι θυμάμαι πρεπει να σαρώνεις συνεχώς την οθονη για να μπορέσει να εμφανίσεις αυτο που θελεις, ο φιλος @lex32  μαλλον τα ξερει καλύτερα

Δημοσ.

AFAIK από τη στιγμή που μπαίνεις σε κάποιο graphics mode δεν έχει κείμενα έτσι απλά, πρέπει να έχεις δικό σου κώδικα που παίρνει το κείμενο που θες και το ζωγραφίζει σαν pixels.

Δημοσ.

Εγγραφη string σε graphics mode:

 

ah=13h

ES:BP= θεση μνημης του string σου
CX= μηκος string

(DH, DL)= σειρα, στηλη
BH= αριθμος σελιδας μνημης
AL=1
int 10h
 

Και εισαι ετοιμος

Δημοσ.
  Στις 30/8/2015 στις 10:58 ΜΜ, dios231 είπε

Εγγραφη string σε graphics mode:

 

ah=13h

ES:BP= θεση μνημης του string σου

CX= μηκος string

(DH, DL)= σειρα, στηλη

BH= αριθμος σελιδας μνημης

AL=1

int 10h

 

Και εισαι ετοιμος

 
LEA DX,msg
MOV ah,13h
MOV ES:[bP],DX 
MOV CX,plhthos xarakthrwn
MOV DH,10
MOV DL,100
MOV BH,1
MOV AL,1
int 10h

αυτό ειναι σωστό ;

Δημοσ.

Κοιτα εχω να ασχοληθω καιρο με assembly οποτε θα σου πω οτι θυμαμαι...

ας πουμε οτι εχεις την var msg με το string "hello world"
η μεταβλητη msg στην ουσια ειναι ενας πινακας οπου στην δευτερη  θεση εχει το μηκος του string σου, και απο την τριτη θεση και μετα αρχιζει το string σου γραμμα γραμμα. Οποτε πρεπει ο ES να δειχνει στην αρχη του msg (δηλαδη στην θεση 0) και ο bp στην θεση msg[2] (δηλαδη το πρωτο γραμμα του string σου, στην περιπτωση μας το "h")

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...