flat assembler
Message board for the users of flat assembler.
![]() Goto page Previous 1, 2, 3, 4, 5, 6, 7 Next |
Author |
|
AsmGuru62
Can't move memory to insert something without STD. It's either STD or moving memory in small steps - ineffective.
|
|||
![]() |
|
Picnic
xleelz wrote: what is std and cld good for? Moving, copying, traversing data, in conjunction with a REP prefix and movsb, stosb, cmpsb instructions. Quite useful. |
|||
![]() |
|
sinsi
Try writing 64-bit code without LEA.
|
|||
![]() |
|
idle
BSWAP
CPUID CMPXCHG CMPXCHG8B XADD as those are not in i386 set i regret much about clever thoughts come afterwards, crying or very sad |
|||
![]() |
|
Teehee
@ouadji: pointless != useless, doesn't?
![]() ![]() i preffer to call it LEV (Load Effective Value) lol ![]() |
|||
![]() |
|
idle
Quote:
in our native = lion |
|||
![]() |
|
bitshifter
What about esc, not useless, but maybe least used?
As for any others mentioned, i think they ALL are very useful. Some people have great big toolbox full of tools and do everything with just a hammer ![]() |
|||
![]() |
|
Enko
bitshifter wrote:
Not if you are Jemie from Mythbusters, he does have a great toolkit and he actually use it. http://dsc.discovery.com/videos/mythbusters-raw-jamies-toolkit.html My thought is that all the instructions at some point are usefull. For example, some "exotic" intructions can be used to bother noob crackers. |
|||
![]() |
|
MazeGen
|
|||
![]() |
|
ouadji
INT3 (0xCC) ... ok but INT 3 (0xCD 0x03) ?? Just a matter of microprocessor design. It would be foolish to disable this instruction. But in practice, this instruction is completely useless. |
|||
![]() |
|
vid
CD03 behaves bit differently from CC. I don't recall exact details, but you should be able to find them in manuals.
|
|||
![]() |
|
Tomasz Grysztar
You can find those details here: http://board.flatassembler.net/topic.php?p=32983#32983
|
|||
![]() |
|
Feryno
Personally, I don't find any useless instruction.
Even found some usage for instructions/combinations of instructions looking "useless" like REPZ LODSD (a0C.exe in self_dbg in fdbg package) - MazeGen likes the REP LODSB, right? Remember that if you find some "useless" instruction or some exotic combination of instructions, it may be an antidebug trick. Don't reject anything only because currently you think it's useless, good idea opening your eyes may come in the feaure and may color the world ! idle wrote: CMPXCHG MazeGen wrote: INVLPG db 0CCh / db 0CDh, 03h - again an antidebug trick, even microsoft windows exception handler doesn't count with CD03 choice and reports wrong exception address inside CD03 instruction (ms assumes every int3 comes from db 0CCh, int3 is trap type of exception, so ms handler subtracts 1 and reports that as origin of instruction leading into int 3, then you must think of some correction algorithm if you develop a debugger) |
|||
![]() |
|
Enko
|
|||
![]() |
|
MazeGen
Feryno wrote:
|
|||
![]() |
|
DOS386
Tyler wrote: lea is pretty pointless. NO : http://board.flatassembler.net/topic.php?p=111985#111985 ![]() Quote: The most useless instruction VERR and VERW ![]() |
|||
![]() |
|
yoshimitsu
I guess by "useless" instructions you mean those, which actually consist of two operations and were implemented to provide some higher level of code to draw simplicity but ended up being much slower and are therefore negatively connotated
examples are loop, enter, lods, stos, movs on most processors they are considerably slower than their two instruction-pendants kind of compareable to inc eax vs add eax,1 as the latter is often faster on newer processors while 'inc' is considered more an 'exotic' instruction like the high-level instructions mentioned above however, there are some exceptions like leave or rep lods/stos/movs, which are pretty fast |
|||
![]() |
|
idle
Quote:
there is special opcode for shifts when count=1 |
|||
![]() |
|
revolution
idle wrote: there is special opcode for shifts when count=1 ![]() |
|||
![]() |
|
Goto page Previous 1, 2, 3, 4, 5, 6, 7 Next < Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2020, Tomasz Grysztar. Also on GitHub, YouTube, Twitter.
Website powered by rwasa.