flat assembler
Message board for the users of flat assembler.
![]() Goto page 1, 2 Next |
Author |
|
ishkabible 15 Nov 2010, 22:05
well i think my subject explains it fairly well. what is the point of nop? there must be a reason for it or else it wouldn't be there right.
|
|||
![]() |
|
mindcooler 16 Nov 2010, 07:37
1. to take up space
2. to eat up cpu time |
|||
![]() |
|
bitRAKE 16 Nov 2010, 10:16
It simplified an orthogonal instruction layout within the processor circuitry.
|
|||
![]() |
|
sinsi 16 Nov 2010, 10:28
Well there was a cpu (pdp-10) that had "jump always" and "jump never" instructions. It's all about symmetry...
edit: http://en.wikipedia.org/wiki/PDP-10#Instructions |
|||
![]() |
|
Tomasz Grysztar 16 Nov 2010, 10:39
Note that in modern x86 processors we have not only the "90" NOP, but also "0F 1F /0".
Sometimes new purposes emerge over time for something that initially was not so useful. |
|||
![]() |
|
MazeGen 16 Nov 2010, 11:08
Does anyone know when the XCHG eAX, eAX became real architectural NOP (i.e. when the Intel CPU stopped to touch eAX)? I'd say it was either 386 or 486, but I found no clear evidence.
|
|||
![]() |
|
asmhack 16 Nov 2010, 12:23
patching maybe ?
![]() |
|||
![]() |
|
ctl3d32 16 Nov 2010, 20:46
asmhack wrote: patching maybe ? yes!!!!!! ![]() |
|||
![]() |
|
ishkabible 16 Nov 2010, 21:40
symmetry makes sense. i read some where that there was a logical way to get the different instructions values by just knowing some base value. i didn't look any further into it. it makes sense that in creating a logical intuitive way to derive the values of the instructions that some useless ones would occur. so dose the processor actually move ax to ax? or dose it just disregard things of this nature?
|
|||
![]() |
|
baldr 16 Nov 2010, 22:03
ishkabible,
Until speculative execution has been introduced (P6), that has no real effect. Keyword is dependency. |
|||
![]() |
|
b1528932 17 Nov 2010, 23:24
i think they introduced real nop in long mode.
In 32bit mode it was just xchg eax, eax. |
|||
![]() |
|
baldr 18 Nov 2010, 06:52
b1528932,
You think wrong. nop r/m instruction is present since later P4; it works perfectly even in real-address mode. Why do we need manuals? We can just have opinions. ![]() |
|||
![]() |
|
luke77 18 Nov 2010, 11:30
Nops are pretty interesting.
They also get used as "fillers" and as one byte instructions. Microsoft worked in conjunction with Intel to develop it. It means No Other Plan. ![]() Have a great day, Andy http://intouch.org/magazine/daily-devotional http://www.happynews.com [/b] |
|||
![]() |
|
bitRAKE 19 Nov 2010, 03:35
"No Other Plan" that's very funny, luke77.
![]() Quote: NO OPERATION (NOP) |
|||
![]() |
|
luke77 19 Nov 2010, 04:07
Thanks bitRAKE.
I was a class clown in my Catholic High School. I still haven't grown up. Andy ![]() |
|||
![]() |
|
vid 19 Nov 2010, 10:37
luke77: Was it Roman Catholic or Greek Catholic?
|
|||
![]() |
|
luke77 19 Nov 2010, 12:27
vid wrote: luke77: Was it Roman Catholic or Greek Catholic? Roman Catholic. What are the differences? I am a non-denominational Christian now. |
|||
![]() |
|
revolution 23 Nov 2010, 14:54
MazeGen wrote: Does anyone know when the XCHG eAX, eAX became real architectural NOP (i.e. when the Intel CPU stopped to touch eAX)? I'd say it was either 386 or 486, but I found no clear evidence. |
|||
![]() |
|
vid 24 Nov 2010, 00:04
revolution: I think sooner, during or early after pipelining was introduced, so that "xchg eax, eax" doesn't mark EAX as modified. But I never cared too much about optimization stuff, maybe generic xchg pipeline-optimization handling is smart enough not to cause problems with this?
|
|||
![]() |
|
Goto page 1, 2 Next < Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.