Re: Strange AV in asm mode (code only for amd64)

2017-11-06 Thread user1234 via Digitalmars-d-learn
On Sunday, 5 November 2017 at 14:25:24 UTC, user1234 wrote: On Sunday, 5 November 2017 at 13:43:15 UTC, user1234 wrote: [...] Hmmm it was just the amount of nops. --- import std.stdio; alias Proc = size_t function(); size_t allInnOne() { asm pure nothrow { naked;

Re: Strange AV in asm mode (code only for amd64)

2017-11-05 Thread user1234 via Digitalmars-d-learn
On Sunday, 5 November 2017 at 14:27:18 UTC, Eugene Wissner wrote: On Sunday, 5 November 2017 at 13:43:15 UTC, user1234 wrote: [...] One of the problems is that "naked" is missing in your assembly. If you write asm pure nothrow { naked; mov RAX, 1; ret;

Re: Strange AV in asm mode (code only for amd64)

2017-11-05 Thread user1234 via Digitalmars-d-learn
On Sunday, 5 November 2017 at 13:43:15 UTC, user1234 wrote: [...] Hmmm it was just the amount of nops. --- import std.stdio; alias Proc = size_t function(); size_t allInnOne() { asm pure nothrow { naked; mov RAX, 1; ret; nop;nop; mov RAX, 2;

Re: Strange AV in asm mode (code only for amd64)

2017-11-05 Thread Eugene Wissner via Digitalmars-d-learn
On Sunday, 5 November 2017 at 13:43:15 UTC, user1234 wrote: Hello, try this: --- import std.stdio; alias Proc = size_t function(); size_t allInnOne() { asm pure nothrow { mov RAX, 1; ret; nop;nop;nop;nop;nop;nop;nop; mov RAX, 2; ret; } }

Strange AV in asm mode (code only for amd64)

2017-11-05 Thread user1234 via Digitalmars-d-learn
Hello, try this: --- import std.stdio; alias Proc = size_t function(); size_t allInnOne() { asm pure nothrow { mov RAX, 1; ret; nop;nop;nop;nop;nop;nop;nop; mov RAX, 2; ret; } } void main() { Proc proc1 = Proc proc2 = cast(Proc)