Visualizzazione dei risultati da 1 a 9 su 9

Visualizzazione discussione

  1. #1

    [ASSEMBLER] Problema su programma in assembler 8086

    Il comando è:
    Letto un numero N, da tastiera, se maggiore di 5 visualizzarlo altrimenti visualizzare tutti i numeri da 1 a N.

    Io ho scritto il codice:
    codice:
    .MODEL SMALL
    .STACK 100
    .DATA
    
    NUM1 DB ?
    ris db 0 
    dom1 DB "INSERISCI IL VALORE: " ,13,10,"$"
    
    risp1 db "il numero  e': " ,13,10,"$"
    risp2 db "I numeri che vanno da 1 al numero inserito sono : " ,13,10,"$"
    
    
    .CODE
    MOV AX,@DATA
    MOV DS,AX
    
    LEA DX,dom1;visualizza stringa
    MOV AH,9
    INT 21H
    
    MOV AH,01h ;acquisizione valore
    INT 21H
    SUB al,30H ;coversione valore
    
    
    
              cmp al,5
              jg vis
              jbe ciclo
    
          LEA DX,risp2
              mov ah,9
              int 21H 
    
              
    ciclo:    dec al
          
          inc ris
    
         
              mov dl,ris
              mov ah,2
              int 21h
               
              loop ciclo
              
              jmp fine
            
        vis:  LEA DX,risp1
              mov ah,9
              int 21H 
              
          mov num1,al
              mov dl,num1
          sub dl,30h
              mov ah,2
              int 21h
              jmp fine
    
    fine:    MOV AH,4CH ;fine
              INT 21H
              END
    Screen del .exe:


    NON RIESCO A TROVARE L'ERRORE.
    Ultima modifica di MItaly; 22-03-2014 a 13:23

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.