Comments (6)
It would also be nice to have functionality to get the memory addresses touched. I think we've duplicated this logic in a few places (especially for pop/push) and it would be nice to centralize it.
from x64asm.
re: getting addresses touched --
This requires emulation of the source code, which isn't really something that this library is equipped to do. There is probably a place for this functionality somewhere in the stoke codebase, though. Probably somewhere in the sandbox, or in a class that uses sandbox callbacks.
from x64asm.
Oh, I probably wrote that wrong. What I really mean is memory
references that get touched. For example, 'push %rdx' is going to touch
-8(%rsp). That's something that can be returned as an x64asm::M64 or
something. Does that make sense to include here?
On 10/14/2014 03:32 PM, eric schkufza wrote:
re: getting addresses touched --
This requires emulation of the source code, which isn't really something that this library is equipped to do. There is probably a place for this functionality somewhere in the stoke codebase, though. Probably somewhere in the sandbox, or in a class that uses sandbox callbacks.
Reply to this email directly or view it on GitHub:
#38 (comment)
from x64asm.
re: implicit memory dereference
I can make this change. BUT. There's a semantic issue here, which is that I originally intended derefs_mem() to also imply that mem_index() would return non -1. Changing this to the semantics you want will break this invariant.
I'm going to leave derefs_mem(), but label it as deprecated, and replace it with three new methods:
is_implicit_memory_deref();
is_explicit_memory_deref();
is_memory_deref();
The semantics of is_explicit_memory_deref() will correspond to derefs_mem().
from x64asm.
back to touched addresses --
I see what you mean. I have to think about that one a little bit. There are some pretty strange corner cases that would make that a difficult method to write in full generality. Let's make that a separate issue and for now I'll just change the derefs_mem() thing.
from x64asm.
Closed.
from x64asm.
Related Issues (20)
- must_read_memory() triggers assertion in debug mode
- need more xor opcodes in is_xor_reg_reg()
- regression in #223
- add code to debug linker
- create non-templated parent class for all memory operands
- Examples need updates? HOT 1
- push/pop not assembled correctly
- HLE/RTM instructions need to be marked as invalid HOT 5
- Support for g++ 5.3
- bsf spreadsheet bug HOT 1
- Parser parses all memory dereferences as 8-bit HOT 4
- Latency table wrong/out-of-date HOT 1
- should use CXX and CC variables in makefile to pick compiler
- Better script to change cpu governor
- Assembler segfaults because it doesn't reserve enough memory HOT 3
- Alternate instruction encodings are not supported HOT 1
- Large number of bugs in the pretty-printer, parser, spreadsheet and other components. HOT 11
- Need way to get function buffer from assembler HOT 1
- thread safety
- Mem::operator< broken HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from x64asm.