{"action":"created","issue":{"url":"https://api.github.com/repos/ethereum/yellowpaper/issues/343","repository_url":"https://api.github.com/repos/ethereum/yellowpaper","labels_url":"https://api.github.com/repos/ethereum/yellowpaper/issues/343/labels{/name}","comments_url":"https://api.github.com/repos/ethereum/yellowpaper/issues/343/comments","events_url":"https://api.github.com/repos/ethereum/yellowpaper/issues/343/events","html_url":"https://github.com/ethereum/yellowpaper/issues/343","id":257935793,"number":343,"title":"I don't fully understand 0x3c, 0x39, 0x37, the memory expansion function, and other complex opcodes","user":{"login":"jamesray1","id":16969914,"avatar_url":"https://avatars1.githubusercontent.com/u/16969914?v=4","gravatar_id":"","url":"https://api.github.com/users/jamesray1","html_url":"https://github.com/jamesray1","followers_url":"https://api.github.com/users/jamesray1/followers","following_url":"https://api.github.com/users/jamesray1/following{/other_user}","gists_url":"https://api.github.com/users/jamesray1/gists{/gist_id}","starred_url":"https://api.github.com/users/jamesray1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jamesray1/subscriptions","organizations_url":"https://api.github.com/users/jamesray1/orgs","repos_url":"https://api.github.com/users/jamesray1/repos","events_url":"https://api.github.com/users/jamesray1/events{/privacy}","received_events_url":"https://api.github.com/users/jamesray1/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":8,"created_at":"2017-09-15T06:03:17Z","updated_at":"2017-09-21T03:06:13Z","closed_at":null,"author_association":"NONE","body":"I understand what they are doing—the maths, but I don't understand why.\r\n\r\nI don't understand why the memory expansion function works the way it does.\r\n\r\nFor 0x39, I don't understand why I_b, the byte array that is the machine code to be executed, must be less than mu_s[1] + i, which has a maximum upper bound of mu_s[2]-1. Similarly I don't understand why the condition in the first line of the piecewise function in 0x37, and 0x3c is the way that it is. I see that the stack depth of the operation is one more item greater than the stack item in these conditions.\r\n\r\nI don't understand the last item in the sequence of the first equation in the logging operations section: mu_s [0] + mu_s[1] - 1, and similarly for the same pattern in the system operation sequences and elsewhere. I read that the memory contents mu_m is a series of zeros of size 2^256 in 9.4.1 para. 1. I think mu_m[mu_s[x], ... , mu_s[y}] is writing to the memory contents the sequence in the square brackets, but I'm not sure, and I think and example of how this works would be helpful. Without understanding how these more fundamental methods work it is harder to fully understand the more complex procedures that they are a part of."},"comment":{"url":"https://api.github.com/repos/ethereum/yellowpaper/issues/comments/331038130","html_url":"https://github.com/ethereum/yellowpaper/issues/343#issuecomment-331038130","issue_url":"https://api.github.com/repos/ethereum/yellowpaper/issues/343","id":331038130,"user":{"login":"jamesray1","id":16969914,"avatar_url":"https://avatars1.githubusercontent.com/u/16969914?v=4","gravatar_id":"","url":"https://api.github.com/users/jamesray1","html_url":"https://github.com/jamesray1","followers_url":"https://api.github.com/users/jamesray1/followers","following_url":"https://api.github.com/users/jamesray1/following{/other_user}","gists_url":"https://api.github.com/users/jamesray1/gists{/gist_id}","starred_url":"https://api.github.com/users/jamesray1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jamesray1/subscriptions","organizations_url":"https://api.github.com/users/jamesray1/orgs","repos_url":"https://api.github.com/users/jamesray1/repos","events_url":"https://api.github.com/users/jamesray1/events{/privacy}","received_events_url":"https://api.github.com/users/jamesray1/received_events","type":"User","site_admin":false},"created_at":"2017-09-21T03:06:13Z","updated_at":"2017-09-21T03:06:13Z","author_association":"NONE","body":"Sorry, again I am not being clear enough. I was unsure why the last i-th index mu_s[2]-1, but I think it's related to the use of i in the index.\r\n\r\nWhy is the index up to mu_s[2] - 1? I think it's just designed this way to impose a maximum limit on I_b, \"the byte array that is the machine code to be executed\", but I'm not sure what exactly the reason for that is."}}
{"actor":{"display_login":"jamesray1"}}