File tree Expand file tree Collapse file tree 1 file changed +42
-0
lines changed Expand file tree Collapse file tree 1 file changed +42
-0
lines changed Original file line number Diff line number Diff line change @@ -1045,6 +1045,23 @@ Each register plays the same role as in x86, so for example
10451045 ]
10461046}
10471047
1048+ @defstruct*[Jle ([x (or/c label? register?)])]{
1049+ Jump to label @racket[x] if the conditional flag is set to ``less than or equal.''
1050+
1051+ @ex[
1052+ (asm-interp
1053+ (prog
1054+ (Global 'entry )
1055+ (Label 'entry )
1056+ (Mov 'rax 42 )
1057+ (Cmp 'rax 42 )
1058+ (Jle 'l1 )
1059+ (Mov 'rax 0 )
1060+ (Label 'l1 )
1061+ (Ret)))
1062+ ]
1063+ }
1064+
10481065@defstruct*[Jg ([x (or/c label? register?)])]{
10491066 Jump to label @racket[x] if the conditional flag is set to ``greater than.''
10501067
@@ -1062,6 +1079,23 @@ Each register plays the same role as in x86, so for example
10621079 ]
10631080}
10641081
1082+ @defstruct*[Jge ([x (or/c label? register?)])]{
1083+ Jump to label @racket[x] if the conditional flag is set to ``greater than or equal.''
1084+
1085+ @ex[
1086+ (asm-interp
1087+ (prog
1088+ (Global 'entry )
1089+ (Label 'entry )
1090+ (Mov 'rax 42 )
1091+ (Cmp 'rax 42 )
1092+ (Jg 'l1 )
1093+ (Mov 'rax 0 )
1094+ (Label 'l1 )
1095+ (Ret)))
1096+ ]
1097+ }
1098+
10651099@defstruct*[Jo ([x (or/c label? register?)])]{
10661100 Jump to @racket[x] if the overflow flag is set.
10671101
@@ -1542,6 +1576,14 @@ Perform bitwise not operation (each 1 is set to 0, and each 0 is set to 1) on th
15421576 ]
15431577}
15441578
1579+ @defstruct*[Dd ([d integer?])]{
1580+ Psuedo-instruction for declaring 32-bits of initialized static memory.
1581+ }
1582+
1583+ @defstruct*[Dq ([d integer?])]{
1584+ Psuedo-instruction for declaring 64-bits of initialized static memory.
1585+ }
1586+
15451587@section{From a86 to x86}
15461588
15471589@defmodule[a86/printer]
You can’t perform that action at this time.
0 commit comments