Skip to content

Commit

Permalink
Fixed issue with PUNPCKHBW looping forever
Browse files Browse the repository at this point in the history
  • Loading branch information
fay59 committed Dec 5, 2014
1 parent 179cdec commit ab38d18
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 21 deletions.
36 changes: 18 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,25 @@ immediately usable.

The `master` documentation set can be found on [this page][4].

As of now, these are the 63 instructions that do not parse at all:
As of now, these are the 63 instructions that do not parse at all. Most fail
because of one of these reasons:

* **CMPPD**—Compare Packed Double-Precision Floating-Point Values
* **CPUID**—CPU Identification
* **CVTDQ2PD**—Convert Packed Dword Integers to Packed Double-Precision FP Values
* **CVTPD2PS**—Convert Packed Double-Precision FP Values to Packed Single-Precision FP Values
* **CVTPS2PD**—Convert Packed Single-Precision FP Values to Packed Double-Precision FP Values
* **FADD/FADDP/FIADD**—Add
* **FDIV/FDIVP/FIDIV**—Divide
* **FDIVR/FDIVRP/FIDIVR**—Reverse Divide
* the page contains a frameless figure and the script freaks out;
* the page contains framed and frameless figures and the script freaks out;
* the page contains footnotes and the script freaks out;
* some table lines are abnormally thick;
* some tables seem to be all right but the script still freaks out.

The list is:

* **CMPPD**—Compare Packed Double-Precision Floating-Point Values
* **CPUID**—CPU Identification
* **CVTDQ2PD**—Convert Packed Dword Integers to Packed Double-Precision FP Values *(frameless figure)*
* **CVTPD2PS**—Convert Packed Double-Precision FP Values to Packed Single-Precision FP Values *(frameless figure)*
* **CVTPS2PD**—Convert Packed Single-Precision FP Values to Packed Double-Precision FP Values *(frameless figure)*
* **FADD/FADDP/FIADD**—Add *(abnormally thick table lines)*
* **FDIV/FDIVP/FIDIV**—Divide *(abnormally thick table lines)*
* **FDIVR/FDIVRP/FIDIVR**—Reverse Divide *(abnormally thick table lines)*
* **FIST/FISTP**—Store Integer
* **FXSAVE**—Save x87 FPU, MMX Technology, and SSE State
* **FYL2XP1**—Compute y ∗ log2(x +1)
Expand Down Expand Up @@ -63,7 +72,6 @@ As of now, these are the 63 instructions that do not parse at all:
* **PSLLW/PSLLD/PSLLQ**—Shift Packed Data Left Logical
* **PSRAW/PSRAD**—Shift Packed Data Right Arithmetic
* **PSRLW/PSRLD/PSRLQ**—Shift Packed Data Right Logical
* **PUNPCKHBW/PUNPCKHWD/PUNPCKHDQ/PUNPCKHQDQ**—Unpack High Data
* **ROUNDPD**—Round Packed Double Precision Floating-Point Values
* **SHUFPD**—Shuffle Packed Double-Precision Floating-Point Values
* **SHUFPS**—Shuffle Packed Single-Precision Floating-Point Values
Expand All @@ -86,14 +94,6 @@ As of now, these are the 63 instructions that do not parse at all:
* **XSAVEOPT**—Save Processor Extended States Optimized
* **XSAVES**—Save Processor Extended States Supervisor

Most fail because of one of these reasons:

* the page contains a frameless figure and the script freaks out;
* the page contains framed and frameless figures and the script freaks out;
* the page contains footnotes and the script freaks out;
* some table lines are abnormally thick;
* some tables seem to be all right but the script still freaks out.

I'm working on that.

[1]: http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-vol-2a-manual.pdf
Expand Down
5 changes: 4 additions & 1 deletion html/style.css
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
table { border-collapse: collapse }
th, td { padding: 0px 10px; border: 1px #ddd solid; vertical-align: top }
.notes { font-size: 9pt; }
svg { display: block; margin: 0px auto }
svg + h3 { text-align: center; }

.notes { font-size: 9pt; }
4 changes: 2 additions & 2 deletions pdftable.py
Original file line number Diff line number Diff line change
Expand Up @@ -299,7 +299,7 @@ def add_missing_line(x, y1, y2):
missing_lines.append(Rect(x, y1, x, y2))

topY = self.__rows[0]
botY = self.__rows[-1]
botY = self.__rows[-1] - 0.001
lastX = self.__columns[0]
lastY = botY
for line in vertical[1:]:
Expand All @@ -322,7 +322,7 @@ def add_missing_line(y, x1, x2):
missing_lines.append(Rect(x1, y, x2, y))

topX = self.__columns[0]
botX = self.__columns[-1]
botX = self.__columns[-1] - 0.001
lastX = botX
lastY = self.__rows[0]
for line in horizontal[1:]:
Expand Down
1 change: 1 addition & 0 deletions x86manual.py
Original file line number Diff line number Diff line change
Expand Up @@ -688,6 +688,7 @@ def __prepare_display(self):
else:
orphanCurves.append(curve)
curves = orphanCurves
orphanCurves = []
i = 0
while i < len(top_tables):
count = top_tables[i].item_count()
Expand Down

0 comments on commit ab38d18

Please sign in to comment.