gnupic: [gnupic] Different hex file generated by gpasm and mpasm


Previous by date: 20 Sep 2005 11:07:21 +0100 Re: [gnupic] Different hex file generated by gpasm and mpasm, Martyn Welch
Next by date: 20 Sep 2005 11:07:21 +0100 Re: [gnupic] Different hex file generated by gpasm and mpasm, Martyn Welch
Previous in thread: 20 Sep 2005 11:07:21 +0100 Re: [gnupic] Different hex file generated by gpasm and mpasm, Martyn Welch
Next in thread: 20 Sep 2005 11:07:21 +0100 Re: [gnupic] Different hex file generated by gpasm and mpasm, Martyn Welch

Subject: Re: [gnupic] Different hex file generated by gpasm and mpasm
From: Rob Hamerling ####@####.####
Date: 20 Sep 2005 11:07:21 +0100
Message-Id: <432FDF45.4060602@hccnet.nl>


Martyn Welch wrote:

> ----- Original Message ----------
> On Tuesday 20 September 2005 01:11, Chen Xiao Fan wrote:
> 
> 
>>The file in question is a single relocatable assembly
>>file and I do not expect too much difference in the
>>generated assmebly. Since both are working in the final
>>application, both must be correct. Still I am just
>>a bit curious what is the difference between gpasm
>>and MPASM.
> 
> 
> One is open source,the other isn't.
> 
> As far as I understand, some consideration has been made to keep the syntax 
> for gputils the same or at least similar to mpasm. As a result the operation 
> of the application should be broadly the same, however gputils is not a 
> cloned implementation of mpasm (this assumes the logic used during 
> compilation doesn't change between revisions).

An assembler is not a compiler! With an assembler there is a one-to-one 
relationship between a source statement and a machine instruction. A 
compiler must translate the high level symbolic language to a machine 
instructions and it has much freedom how it wants to reach the goal.

> There is more than one way to get the approximately the same point. For 
> example, could you tell the difference between these two blocks of code once 
> compiled and running?:
> 
> 1)
> int main(){
> 	char i = 0;
> 	while(i<10){
> 		print("%d",i);
> 		i++;
> 	}
> 	return(0);
> }
> 
> 2)
> int main(){
> 	char i;
> 	for(i=0,i<10,i++){
> 		print("%d",i);
> 	}
> 	return(0);
> }

1. Not a fair comparison with assembler!
2. The second example will give compilation errors!   ;-)

Regards, Rob.


-- 
Rob Hamerling, Vianen, NL phone +31-347-322822
homepage: http://www.robh.nl/

Previous by date: 20 Sep 2005 11:07:21 +0100 Re: [gnupic] Different hex file generated by gpasm and mpasm, Martyn Welch
Next by date: 20 Sep 2005 11:07:21 +0100 Re: [gnupic] Different hex file generated by gpasm and mpasm, Martyn Welch
Previous in thread: 20 Sep 2005 11:07:21 +0100 Re: [gnupic] Different hex file generated by gpasm and mpasm, Martyn Welch
Next in thread: 20 Sep 2005 11:07:21 +0100 Re: [gnupic] Different hex file generated by gpasm and mpasm, Martyn Welch


Powered by ezmlm-browse 0.20.