Advertisement
erfanul007

Primes till input asm

Dec 24th, 2019
378
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. INCLUDE "EMU8086.INC"
  2. .MODEL SMALL
  3. .STACK 100H
  4. .DATA
  5.    SUM DW 0
  6.    TEMP DB ?
  7.    INPUT DW ?
  8.    OUTPUT DW ?
  9.    CURRENT DW 1
  10.    DIVISOR DW ?
  11.    
  12. .CODE
  13.  
  14.   INDEC PROC              ;FOR DECIMAL INPUT (STRING DIGITS TO DECIMAL)
  15.     MOV AH,1
  16.     INT 21H
  17.      
  18.     L1:
  19.       SUB AL,48
  20.       XOR AH,AH
  21.       MOV INPUT, AX
  22.      
  23.       MOV AX,SUM
  24.       MOV BX,10
  25.       MUL BX
  26.       ADD AX,INPUT
  27.       MOV SUM, AX
  28.      
  29.       MOV AH,1
  30.       INT 21H
  31.      
  32.       CMP AL, 13
  33.       JNE L1
  34.      
  35.     RET
  36.   INDEC ENDP
  37.  
  38.   OUTDEC PROC               ;FOR DECIMAL OUTPUT (FORM INTEGER TO STRING)
  39.     MOV AX,OUTPUT
  40.     MOV BP,SP
  41.      
  42.     L2:
  43.     XOR AX,AX
  44.     XOR DX,DX
  45.      
  46.     MOV AX,OUTPUT
  47.     MOV BX,10
  48.     DIV BX
  49.     MOV OUTPUT,AX
  50.      
  51.     ADD DX,48
  52.     PUSH DX
  53.      
  54.     CMP OUTPUT,0
  55.     JNE L2
  56.      
  57.     RE:
  58.     POP DX
  59.     MOV AH,2
  60.     INT 21H
  61.      
  62.     CMP SP,BP
  63.     JNE RE
  64.      
  65.     RET
  66.   OUTDEC ENDP
  67.  
  68.   MAIN PROC
  69.      MOV AX, @DATA
  70.      MOV DS, AX
  71.      
  72.      CALL INDEC
  73.      PRINTN
  74.      
  75.      LOOP1:
  76.        INC CURRENT
  77.        MOV AX,CURRENT
  78.        CMP AX,SUM
  79.        JG EXIT
  80.        MOV AX,1
  81.        MOV DIVISOR,AX
  82.        LOOP2:
  83.          INC DIVISOR
  84.          MOV AX,CURRENT
  85.          MOV BX,DIVISOR
  86.          CMP BX,AX
  87.          JE PRINT
  88.          XOR DX,DX
  89.          DIV BX
  90.          CMP DX,0
  91.          JE LOOP1
  92.          JMP LOOP2
  93.        PRINT:
  94.          MOV AX,CURRENT
  95.          MOV OUTPUT,AX
  96.          CALL OUTDEC
  97.          PRINT " "
  98.          JMP LOOP1
  99.            
  100.      EXIT:
  101.      MOV AH, 4CH
  102.      INT 21H
  103.   ENDP MAIN
  104.    
  105. END MAIN
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement