GAS LISTING /tmp/cccE1Ajb.s 			page 1


   1              		.file	"strutt1.c"
   9              	
  10        
  11              	.globl main
  13              	main:
  14              	
  15              		.file 1 "strutt1.c"
   1:strutt1.c     **** 
   2:strutt1.c     **** int main()
   3:strutt1.c     **** {
  16              		
  17              		
  18 0000 55       		pushl	%ebp
  19              	
  20              		
  21 0001 89E5     		movl	%esp, %ebp
  22              		
  23              	.LCFI1:
  24              		
  25 0003 83EC0C   		subl	$12, %esp
   4:strutt1.c     ****      int uno, due, tre;
   5:strutt1.c     **** 
   6:strutt1.c     ****      routineinizio();
  26              		
  27 0006 E8FCFFFF 		call	routineinizio
  27      FF
   7:strutt1.c     **** 
   8:strutt1.c     ****      if (uno>0)
  28              		
  29 000b 837DFC00 		cmpl	$0, -4(%ebp)
  30 000f 7E07     		jle	.L2
   9:strutt1.c     **** {   prima(); }
  31              		
  32 0011 E8FCFFFF 		call	prima
  32      FF
  33 0016 EB12     		jmp	.L3
  34              	.L2:
  10:strutt1.c     ****      else if (uno==0)
  35              		
  36 0018 837DFC00 		cmpl	$0, -4(%ebp)
  37 001c 7507     		jne	.L4
  11:strutt1.c     **** {   seconda(); }
  38              		
  39 001e E8FCFFFF 		call	seconda
  39      FF
  40 0023 EB05     		jmp	.L3
  41              	.L4:
  12:strutt1.c     ****      else 
  13:strutt1.c     **** {   terza();  }
  42              		
  43 0025 E8FCFFFF 		call	terza
  43      FF
  44              	.L3:
  14:strutt1.c     **** 
  15:strutt1.c     ****    uno = quarta();
  45              		
  46 002a E8FCFFFF 		call	quarta
GAS LISTING /tmp/cccE1Ajb.s 			page 2


  46      FF
  47 002f 8945FC   		movl	%eax, -4(%ebp)
  16:strutt1.c     **** 
  17:strutt1.c     ****      while (whilecond()>0)
  48              		
  49 0032 EB0B     		jmp	.L5
  50              	.L6:
  18:strutt1.c     ****    { whilesub(uno); }
  51              		
  52 0034 FF75FC   		pushl	-4(%ebp)
  53              		
  54 0037 E8FCFFFF 		call	whilesub
  54      FF
  55 003c 83C404   		addl	$4, %esp
  56              	.L5:
  17:strutt1.c     ****      while (whilecond()>0)
  57              		
  58              	
  59 003f E8FCFFFF 		call	whilecond
  59      FF
  60 0044 85C0     		testl	%eax, %eax
  61 0046 7FEC     		jg	.L6
  19:strutt1.c     **** 
  20:strutt1.c     ****    uno = quinta();
  62              	
  63 0048 E8FCFFFF 		call	quinta
  63      FF
  64 004d 8945FC   		movl	%eax, -4(%ebp)
  65              	.L7:
  21:strutt1.c     ****   
  22:strutt1.c     ****      do   { untilsub(uno); }      
  66              		
  67 0050 FF75FC   		pushl	-4(%ebp)
  68              	
  69 0053 E8FCFFFF 		call	untilsub
  69      FF
  70 0058 83C404   		addl	$4, %esp
  23:strutt1.c     ****      while (uno>100);
  71              		
  72 005b 837DFC64 		cmpl	$100, -4(%ebp)
  73 005f 7FEF     		jg	.L7
  24:strutt1.c     **** 
  25:strutt1.c     ****    uno = sesta ();
  74              		
  75              		
  76 0061 E8FCFFFF 		call	sesta
  76      FF
  77 0066 8945FC   		movl	%eax, -4(%ebp)
  26:strutt1.c     **** 
  27:strutt1.c     ****      for (uno=0; uno<10;uno++)
  78              		
  79 0069 C745FC00 		movl	$0, -4(%ebp)
  79      000000
  80 0070 EB0F     		jmp	.L8
  81              	.L9:
  28:strutt1.c     ****   {  forsub (uno);}
  82              	
GAS LISTING /tmp/cccE1Ajb.s 			page 3


  83 0072 FF75FC   		pushl	-4(%ebp)
  84              	
  85 0075 E8FCFFFF 		call	forsub
  85      FF
  86 007a 83C404   		addl	$4, %esp
  27:strutt1.c     ****      for (uno=0; uno<10;uno++)
  87              		
  88 007d 8345FC01 		addl	$1, -4(%ebp)
  89              	.L8:
  90 0081 837DFC09 		cmpl	$9, -4(%ebp)
  91 0085 7EEB     		jle	.L9
  29:strutt1.c     **** 
  30:strutt1.c     ****      return; 
  31:strutt1.c     **** }
  92              	
  93 0087 C9       		leave
  94 0088 C3       		ret
  95              	
  96              	
  98              	
GAS LISTING /tmp/cccE1Ajb.s 			page 4


DEFINED SYMBOLS
                            *ABS*:0000000000000000 strutt1.c
     /tmp/cccE1Ajb.s:13     .text:0000000000000000 main

UNDEFINED SYMBOLS
routineinizio
prima
seconda
terza
quarta
whilesub
whilecond
quinta
untilsub
sesta
forsub
