Commit 11bf49b0 authored by Julian Kranz's avatar Julian Kranz

X86 RREIL Translator

- Added semantics of: LDDQU
- Cleanup
parent bc22ab5e
...@@ -289,9 +289,9 @@ std::ostream& operator<<(std::ostream& o, const Op& s) { ...@@ -289,9 +289,9 @@ std::ostream& operator<<(std::ostream& o, const Op& s) {
class PrintLinVisitor : public LinVisitor { class PrintLinVisitor : public LinVisitor {
std::ostream& o; std::ostream& o;
int comp = 0; int comp;
public: public:
PrintLinVisitor(std::ostream& o) : o(o) {}; PrintLinVisitor(std::ostream& o) : o(o), comp(0) {};
void accept(const LinVar& l) { void accept(const LinVar& l) {
o << l.getVar(); o << l.getVar();
}; };
......
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
#include <iostream> #include <iostream>
#include <vector> #include <vector>
#include <inttypes.h> #include <inttypes.h>
#include <algorithm>
class RReilBB; class RReilBB;
typedef char* RReilAddress; typedef char* RReilAddress;
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
// Copyright (c) 2012 Axel Simon. All rights reserved. // Copyright (c) 2012 Axel Simon. All rights reserved.
// //
#include <strings.h>
#include "Segment.h" #include "Segment.h"
#include <sys/mman.h> #include <sys/mman.h>
#include <unistd.h> #include <unistd.h>
......
/*
* main-elf.cpp
*
* Created on: Oct 23, 2012
* Author: jucs
*/
#include <stdlib.h>
#include <stdio.h>
int main(void) {
printf(":-)\n");
}
...@@ -174,7 +174,6 @@ val divs sz a b c = push (/ASSIGN a (SEM_DIVS{size=sz,opnd1=b,opnd2=c})) ...@@ -174,7 +174,6 @@ val divs sz a b c = push (/ASSIGN a (SEM_DIVS{size=sz,opnd1=b,opnd2=c}))
val shl sz a b c = push (/ASSIGN a (SEM_SHL{size=sz,opnd1=b,opnd2=c})) val shl sz a b c = push (/ASSIGN a (SEM_SHL{size=sz,opnd1=b,opnd2=c}))
val shr sz a b c = push (/ASSIGN a (SEM_SHR{size=sz,opnd1=b,opnd2=c})) val shr sz a b c = push (/ASSIGN a (SEM_SHR{size=sz,opnd1=b,opnd2=c}))
val shrs sz a b c = push (/ASSIGN a (SEM_SHRS{size=sz,opnd1=b,opnd2=c})) val shrs sz a b c = push (/ASSIGN a (SEM_SHRS{size=sz,opnd1=b,opnd2=c}))
val bswap sz a b = push (/ASSIGN a (SEM_BSWAP{size=sz,opnd1=b}))
val modulo sz a b c = push (/ASSIGN a (SEM_MOD{size=sz,opnd1=b,opnd2=c})) val modulo sz a b c = push (/ASSIGN a (SEM_MOD{size=sz,opnd1=b,opnd2=c}))
val movsx szA a szB b = push (/ASSIGN a (SEM_SX{size=szA,fromsize=szB,opnd1=b})) val movsx szA a szB b = push (/ASSIGN a (SEM_SX{size=szA,fromsize=szB,opnd1=b}))
val movzx szA a szB b = push (/ASSIGN a (SEM_ZX{size=szA,fromsize=szB,opnd1=b})) val movzx szA a szB b = push (/ASSIGN a (SEM_ZX{size=szA,fromsize=szB,opnd1=b}))
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment