Docstrings considered too complicated
Alf P. Steinbach
alfps at start.no
Fri Feb 26 20:10:26 EST 2010
* MRAB:
> Steven D'Aprano wrote:
>> On Fri, 26 Feb 2010 09:09:36 -0600, Tim Daneliuk wrote:
>>
>>> Reminiscent of:
>>>
>>> mov AX,BX ; Move the contents of BX into AX
>>
>>
>> That's a *good* comment, because without it most English-speaking
>> people would assume you were moving the contents of AX into BX.
>>
> [snip]
> If you're reading and/or writing at assembly language level then you
> should know what it does anyway!
>
> The assembly languages of virtually all the processors that I've come
> across put the destination first, eg. x86:
>
> SUB AX,BX
> MOV AX,BX
>
> which does:
>
> AX := AX - BX
> AX := BX
>
A bit off-topic, but there are /two/ main syntaxes for x86 assembly, namely
Intel syntax (the above syntax, used by MASM, old TASM etc.) and AT&T syntax.
<example>
C:\test> echo int main(){ int x = 42; } >blah.cpp
C:\test> g++ blah.cpp -S -masm=intel
C:\test> type blah.s | find "42"
mov DWORD PTR [ebp-4], 42
C:\test> g++ blah.cpp -S -masm=att
C:\test> type blah.s | find "42"
movl $42, -4(%ebp)
C:\test> _
</example>
Personally I find the AT&T syntax very hard to read.
All those percent signs hurt my eyes...
> and ARM:
>
> SUB R0,R1,R2
> MOV R0,R1
>
> which does:
>
> R0 := R1 - R2
> R0 := R1
>
> The only assembly language I know of which does it the other way round
> is 68x00:
>
> SUB D0,D1
> MOVE D0,D1
>
> which does:
>
> D1 := D1 - D0
> D1 := D0
>
> I know which I prefer! :-)
Cheers,
- Alf
More information about the Python-list
mailing list