Skip to content

Commit ce080a4

Browse files
committed
Document Dd and Dq.
1 parent 04ebd36 commit ce080a4

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

www/notes/a86.scrbl

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff 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]

0 commit comments

Comments
 (0)