  | 
	  | 
		 
	 
	
		| View previous topic :: View next topic   | 
	 
	
	
		| Author | 
		Message | 
	 
	
		
			soonc
 
 
  Joined: 03 Dec 2013 Posts: 215
  
			
			 
			 
			
			
			
			
			
			
			
  
		  | 
		
			
				| code question | 
			 
			
				 Posted: Thu Aug 31, 2017 4:09 pm     | 
				     | 
			 
			
				
  | 
			 
			
				Recently I've been using the mmcsd.c library code to directly write to a 2GB SD card. 
 
It's working.
 
During my debugging sessions I ran in this line of code:
 
 
for(i = 0; i < MMCSD_MAX_BLOCK_SIZE; i += 1)
 
 
my question why use i += 1  when i++ will produce less code ?
 
 
 	  | Code: | 	 		  
 
....................    for(i = 0; i < MMCSD_MAX_BLOCK_SIZE; i += 1) 
 
0B18A:  CLR     1AE2
 
0B18C:  MOV     1AE2,W4
 
0B18E:  MOV     #200,W3
 
0B190:  CP      W3,W4
 
0B192:  BRA     LEU,B1B0
 
....................    { 
 
....................       MMCSD_SPI_XFER(ptr[i]); 
 
0B194:  MOV     1AE2,W0
 
0B196:  ADD     1ADC,W0
 
0B198:  MOV.B   [W0],W5L
 
0B19A:  MOV     #0,W1
 
0B19C:  MOV     #8,W2
 
0B19E:  MOV.B   W5L,W0L
 
0B1A0:  CLR.B   1
 
0B1A2:  CALL    312C
 
0B1A6:  MOV     1AE2,W4
 
0B1A8:  ADD     W4,#1,W0
 
0B1AA:  MOV     W0,1AE2
 
0B1AC:  GOTO    B18C
 
 
 | 	  
 
 
 	  | Code: | 	 		  
 
....................    for(i = 0; i < MMCSD_MAX_BLOCK_SIZE; i++) 
 
0B18A:  CLR     1AE2
 
0B18C:  MOV     1AE2,W4
 
0B18E:  MOV     #200,W3
 
0B190:  CP      W3,W4
 
0B192:  BRA     LEU,B26C
 
....................    { 
 
....................       MMCSD_SPI_XFER(ptr[i]); 
 
0B194:  MOV     1AE2,W0
 
0B196:  ADD     1ADC,W0
 
0B198:  MOV.B   [W0],W5L
 
0B19A:  MOV     #0,W1
 
0B19C:  MOV     #8,W2
 
0B19E:  MOV.B   W5L,W0L
 
0B1A0:  CLR.B   1
 
0B1A2:  CALL    312C
 
....................  
 
 | 	 
  | 
			 
		  | 
	 
	
		  | 
	 
	
		
			temtronic
 
 
  Joined: 01 Jul 2010 Posts: 9589 Location: Greensville,Ontario 
			
			 
			 
			
			
			
			
			
			
			
  
		  | 
		
			
				 | 
			 
			
				 Posted: Thu Aug 31, 2017 5:00 pm     | 
				     | 
			 
			
				
  | 
			 
			
				All programmers have their style of cutting code. This code cutter uses what he either was taught or found to work for him.
 
 
You can program either for smaller code( saves memory) or for speed of execution.
 
 
Perhaps his code does execute faster, I don't know. What we do know is his code does work !!
 
 
Jay | 
			 
		  | 
	 
	
		  | 
	 
	
		
			PCM programmer
 
 
  Joined: 06 Sep 2003 Posts: 21708
  
			
			 
			 
			
			
			
			
			
			
			
  
		  | 
		
			
				 | 
			 
			
				 Posted: Thu Aug 31, 2017 6:39 pm     | 
				     | 
			 
			
				
  | 
			 
			
				I just did a text search of the \Examples and \Drivers folders for "i += 1".
 
It's used 2x in mmcsd.c and 12x in fat.c, and in no other files. | 
			 
		  | 
	 
	
		  | 
	 
	
		
			oxo
 
 
  Joined: 13 Nov 2012 Posts: 219 Location: France 
			
			 
			 
			
			
			
			
			
			
			
  
		  | 
		
			
				 | 
			 
			
				 Posted: Fri Sep 01, 2017 12:26 am     | 
				     | 
			 
			
				
  | 
			 
			
				Be thankful it's not i = i + (int8)1;
 
 
:D | 
			 
		  | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
	 
	    
	   | 
	
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
  | 
   
 
  
Powered by phpBB © 2001, 2005 phpBB Group
  
		 |