Einzelnen Beitrag anzeigen

Cyf

Registriert seit: 30. Mai 2008
407 Beiträge
 
Lazarus
 
#3

Re: Typisierte vs. Untypisierte Konstante

  Alt 15. Jun 2009, 21:55
Ansonsten, falls das nicht stimmt, hätte ich noch die Theorie, dass der Speicherinhalt verglichen wird und bei der untypisierten Variante noch eine Längenangabe des Strings davor steht. Aber ohne die Opcodes ist das nur Raten.

[Edit]

Code:
Project1.dpr.14: foo := const1;
004040D7 8B057C414000     mov eax,[$0040417c]
004040DD 8905F0874000     mov [$004087f0],eax
004040E3 8B0580414000     mov eax,[$00404180]
004040E9 8905F4874000     mov [$004087f4],eax
Project1.dpr.15: WriteLn(foo = const1);
004040EF 8D45EC          lea eax,[ebp-$14]
004040F2 BAF0874000       mov edx,$004087f0
004040F7 B908000000       mov ecx,$00000008
004040FC E8CBFAFFFF      call @LStrFromArray
00404101 8B45EC          mov eax,[ebp-$14]
00404104 BA8C414000       mov edx,$0040418c
00404109 E8D6FAFFFF      call @LStrCmp
0040410E 0F94C2           setz dl
00404111 A19C594000       mov eax,[$0040599c]
00404116 E86DF0FFFF      call @Write0Bool
0040411B E894F0FFFF      call @WriteLn
00404120 E897E9FFFF      call @_IOTest
Project1.dpr.16: WriteLn(foo = const2);
00404125 B8F0874000       mov eax,$004087f0
0040412A BA94594000       mov edx,$00405994
0040412F B908000000       mov ecx,$00000008
00404134 E81BEEFFFF      call @AStrCmp
00404139 0F94C2           setz dl
0040413C A19C594000       mov eax,[$0040599c]
00404141 E842F0FFFF      call @Write0Bool
00404146 E869F0FFFF      call @WriteLn
0040414B E86CE9FFFF      call @_IOTest
Man kann einen Barbier definieren als einen, der alle diejenigen rasiert, und nur diejenigen, die sich nicht selbst rasieren.
Rasiert sich der Barbier?
  Mit Zitat antworten Zitat