Merge: Pep8analysis Web Version
[nit.git] / contrib / pep8analysis / tests / privat / 08-div.pep
1 ; Programme et sous programme de division entière
2 ; Jean Privat (c) 2010
3          DECI    num,d       
4          LDA     num,d       
5          DECI    num,d       
6          LDX     num,d       
7          CALL    div         
8          STA     num,d       
9          DECO    num,d       
10          CHARO   ' ',i       
11          STX     num,d       
12          DECO    num,d       
13          STOP                
14 num:     .BLOCK  2           ; #2d
15 ;
16 ; div: calcule le quotient et le reste d'une division
17 ; Passage des arguments et résultats par registres
18 ; Utilisation d'une variable globale
19 ; IN:  A=dividende
20 ;      X=diviseur
21 ; OUT: A=reste
22 ;      X=quotient
23 div:     STX     diviseur,d  
24          LDX     0,i         ; X = 0
25 div_loop:CPA     diviseur,d  
26          BRLT    div_fin     ; while(A>=diviseur) {
27          SUBA    diviseur,d  ;   A -= diviseur;
28          ADDX    1,i         ;   X++;
29          BR      div_loop    ; } // fin while
30 div_fin: RET0                
31 diviseur:.BLOCK  2           ; Variable globale #2d
32          .END