I'm trying to print a linked list, when I write a hole program in the main job, it works fine But when I do differently for different tasks and "print list" it mainly does not work
  Irvine32.inc contains the next EQU 4 .data sundaystr byte 'Today Sunday', 0 mondaystr Trying to call byte 'Monday', 0 tuesdaystr byte "Tuesday", 0 Sunday DWORD sundaystr DWORD Monday DWORD 0 Monday DWORD mondaystr DWORD Tuesday DWORD Sunday R Tuesday Tuesday DWORD tuesdaystr DWORD 0 DWORD Monday Main PROC Push Offset Sunday Call printList Exit Main ENDP Printlist PROC push EDX. ESI Call ESI push EBP MOV EBP Push, esp MOV ESI, [EBP + 12] PRINT: MOV EDX, [ESI] Call Writing EST, ESI, next CMP [ESI], adding DWORD ptr 0JE made mov ESI, [ESI] loop printed: pop EBP pop ESI POP EDX retired printlist ENDP END Main   
  call  pushed  eip  stack However, since the  REIT  should be able to go back to the information that you think takes into account when you use the function argument to offset the pile indicator. 
  push EDX push ESI push EBP mov EBP, esp mov ESI, [EBP + 12]    at the point where you do  mov ESI , [EBP + 12]  You will have the old value of [EBP  EBP  +0] ,  esi  at  [ Ebp + 4] ,  edx  at  [ebp + 8] ,  and  over EIP  [ebp + 12]   old value 
 I think that you will actually find you on  [ebp + 16]  push offset Sunday < / Code> wanted to address pushed. 
No comments:
Post a Comment