daily pastebin goal
90%
SHARE
TWEET

Fetilei

a guest Dec 20th, 2018 137 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. PAGE 70,166
  2. MEM_POS = 0800H ;adresa de inceput a programului in segment
  3. DS_SEG = 0080H  ;segmentul de date
  4. IKEYBOARD = 08H ;intrerupere specifica placii pentru citirea de la tastatura
  5. IDIS_BYTE = 09H ;intrerupere specifica placii pentru afisarea unui octet
  6. IDIS_STR = 0BH  ;intrerupere specifica placii pentru afisarea unui sir de caractere
  7.  
  8. CODE SEGMENT
  9.     ASSUME CS:CODE, DS:CODE
  10.     ORG 0H ;codul incepe de la offsetul 0h in segmentul de cod
  11.    
  12. ;inceputul programului
  13. START:
  14. ;partea de initializare a segmentului de date !!
  15.     MOV AX,DS_SEG
  16.     MOV DS,AX ;se incarca segmentul de date
  17.     ;afisarea unui sir de caractere
  18.     MOV SI,OFFSET MSG
  19.     INT IDIS_STR ;display message MSG
  20.    
  21.     ;calculare cmmdc
  22.     INT IKEYBOARD ; citim primul numar
  23.     MOV CL,0 ; mutam poiteru de pozitie pe afisaj
  24.     MOV A,AL ; il salvam in variabila A
  25.     INT IDIS_BYTE ; il afisam si pe placa
  26.    
  27.     INT IKEYBOARD ; citim al 2-lea numar
  28.     MOV CL,0 ; mutam poiteru de pozitie pe afisaj
  29.     MOV B,AL ; il salvam in variabila B
  30.     INT IDIS_BYTE ; il afisam si pe placa
  31.    
  32.     ; Loop-ul de calculare
  33. TWHILE: CMP A,B ; comparam a si b
  34.     JE FINISH   ; daca sunt egale sare la terminare
  35.     ; daca nu intra si face operatii cu ele
  36.     CMP A,B
  37.     JG AGREATER ; sari la label-ul ala daca A > B ZF = 0 (parca)
  38.     ; Daca nu sare la labelul ala inseamna ca A < B si scade din B pe A
  39.     SUB B,A  ; daca b mai mare ca a scadem pe a din b
  40.     AGREATER:  
  41.         SUB A,B ; DAca a > b scadem pe b din a
  42.     ; reintoarcere in loop
  43.     JMP TWHILE
  44.     ; finish afisam rezultatul
  45.     FINISH:
  46.         MOV CL,,0
  47.         MOV AL,A ; incarcam in al rezultatul
  48.         INT IDIS_BYTE ; afisam rezultatul
  49.  
  50.     MSG DB '                ',00H ;declararea unei variabile sir de caractere
  51.     A DB ?
  52.     B DB ?
  53. CODE ENDS
  54. END START
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top