Εργασία 8086

συζητήσεις για assembly

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
lousifer231
Δημοσιεύσεις: 77
Εγγραφή: 17 Απρ 2007 01:59
Τοποθεσία: kypros
Επικοινωνία:

Εργασία 8086

Δημοσίευση από lousifer231 » 28 Απρ 2010 07:08

Κώδικας: Επιλογή όλων


org 100h

     mov dx,0378h
     mov al ,01
     out dx,al
et0: mov cx,007h
et1: nop
     rol al,01
     out dx,al
     loop et1
     mov cx,007h
et2: nop
     ror al,01
     out dx,al
     loop et2
     jmp et0



Τελευταία επεξεργασία από το μέλος lousifer231 την 27 Οκτ 2010 11:18, έχει επεξεργασθεί 1 φορά συνολικά.

LightForce
WebDev Moderator
Δημοσιεύσεις: 3812
Εγγραφή: 13 Απρ 2003 23:49

Εργασία 8086

Δημοσίευση από LightForce » 28 Απρ 2010 19:21

Εδώ θα βρείς 2 μικρά παραδείγματα πολύ κοντά σε αυτό που ζητάς.

lousifer231
Δημοσιεύσεις: 77
Εγγραφή: 17 Απρ 2007 01:59
Τοποθεσία: kypros
Επικοινωνία:

Εργασία 8086

Δημοσίευση από lousifer231 » 11 Μάιος 2010 18:26

lighforce mporis na 3anadosis to link giati den doulevei

sorry gia ta greekenglish

LightForce
WebDev Moderator
Δημοσιεύσεις: 3812
Εγγραφή: 13 Απρ 2003 23:49

Εργασία 8086

Δημοσίευση από LightForce » 12 Μάιος 2010 13:59

Δεν μπορώ να το βρώ lousifer231, δυστυχώς δεν το κράτησα.
Δοκίμασα και στο webarchive αλλά ούτε εκεί.

lousifer231
Δημοσιεύσεις: 77
Εγγραφή: 17 Απρ 2007 01:59
Τοποθεσία: kypros
Επικοινωνία:

Εργασία 8086

Δημοσίευση από lousifer231 » 18 Μάιος 2010 00:56

den mpirazei tin evgala pano kato an kai kati paei la8os alla 8a to ftia3o efxaristo gia to xrono

lousifer231
Δημοσιεύσεις: 77
Εγγραφή: 17 Απρ 2007 01:59
Τοποθεσία: kypros
Επικοινωνία:

Εργασία 8086

Δημοσίευση από lousifer231 » 08 Ιουν 2010 23:57

να κατασκευαστεί πρόγραμμα που να μπορεί να επιλύσει εξίσωσης μιας μεταβλητής προτού βαθμού τις μορφής ( Αχ+B =0 ) . η συντελεστές τις εξίσωσης θα βρίσκονται σε μεταβλητές διευθθνσεισ και θα εισάγονται από το πληκτρολόγιο ενώ τα αποτελέσματα θα αποθηκεύονται στην μνήμη και θα εφανίζονται στην οθόνη..Να ελεχθούν οι περίπτωσις αόριστης και αδύνατης και να εφανίζεται στην οθόνη

Κώδικας: Επιλογή όλων


το μονο όπου θέλω είναι να μου εξήγηση κάποιος τον τρόπο θα γράψω μερικώς τον κώδικα να μου πείτε γνώμες και διόρθωσης 

( έκανα βλακεία και το καθυστέρησα δυστυχώς την παραδίδω την πέμτη ) εγώ nmz έχω καιρό 

lousifer231
Δημοσιεύσεις: 77
Εγγραφή: 17 Απρ 2007 01:59
Τοποθεσία: kypros
Επικοινωνία:

Εργασία 8086

Δημοσίευση από lousifer231 » 09 Ιουν 2010 01:26

Κώδικας: Επιλογή όλων

org 100h


        lea dx, msg         
        mov ah, 09h
        int 21h
       
        mov ah, 07h            
        int 21h                         
       
            
       
        mov ah, 07h             
        int 21h   
           

        mul bl                               
                       
        push ax                
       

        mov ah, 09h
        int 21h               
       
        pop ax msg2                 
       
        mov ah, al
        shr al, 4              
        cmp al, 10              
        sbb al, 69h             
        das                     
        int 29h                 
        mov al, ah
        cmp al, 10
        sbb al, 69h
        das 
        int 29h                     
               
        mov  ah, 4ch           
        int  21h
 
   

       msg db 'doste 2 arithmous:',10,13,'$'
       
       '
       msg2 db 'to apotelesma einai:',10,13,'$'
       '  
