Implement readquad, writequad, fetchins and crack.
Signed-off-by: jmug <u.g.a.mariano@gmail.com>
This commit is contained in:
parent
55089bde91
commit
4c0d93398f
2 changed files with 44 additions and 6 deletions
|
|
@ -44,12 +44,38 @@ let mov_ri =
|
|||
InsFrag;
|
||||
]
|
||||
|
||||
let crack_tests =
|
||||
let open Asm in
|
||||
let pu = (Pushq, [~$42]) in
|
||||
let po = (Popq, [~%Rax]) in
|
||||
let ca = (Callq, [Ind2 Rax]) in
|
||||
let re = (Retq, []) in
|
||||
[
|
||||
("crack_pushq", assert_eqf (fun() ->
|
||||
crack pu) ([ Subq, [Imm (Lit 8L); Reg Rsp]
|
||||
; Movq, [~$42; Ind2 Rsp] ]));
|
||||
("crack_pop", assert_eqf (fun() ->
|
||||
crack po) ([ Movq, [Ind2 Rsp; Reg Rax]
|
||||
; Addq, [Imm (Lit 8L); Reg Rsp] ]));
|
||||
("crack_call", assert_eqf (fun() ->
|
||||
crack ca) ([ Subq, [Imm (Lit 8L); Reg Rsp]
|
||||
; Movq, [Reg Rip; Ind2 Rsp]
|
||||
; Jmp, [Ind2 Rax] ]));
|
||||
("crack retq", assert_eqf (fun() ->
|
||||
crack re) ([ Movq, [Ind2 Rsp; Reg Rip]
|
||||
; Addq, [Imm (Lit 8L); Reg Rsp] ]));
|
||||
|
||||
]
|
||||
|
||||
let provided_tests : suite = [
|
||||
|
||||
Test ("My Tests", [
|
||||
("assert", test_my)
|
||||
]);
|
||||
|
||||
Test ("Student provided crack tests", crack_tests);
|
||||
|
||||
|
||||
Test ("Student-Provided Big Test for Part III: Score recorded as PartIIITestCase", [
|
||||
|
||||
]);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue