Started by Donald Darden, June 10, 2007, 12:03:58 AM
0 Members and 1 Guest are viewing this topic.
'==================== Original PB/CC Program ========================FUNCTION PBMAIN aa$="This is a test" ! mov al, al a& = LEN(aa$) ! mov ah, ahEND FUNCTION
'======== Related Extracts From Produced ASM File From Compiled EXE ======= Code found in ! MOV pair: mov al, al ; my designated lead flag mov edx, [ebp+var_8C] ;this must point to AA$ call sub_4019B5 call sub_40199D mov esi, eax ;this must be REGISTER ref to A& mov ah, ah ;my designated trail flag
... sub_4019B5 proc near ; CODE XREF: sub_4010CB+34 p push esi ;save of ESI contents on stack sub dword ptr [ebp-78h], 4 ;between ESP and EPB, subtract 4 mov esi, [ebp-78h] ; move that value to ESI or edx, 80000000h ;Set negative bit for some reason mov [ebp+esi-5Ch], edx ;save this at location EBP+ESI-5Ch pop esi ;restore ESI contents from stack retn ;exit this subsub_4019B5 endpsub_40181D proc near ; CODE XREF: .text:00401857 p ; sub_4018B1+23 p ... and esi, 7FFFFFFFh ;now clear the sign bit in ESI jz short loc_401829 ;if results zero, string addr invalid mov ecx, [esi-4] ;string length is BELOW strptr ref retn loc_401829: ; CODE XREF: sub_40181D+6 j mov ecx, esi ;otherwise ESI has string length mov esi, offset unk_4020BC ;make ESI point to something else retn ;exit this subsub_40181D endp
QuoteIt would be worth noting what coding changes happen if we add a #REGISTER NONE to the PowerBasic program and recompile it.
QuoteWhile there are several things that are not clear at this point, it does appear
Page created in 0.197 seconds with 22 queries.