Εγώ προσπάθησα να εμφανίσω " δώσε πρώτον αριθμό να κανί έναν (cmp) μην είναι (0)
Μετά να εμφανιστεί το μήνυμα δώσε 2 αριθμό πάλι να κανί (camp) για (0)

Να γυνή μια πράξει και να βγάζει το αποτέλεσμα
Σε περίπτωση που είναι κάποιος είναι (0) να εμφανίζεται το μήνυμα δεν γίνετε

LightForce
WebDev Moderator
Δημοσιεύσεις: 3812
Εγγραφή: 13 Απρ 2003 23:49

Εργασία 8086

Δημοσίευση από LightForce » 09 Ιουν 2010 15:56

lousifer231 έγραψε:να κατασκευαστεί πρόγραμμα που να μπορεί να επιλύσει εξίσωσης μιας μεταβλητής προτού βαθμού τις μορφής ( Αχ+B =0 ) . η συντελεστές τις εξίσωσης θα βρίσκονται σε μεταβλητές διευθθνσεισ και θα εισάγονται από το πληκτρολόγιο ενώ τα αποτελέσματα θα αποθηκεύονται στην μνήμη και θα εφανίζονται στην οθόνη..Να ελεχθούν οι περίπτωσις αόριστης και αδύνατης και να εφανίζεται στην οθόνη
hi,

H λύση της άσκησης παρουσιάζεται αναλυτικά εδώ

Εάν επιτρέπεται να χρησιμοποιήσεις ρουτίνες βιβλιοθήκης όπως scan_num και print_num, σου δίνω ένα παράδειγμα χρήσης:

Κώδικας: Επιλογή όλων

        #make_BIN#
    
        include emu8086.inc
         
        DEFINE_SCAN_NUM
        DEFINE_PRINT_NUM
        DEFINE_PRINT_NUM_UNS  
               
               
        call scan_num         
        mov A, cx  
        
        printn
        
        mov ax, A
        call print_num      
        
        ret
        

        A dw ?   
tip: Ο seleo έχει λύσει την άσκηση.

lousifer231
Δημοσιεύσεις: 77
Εγγραφή: 17 Απρ 2007 01:59
Τοποθεσία: kypros
Επικοινωνία:

Εργασία 8086

Δημοσίευση από lousifer231 » 09 Ιουν 2010 16:44

den mas epitrepi na tin xrisimopisoume distixos :/

estila minima an apantisi kalos 8a to palepso se kanenan 2 ora giati prepi na anevo sti sxoli

LightForce
WebDev Moderator
Δημοσιεύσεις: 3812
Εγγραφή: 13 Απρ 2003 23:49

Εργασία 8086

Δημοσίευση από LightForce » 09 Ιουν 2010 17:38

Η άσκηση είναι ιδιαίτερα απλή, απ' ό,τι καταλαβαίνω δίνει έμφαση στην εισαγωγή των στοιχείων απο το πληκτρολόγιο και την εμφάνιση του αποτελέσματος, εφόσον η λύση υπάρχει στο διαδίκτυο.

Δες τo πάνω παράδειγμα, η scan_num επιστρέφει έναν αριθμό στον CX και η print_num τυπώνει τον αριθμό που βρίσκεται στον AX.
Δεν θέλει κάτι άλλο*, την διαίρεση και τα conditional jumps τα βλέπεις στην αναρτημένη λύση.
Πάλεψε το. Καλή επιτυχία.

*Με την προυπόθεση ότι μπορείς να χρησιμοποιήσεις τις ρουτίνες βιβλιοθήκης.

seleo
Δημοσιεύσεις: 72
Εγγραφή: 10 Σεπ 2005 01:05
Επικοινωνία:

Εργασία 8086

Δημοσίευση από seleo » 09 Ιουν 2010 20:50

Όπως είπε και ο LightForce η άσκηση όντως είναι απλή, αρκεί να ξέρεις κάποια βασικά πραγματάκια εννοείται.
Να φανταστείς ότι την έκανα και γω που δεν είχα ιδέα πριν λίγο καιρό πως λειτουργεί η assembly και έκατσα και την έβγαλα.

Απάντηση

Επιστροφή στο “Assembly”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες