Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
gdsl-toolkit
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Tanzeem Haque
gdsl-toolkit
Commits
0f671620
Commit
0f671620
authored
Oct 12, 2012
by
Julian Kranz
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
X86 RREIL Translator
- Added semantics of: LOOP/LOOPE/LOOPNE
parent
0b9cef22
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
36 additions
and
6 deletions
+36
-6
specifications/x86/x86-rreil-translator.ml
specifications/x86/x86-rreil-translator.ml
+36
-6
No files found.
specifications/x86/x86-rreil-translator.ml
View file @
0f671620
...
...
@@ -1036,8 +1036,7 @@ end
val
sem
-
jregz
x
reg
=
do
reg
-
sem
<-
return
(
semantic
-
register
-
of
reg
);
reg
-
size
<-
sizeof1
(
REG
reg
);
sem
-
jcc
x
(
/
eq
reg
-
size
(
var
reg
-
sem
)
(
imm
0
))
sem
-
jcc
x
(
/
eq
reg
-
sem
.
size
(
var
reg
-
sem
)
(
imm
0
))
end
val
sem
-
jcxz
x
=
sem
-
jregz
x
CX
...
...
@@ -1126,7 +1125,7 @@ val sem-lods x = do
sz
<-
sizeof1
x
.
opnd1
;
src
<-
read
sz
x
.
opnd1
;
dst
<-
return
(
semantic
-
register
-
of
(
dst
<-
return
(
semantic
-
register
-
of
(
case
sz
of
8
:
AL
|
16
:
AX
...
...
@@ -1138,6 +1137,37 @@ val sem-lods x = do
mov
dst
.
size
dst
src
end
val
sem
-
loop
-
loop
x
=
do
reg
<-
return
(
semantic
-
register
-
of
(
case
x
.
addr
-
sz
of
32
:
ECX
|
64
:
RCX
|
_
:
CX
end
));
sub
reg
.
size
reg
(
var
reg
)
(
imm
1
);
return
reg
end
val
sem
-
loop
x
=
do
reg
<-
sem
-
loop
-
loop
x
;
sem
-
jcc
x
(
/
neq
reg
.
size
(
var
reg
)
(
imm
0
))
end
val
sem
-
loope
x
=
do
reg
<-
sem
-
loop
-
loop
x
;
zf
<-
fZF
;
sem
-
jcc
x
(
/
and
(
/
d
(
var
zf
))
(
/
neq
reg
.
size
(
var
reg
)
(
imm
0
)))
end
val
sem
-
loopne
x
=
do
reg
<-
sem
-
loop
-
loop
x
;
zf
<-
fZF
;
sem
-
jcc
x
(
/
and
(
/
not
(
var
zf
))
(
/
neq
reg
.
size
(
var
reg
)
(
imm
0
)))
end
##
M
>>
val
sem
-
mov
x
=
do
...
...
@@ -2097,9 +2127,9 @@ val semantics insn =
|
LMSW
x
:
sem
-
undef
-
arity1
x
|
LOCK
x
:
sem
-
undef
-
arity0
x
|
LODS
x
:
sem
-
lods
x
|
LOOP
x
:
sem
-
undef
-
flow1
x
|
LOOPE
x
:
sem
-
undef
-
flow1
x
|
LOOPNE
x
:
sem
-
undef
-
flow1
x
|
LOOP
x
:
sem
-
loop
x
|
LOOPE
x
:
sem
-
loope
x
|
LOOPNE
x
:
sem
-
loopne
x
|
LSL
x
:
sem
-
undef
-
arity2
x
|
LSS
x
:
sem
-
undef
-
arity2
x
|
LTR
x
:
sem
-
undef
-
arity1
x
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment