Bit manipulation instructions: Difference between revisions

Content deleted Content added
DEC PDP-10: Note that those instructions are *byte* oad/store instructions. Not sure what the "[2]" is - a reference? - so change to attach the reference for the byte manipulation instructions to the third sentence, so it applies to all three.
Explain the PDP-10 byte operations in more detail, mentioning byte pointers. Indicate that the string manipulation instructions use byte pointers as well,and mention the decimal conversion and string editing instructions too. Use {{hyp}} for the hyphens in page numbers in the PDP-10 manual. Note that the string manipulation/decimal conversion/string editing instructions are only in later models (the same (microcoded) KL10-based and KS10-based models).
Line 65:
 
=== DEC PDP-10 ===
The DEC [[PDP-6]] and [[PDP-10]] had logical operations covering the full suite of 2-operand [[lookup table#Hardware LUTs|hardware lookup table]] (LUT2) [[Boolean function]]s{{sfn|pdp10|p=2.{{hyp}}38|at=2.4 Boolean Functions|}} (rather than the 3-operand functions that AVX512 and Power ISA have).
 
Later models of the PDP-10 had instructions to convert between [[Binary-coded decimal#Packed BCD|packed BCD]] and binary.{{sfn|pdp10|pages=2.{{hyp}}99|}}
 
Also present is unusual (variable-bit-length) byte load and store instructions that use ''byte pointers'' for memory operands. BothIn addition to a word address, the bit length (S) and the bit offset (P) couldof the byte from which to load or into which to store beare specified. These instructions can specify a byte size of 0-36, but a byte may not straddle a word boundariesboundary.{{sfn|pdp10|pages=2.{{hyp}}85-2.{{hyp}}89|loc=Byte manipulation|}} The Stringstring Manipulationsmanipulation,{{sfn|pdp10|pages=2{{hyp}}91-2{{hyp}}99|loc=2.12 haveString aManipulation|}} similarBCD/binary restriction.conversion,{{sfn|pdp10|pages=2{{hyp}}98-2{{hyp}}103|loc=2.9113 Decimal Conversion|}} and string editing{{sfn|pdp10|pages=2{{hyp}}104-2{{hyp}}112|loc=2.1214 String manipulationEditing|}} instructions in later models use byte pointers and have the same restrictions.
 
=== ARM ===