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

Πρόβλημα με εμφάνιση αριθμόυ σε assembly


Romas19

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

Δημοσ.

Το πρόβλημα έχει ως εξής: να ζητείται ένας αριθμός x από 0-9 από το πληκτρολόγιο να υπολογίζεται η συνάρτηση x^2+x και να εμφανίζεται στην οθόνη. Εγώ δίνοντας τιμή x=6 μου εμφανίζει gb αντί 42 που έπρεπε κανονικά. Ευχαριστώ εκ των προτέρων και ζητώ συγνώμη για το μέγεθος του κώδικα, προσπάθησα να το κάνω όσο πιο μικρό γίνεται.

 

TITLE MYPROGRAM

DEDOMENA SEGMENT

 

x_number db 0

apotelesma db 0

dekada db 0

monada db 0

 

DEDOMENA ENDS

KODIKAS SEGMENT

ARXH: MOV AX,DEDOMENA

MOV DS,AX

 

MOV Ah,08h ;eisagwgi ari8mou apo pliktrologio

INT 21h

SUB Al,30h ;metatropi apo ascii se kanoniko ari8mo

MOV x_number,Al

MOV Dl,Al

MUL dl ;upologizei to x^2 kai to topo8etei sto Ax automata

MOV DL,AL ;metatrepei to AX apo 16bit se 8bit topo8etontas to sto Dl

ADD Dl,Al ;

MOV apotelesma,Dl ; metakinisi tou x^2+x sto apotelesma

MOV AL,apotelesma ;metatropi tou apotelesma apo 8 se 16bit kai ...

MOV AH,0 ;...topo8etisi sto AX

 

MOV CL,10 ;akeraia diairesi tou apotelesmatos pou vrisketai sto AX me to 10

DIV CL ;

ADD AL,30h ;metatropi se ascii

ADD AH,30h ;metatropi se ascii

 

MOV dekada,AL ;sto AL vrisketai to piliko, to metakinoume sti dekada

MOV monada,AH ;sto AH vrisketai to uopoloipo, to metakinoume sti monada

 

mov dl,dekada

add dl,30h

mov ah,02h

int 21h

 

mov dl,monada

add dl,30h

mov ah,02h

int 21h

 

MOV AH,4CH

INT 21H

KODIKAS ENDS

END ARXH

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...