Meta tags:
Headings (most frequently used words):
instructions, instruction, memory, addressing, modes, set, 11, code, operand, trap, floating, processor, access, to, pdp, architecture, contents, cpu, registers, optional, sets, example, speed, interrupts, macro, assembly, language, see, also, notes, references, further, reading, external, links, data, formats, management, expansion, general, register, program, counter, stack, double, single, branch, subroutine, miscellaneous, condition, operations, inconsistent, extended, eis, fis, point, fpp, commercial, cis, status, word, psw, other, spaces, and, exception, vector, address, assignments,
Text of the page (most frequently used words):
the (434), and (119), #instruction (67), pdp (52), register (48), for (47), address (44), instructions (43), bit (41), #processor (41), set (40), dest (40), edit (39), stack (39), memory (38), operand (38), reg (36), are (35), with (32), word (32), from (31), branch (30), that (27), addressing (27), opcode (27), code (26), src (26), floating (25), operation (24), bus (23), can (23), character (22), used (22), data (22), bits (22), modes (22), point (21), string (21), registers (21), not (20), then (20), two (19), condition (19), move (19), one (18), byte (18), this (17), program (17), its (17), which (17), next (17), space (17), mode (16), words (16), device (15), trap (15), psw (15), use (14), but (14), routine (14), return (14), deferred (14), mnemonic (14), digital (13), dec (13), pointer (13), location (13), pdf (12), pdp11 (12), example (12), value (12), add (11), table (11), also (11), grant (11), any (11), general (11), single (11), subroutine (11), bytes (11), shift (11), codes (11), specify (11), jsr (11), addresses (11), architecture (10), was (10), other (10), handbook (10), interrupt (10), lower (10), previous (10), order (10), status (10), all (9), language (9), macro (9), each (9), service (9), counter (9), into (9), source (9), some (9), mov (9), mark (9), autoincrement (9), page (8), system (8), sets (8), new (8), assembly (8), through (8), high (8), access (8), caller (8), contains (8), when (8), stored (8), double (8), top (8), always (8), wikipedia (7), index (7), systems (7), operations (7), cpu (7), vax (7), operating (7), alpha (7), equipment (7), corporation (7), have (7), eight (7), request (7), vector (7), three (7), models (7), time (7), destination (7), rts (7), 000002 (7), following (7), cis (7), number (7), arithmetic (7), left (7), clear (7), relative (7), toggle (6), management (6), control (6), 1979 (6), would (6), values (6), specified (6), specifies (6), priority (6), more (6), four (6), microseconds (6), case (6), precision (6), done (6), ascii (6), 000000 (6), first (6), six (6), than (6), fpp (6), result (6), right (6), such (6), offset (6), egister (6), contents (5), using (5), description (5), retrieved (5), line (5), 1975 (5), gordon (5), bell (5), links (5), what (5), user (5), will (5), same (5), input (5), output (5), higher (5), numbers (5), rotate (5), another (5), interrupts (5), even (5), cmpb (5), zero (5), test (5), upper (5), spaces (5), exception (5), bcd (5), packed (5), sign (5), pair (5), optional (5), format (5), option (5), most (5), subtract (5), fis (5), eis (5), group (5), carry (5), equal (5), jump (5), programmer (5), low (5), autodecrement (5), search (4), available (4), inc (4), 2025 (4), 1970 (4), module (4), hardware (4), basic (4), plus (4), programming (4), processors (4), 34a (4), assembler (4), mask (4), subsets (4), characters (4), called (4), similar (4), syntax (4), during (4), operates (4), before (4), level (4), has (4), does (4), speed (4), execute (4), adds (4), between (4), operands (4), char (4), make (4), beq (4), 000004 (4), 000040 (4), loop (4), get (4), movb (4), these (4), locations (4), second (4), unpacked (4), digits (4), strings (4), instance (4), 256 (4), movtc (4), copy (4), ebcdic (4), 197 (4), commercial (4), multiply (4), after (4), extended (4), were (4), indicating (4), halt (4), execution (4), arguments (4), taken (4), jmp (4), current (4), written (4), applied (4), endian (4), main (4), hide (4), sidebar (4), subsection (4), languages (3), view (3), contact (3), about (3), terms (3), may (3), organization (3), articles (3), related (3), unibus (3), interconnect (3), standard (3), unix (3), lsi (3), further (3), learned (3), edition (3), 002 (3), 001 (3), references (3), version (3), supported (3), include (3), made (3), responds (3), out (3), places (3), kernel (3), requests (3), br7 (3), lines (3), common (3), gate (3), chain (3), indicate (3), greater (3), read (3), according (3), fetch (3), where (3), since (3), toupper2 (3), nextc (3), bicb (3), blt (3), bgt (3), target (3), entry (3), parameters (3), null (3), terminated (3), 000006 (3), 000014 (3), 000034 (3), toupper (3), give (3), routines (3), like (3), need (3), includes (3), being (3), length (3), held (3), long (3), compare (3), only (3), formats (3), based (3), start (3), selecting (3), both (3), fill (3), reverse (3), purpose (3), subsequent (3), implemented (3), divide (3), performed (3), ashc (3), negative (3), mul (3), div (3), whether (3), 000240 (3), respectively (3), overflow (3), reset (3), emt (3), iot (3), bpt (3), placed (3), moved (3), coroutine (3), off (3), swap (3), sob (3), signed (3), flag (3), else (3), decrement (3), increment (3), above (3), numbered (3), encoding (3), sections (3), name (3), traps (3), effects (3), immediate (3), absolute (3), 32k (3), separate (3), logical (3), tools (3), privacy (2), policy (2), under (2), additional (2), site (2), non (2), commons (2), last (2), hidden (2), categories (2), unsourced (2), statements (2), short (2), wikidata (2), computer (2), architectures (2), manual (2), palcode (2), debugging (2), protocol (2), union (2), storage (2), key (2), tape (2), technical (2), special (2), dibol (2), tops (2), rsx (2), 1990 (2), 1983 (2), ceo (2), 1992 (2), robert (2), founder (2), emulator (2), strecker (2), minicomputers (2), external (2), 1973 (2), isbn (2), reading (2), appendix (2), 1981 (2), guide (2), differences (2), com (2), inconsistencies (2), july (2), modula (2), there (2), stated (2), notes (2), isa (2), see (2), successor (2), earlier (2), without (2), times (2), performs (2), once (2), points (2), saves (2), old (2), loads (2), br6 (2), typically (2), jumps (2), least (2), rti (2), just (2), granted (2), whenever (2), asserts (2), corresponding (2), daisy (2), devices (2), slots (2), br4 (2), might (2), lost (2), write (2), lowest (2), remains (2), none (2), merely (2), assert (2), application (2), sometimes (2), supervisor (2), varies (2), model (2), components (2), form (2), had (2), addressed (2), cache (2), tstb (2), alphabetic (2), scan (2), converting (2), 127627 (2), 000172 (2), 000141 (2), 000024 (2), 000026 (2), 000042 (2), 000207 (2), how (2), save (2), 000010 (2), 120127 (2), 000020 (2), 000030 (2), mfpi (2), mfpd (2), mtpi (2), mtpd (2), 11s (2), provide (2), multiple (2), handle (2), run (2), calls (2), information (2), mfps (2), mtps (2), mapped (2), programs (2), load (2), internal (2), types (2), represented (2), referred (2), per (2), numeric (2), convert (2), binary (2), comparisons (2), results (2), locc (2), occurrence (2), skpc (2), match (2), find (2), translation (2), pointing (2), define (2), lowercase (2), movtci (2), beginning (2), original (2), movec (2), movrc (2), either (2), flags (2), integers (2), needed (2), coded (2), selected (2), floats (2), float (2), incremented (2), ash (2), implementation (2), did (2), inconsistent (2), opcodes (2), could (2), nop (2), assembled (2), scc (2), ccc (2), 0002 (2), power (2), state (2), wait (2), resume (2), miscellaneous (2), error (2), reserved (2), assignments (2), 104 (2), unusual (2), later (2), pushes (2), executed (2), call (2), executing (2), returns (2), coroutines (2), pushed (2), however (2), specifying (2), pointers (2), past (2), feature (2), conditional (2), limited (2), range (2), branches (2), change (2), bne (2), around (2), 103 (2), 102 (2), 101 (2), 100 (2), less (2), 003 (2), extend (2), cmp (2), tst (2), generally (2), versus (2), defined (2), remainder (2), portion (2), must (2), sub (2), take (2), became (2), although (2), software (2), distance (2), indexed (2), onto (2), pop (2), auxiliary (2), specific (2), position (2), added (2), item (2), select (2), techniques (2), pages (2), physical (2), various (2), expansion (2), vectors (2), notation (2), extensions (2), little (2), present (2), tatus (2), developed (2), cisc (2), appearance (2), upload (2), file (2), changes (2), history (2), article (2), log (2), create (2), account (2), donate (2), menu (2), topic, mobile, cookie, statement, statistics, developers, conduct, legal, safety, contacts, disclaimers, text, apply, you, agree, registered, trademark, profit, wikimedia, foundation, creative, attribution, sharealike, license, rendered, parsoid, edited, september, 2026, utc, march, matches, introductions, https, org, php, title, 11_architecture, oldid, 1375766675, category, computers, template, wps, vt640, ultimate, entrepreneur, smp, research, center, reference, sixel, sequence, batch, regis, record, services, tool, maintenance, local, area, transport, dynamic, technique, federal, credit, interex, decus, decnet, wars, compaq, altavista, advfs, topics, tu81, star, coupler, rl02, rk05, ra90, mass, lk421, lk201, gold, flip, chip, firefly, dynamically, redefined, linear, decwriter, dectape, dectalk, decserver, vaxbi, turbochannel, synchronous, backplane, disk, massbus, standards, graphics, radix, national, replacement, hebrew, turkish, 1288, greek, 1287, multinational, 1100, command, mumps, focal, bliss, ozix, mica, taos, ultrix, vaxeln, vms, dsm, ias, rsts, dos, tss, cos, dms, decsys, vt525, 1994, vt520, 1993, vt510, vt1000, vt420, vt340, vt330, 1987, vt320, vt241, vt240, vt220, vt180, vt131, vt105, vt103, vt102, vt101, 1978, vt100, vt62, vt55, vt50, vt52, 1972, gt40, vt05, terminals, strongarm, microprism, 21464, 21364, 21264, 21164pc, 21164, 21068, 21066, 21064, nvax, mariah, rigel, soc, cvax, microvax, 78032, 1998, palmer, engineering, harlan, anderson, 1957, ken, olsen, people, fuzzball, papers, ersatz, bill, paper, preserving, series, bitsavers, 1969, singer, michael, 1980, york, john, wiley, sons, 9780471049050, machine, eckhouse, richard, morris, 583914, prentice, hall, englewood, cliffs, jersey, microcomputer, applications, timing, ke44a, ke44, acisp, june, 11024, january, 1982, kdf11, cites, family, stackexchange, 2024, dotzel, günter, 1986, megabytes, vrs, report, 421, chapter, imply, clearly, documentation, extension, wd16, loader, facilities, structurally, different, fewer, features, pal, punched, suggests, bad, drops, enters, honor, urgent, defer, interrupting, removing, caused, ends, restores, exceeds, bg4, bg7, physically, closer, sensing, concludes, pass, signal, propagates, giving, closest, chance, reply, occupy, adjacent, board, continuity, cards, inserted, empty, propagate, until, urgency, perhaps, desired, sector, heads, unless, quickly, printer, readiness, ready, indefinitely, needing, continues, end, operate, choice, privileged, configuration, timings, itself, depend, circa, total, complex, overlap, significantly, slower, ranges, 105776, 001416, 003008, 000016, 002403, 142776, 005266, 000757, demonstrates, restore, 010046, 010146, 016600, 112001, 000012, 001414, 003373, 000022, 002776, 142740, 000766, 000036, 012601, 012600, named, converts, asciiz, orthogonal, exchange, spl, 177, 776, thus, processed, sole, map, found, earliest, direct, final, provided, descriptors, avoiding, movs, manipulating, identical, now, fields, describe, representation, handling, digit, included, addp, addn, subp, subn, ashp, ashn, cmpp, cmpn, mulp, divp, cvt, well, handled, cmpc, comparing, finds, while, searches, trimming, blanks, scanc, spanc, masked, breaking, split, tables, forming, selects, part, uppercase, etc, easily, via, produce, complete, letters, translate, lookup, pointed, translations, conversions, placing, sees, look, performing, conversion, 456, 458, copies, indicated, third, containing, zeroes, moveci, instead, shorter, padded, longer, truncated, occurs, movrci, backwards, 409, designated, together, indicates, 406, 195, known, cis11, microcode, citation, cobol, decimal, predecessor, exponent, mantissa, ieee, 754, full, fdiv, 07503, fmul, 07502, fsub, 07501, fadd, 07500, operated, field, returning, stride, positive, integer, supplied, newer, over, life, subtle, arose, combinations, though, regarded, correct, affect, ordinary, autodecremented, among, clearing, setting, 000260, effectively, considered, fact, micro, programmed, referenced, every, combination, symbols, cleared, nothing, init, 000005, handler, 000001, fault, 000250, 000244, parity, 000114, fail, trace, illegal, limit, rtt, breakpoint, 000003, delete, exiting, directly, copied, finally, terminates, pops, multiplies, deleting, equivalent, rarely, convoluted, replaced, discard, entries, 0064, 00020, 004, exchanges, element, implement, wherever, lets, ordinarily, gain, autoincrementation, moves, resumes, 077, decremented, meant, grew, become, unreachable, forms, branched, bcs, blo, bcc, bhis, bvs, bvc, blos, bhi, minus, bmi, bpl, ble, bge, 000, calculation, allows, forward, preceded, logic, contrast, them, too, depending, x86, intel, 1067, sxt, 0067, 1066, 0066, 1065, 0065, 1064, aslb, 1063, asl, 0063, asrb, 1062, asr, 0062, rolb, 1061, rol, 0061, rorb, 1060, ror, 0060, 1057, 0057, sbcb, 1056, sbc, 0056, adcb, 1055, adc, 0055, negb, 1054, negate, neg, 0054, decb, 1053, 0053, incb, 1052, 0052, comb, 1051, complement, 0051, clrb, 1050, clr, 0050, swab, 0003, 0001, ten, exclusive, xor, 074, combined, 073, 072, compute, quotient, 071, 070, below, odd, due, limitations, utilize, oriented, variations, bisb, bis, bic, bitb, extends, groups, takes, few, identifying, lists, appended, symbol, stacks, contain, push, convention, enforced, provides, grows, downward, toward, items, elects, says, automatically, whose, combines, simpler, typical, referring, variables, destinations, uses, exclusively, assumptions, own, loaded, arbitrary, adjusted, reflect, computing, relocation, fly, relocated, independent, naturally, yield, useful, quantity, their, separately, means, follows, allocate, block, conceal, paging, issues, compiler, produces, swaps, individual, procedures, receive, overlaying, notably, rsx11, rely, support, hence, allowing, ram, moment, changing, mapping, virtual, increasing, limitation, work, reserves, begin, should, occur, errors, attempt, undefined, executes, yielded, hexadecimal, becoming, industry, octal, amount, attached, 160000, 177777, absence, populated, because, respond, originally, fully, expanded, 28k, kbytes, modern, pairs, including, middle, significant, aligned, smallest, unit, addressable, writable, half, often, procedure, frame, context, switching, dual, maps, cannot, cause, malfunction, storing, invalid, loating, oint, rocessor, ord, rogram, ounter, tack, ointer, cpus, wide, 1970s, eventually, overshadowed, powerful, 1980s, microprocessors, central, processing, units, open, mixed, endianness, branching, variable, type, design, years, ago, introduced, designer, free, encyclopedia, projects, printable, download, print, export, switch, legacy, parser, shortened, url, cite, permanent, link, here, actions, english, talk, 한국어, magyar, فارسی, español, čeština, personal, recent, community, portal, learn, help, contribute, random, events, navigation, content,
Text of the page (random words):
s low order byte or by a memory location words are specified by a register number or by the memory location of the low order byte which must be an even location in most instructions that take operands bit 15 is set to specify byte addressing or clear to specify word addressing in the lists in the following two sections the assembly language programmer appended b to the instruction symbol to specify a byte operation for example mov became movb a few instructions for example mark and sob were not implemented on some pdp 11 models double operand instructions edit the high order four bits specify the operation to be performed with bit 15 generally selecting word versus byte addressing two groups of six bits specify the source operand addressing mode and the destination operand addressing mode as defined above this group of instructions takes up 75 of available opcodes 15 12 11 9 8 6 5 3 2 0 opcode src register dest register opcode mnemonic operation 01 mov move dest src movb to register sign extends to bits 8 15 11 movb 02 cmp compare src dest 12 cmpb 03 bit bit test src dest 13 bitb 04 bic bit clear dest dest 1 src 14 bicb 05 bis bit set dest dest src 15 bisb 06 add add dest dest src 16 sub subtract dest dest src the add and sub instructions use word addressing and have no byte oriented variations due to encoding limitations some two operand instructions utilize an addressing mode operand and a register operand 15 9 8 6 5 3 2 0 opcode reg src dest register where a register pair is used written below as reg reg 1 the first register contains the high order portion of the operand and must be an even numbered register the next higher numbered register contains the low order portion of the operand or the remainder an exception is the multiply instruction reg may be odd but if it is the high 16 bits of the result are not stored opcode mnemonic operation 070 mul signed multiply reg reg 1 reg src 071 div signed divide compute reg reg 1 src reg quotient reg 1 remainder 072 ash arithmetic shift if src 5 0 0 then reg shift right reg src 5 0 else reg shift left reg src 5 0 073 ashc arithmetic shift combined 32 bit if src 5 0 0 then reg reg 1 shift right reg reg 1 src 5 0 else reg reg 1 shift left reg reg 1 src 5 0 074 xor exclusive or dest dest reg single operand instructions edit the high order ten bits specify the operation to be performed with bit 15 generally selecting byte versus word addressing a single group of six bits specifies the operand as defined above 15 6 5 3 2 0 opcode src dest register opcode mnemonic operation 0001 jmp jump pc ea src 0003 swab swap bytes of word dest 0 7 dest 8 15 0050 clr clear dest 0 1050 clrb 0051 com complement dest 1 dest 1051 comb 0052 inc increment dest dest 1 1052 incb 0053 dec decrement dest dest 1 1053 decb 0054 neg negate dest 0 dest 1054 negb 0055 adc add carry dest dest c flag 1055 adcb 0056 sbc subtract carry dest dest c flag 1056 sbcb 0057 tst test src src 1057 tstb 0060 ror rotate right c s 0 s 0 14 s 1 15 s 15 c 1060 rorb rotate right byte c s 0 s 0 6 s 1 7 s 7 c 0061 rol rotate left c s 15 s 1 15 s 0 14 s 0 c 1061 rolb rotate left byte c s 7 s 1 7 s 0 6 s 0 c 0062 asr arithmetic shift right dest dest 2 1062 asrb 0063 asl arithmetic shift left dest dest x 2 1063 aslb 1064 mtps move to psw psw src 0065 mfpi move from previous i space sp src 1065 mfpd move from previous d space sp src 0066 mtpi move to previous i space dest sp 1066 mtpd move to previous d space dest sp 0067 sxt sign extend if n flag 0 then dest 0 else dest 1 1067 mfps move from psw dest psw branch instructions edit in most branch instructions whether the branch is taken is based on the state of the condition codes a branch instruction is typically preceded by a two operand cmp compare or bit bit test or a one operand tst test instruction arithmetic and logic instructions also set the condition codes in contrast to intel processors in the x86 architecture mov instructions set them too so a branch instruction could be used to branch depending on whether the value moved was zero or negative the high order byte of the instruction specifies the operation bits 9 through 15 are the op code and bit 8 is the value of the condition code calculation which results in the branch being taken the low order byte is a signed word offset relative to the current location of the program counter this allows for forward and reverse branches in code 15 9 8 7 0 opcode c offset opcode c mnemonic condition or operation 000 1 br branch always pc pc 2 sign extend offset 001 0 bne branch if not equal z 0 001 1 beq branch if equal z 1 002 0 bge branch if greater than or equal n v 0 002 1 blt branch if less than n v 1 003 0 bgt branch if greater than z n v 0 003 1 ble branch if less than or equal z n v 1 100 0 bpl branch if plus n 0 100 1 bmi branch if minus n 1 101 0 bhi branch if higher c z 0 101 1 blos branch if lower or same c z 1 102 0 bvc branch if overflow clear v 0 102 1 bvs branch if overflow set v 1 103 0 bcc or bhis branch if carry clear or branch if higher or same c 0 103 1 bcs or blo branch if carry set or branch if lower c 1 the limited range of the branch instructions meant that as code grew the target addresses of some branches would become unreachable the programmer would change the one word br to the two word jmp instruction from the next group as jmp has no conditional forms the programmer would change beq to a bne that branched around a jmp sob subtract one and branch is another conditional branch instruction the specified register is decremented by 1 and if the result is not zero a reverse branch is taken based on the 6 bit word offset 15 9 8 6 5 0 opcode reg offset opcode mnemonic operation 077 sob subtract one and branch reg reg 1 if reg 0 then pc pc 2 offset subroutine instructions edit jsr calls a subroutine a group of six bits specifies the addressing mode the jsr instruction can save any register on the stack and load that register with the return address programs that do not need this feature specify pc as the register jsr pc address and the routine returns using rts pc if a routine is called with for instance jsr r4 address then the old value of r4 is pushed on the top of the stack and the address just after jsr ordinarily the return address is placed in r4 however the routine can gain access to values coded in line by specifying r4 or to in line pointers by specifying r4 the autoincrementation moves past these data to the point at which the caller s code resumes in either case such a routine specifies rts r4 to return to its caller the jsr pc sp form which exchanges the contents of pc with the top element of the stack can be used to implement coroutines once a routine places the entry address of the coroutine on the stack executing jsr pc sp saves pc on the stack and jumps to the coroutine both coroutines can then use additional jsr pc sp instructions to jump to the other coroutine wherever it left off this lets the two routines swap control and resume one another at the point of the previous swap 15 9 8 6 5 3 2 0 opcode reg src register opcode mnemonic operation 004 jsr jump to subroutine sp reg reg pc pc src the value of pc moved to reg is the address after the jsr instruction 15 3 2 0 opcode reg opcode mnemonic operation 00020 rts return from subroutine pc reg reg sp 15 6 5 0 opcode nn opcode mnemonic operation 0064 mark return from subroutine discard stack entries sp sp 2 x nn pc r5 r5 sp mark is used to delete parameters on the stack when exiting a subroutine mark is unusual in that it is placed on the return stack by the caller for later execution directly on the stack by the return routine first the caller pushes r5 on the stack next up to 63 word arguments may be placed on the stack the caller then adds the number of arguments to the mark opcode and pushes that result on the stack the value of sp is copied to r5 finally a jsr pc address is executed to call the subroutine after executing its code the subroutine terminates with an rts r5 this loads the value in r5 pointing to mark instruction on stack into the pc and pops the caller s return address into r5 the mark instruction is executed mark multiplies the number of arguments by 2 adds that to sp deleting the arguments and then returns to caller with the equivalent of an rts r5 the mark instruction is rarely used as its convoluted operation can be replaced by an add to sp 6 trap instructions edit 15 9 8 7 0 opcode s operation code opcode s mnemonic operation 104 0 emt emulator trap sp ps sp pc pc 30 ps 32 104 1 trap general trap sp ps sp pc pc 34 ps 36 15 0 opcode opcode mnemonic operation 000002 rti return from interrupt pc sp ps sp 000003 bpt breakpoint trap sp ps sp pc pc 14 ps 16 000004 iot i o trap sp ps sp pc pc 20 ps 22 000006 rtt return from trap pc sp ps sp trap and exception vector address assignments edit vector condition 000000 reserved 000004 illegal instruction bus error stack limit 000010 reserved instruction 000014 bpt instruction trace trap 000020 iot instruction 000024 power fail 000030 emt instruction 000034 trap instruction 000114 parity error 000244 floating point exception 000250 memory management fault miscellaneous instructions edit 15 0 opcode opcode mnemonic operation 000000 halt halt processor halt execution before next instruction 000001 wait wait for interrupt halt execution before next instruction resume execution at next interrupt handler 000005 reset reset unibus assert init on unibus for 10 ms all other devices reset to power up state 000240 nop no operation do nothing condition code operations edit 15 6 5 4 3 2 1 0 opcode 1 s n z v c opcode s mnemonic operation 0002 0 ccc clear condition codes clear codes according to n z v c bits 0002 1 scc set condition codes set codes according to n z v c bits the four condition codes in the processor status word psw are n indicating a negative value z indicating a zero equal condition v indicating an overflow condition and c indicating a carry condition instructions in this group were what digital called micro programmed a single bit in the instruction word referenced a single condition code the assembler did not define syntax to specify every combination but the symbols scc and ccc assembled an instruction that set or cleared respectively all four condition codes clearing or setting none of the condition codes opcodes 000240 and 000260 respectively could effectively be considered as no operation instructions in fact the nop mnemonic assembled into 000240 inconsistent instructions edit over the life of the pdp 11 subtle differences arose in the implementation of instructions and combinations of addressing modes though no implementation was regarded as correct the inconsistencies did not affect ordinary use of the pdp 11 for example in the instruction mov r5 r5 whether r5 is autodecremented before its value is used as the source varies among models 7 optional instruction sets edit extended instruction set eis edit the eis is an option for the 11 35 40 and 11 03 and was supplied as standard on newer processors mul div multiply and divide integer operand to register pair ash ashc arithmetic shift a register or a register pair for a positive number it will shift left and right for a negative one floating instruction set fis edit fis is an option for the pdp 11 35 40 and 11 03 single precision floats are operated on a stack addressed by a register operand the high order 13 bits specify the operation to be performed a three bit field specifies which register is used as the floating point operand stack pointer each float is two words and each floating point instruction operates on two floats returning one float as a result the selected stack pointer is incremented by a stride of 4 after each operation 15 3 2 0 opcode reg opcode mnemonic operation 07500 fadd floating add 4 rn 4 rn rn rn rn 4 07501 fsub floating subtract 4 rn 4 rn rn rn rn 4 07502 fmul floating multiply 4 rn 4 rn rn rn rn 4 07503 fdiv floating divide 4 rn 4 rn rn rn rn 4 floating point processor fpp edit this was the optional floating point processor option for 11 45 and most subsequent models full floating point operations on single or double precision operands selected by single double bit in floating point status register single precision floating point data format predecessor of ieee 754 format sign bit 8 bit exponent 23 bit mantissa with hidden bit 24 commercial instruction set cis edit the commercial instruction set known as cis or cis11 adds string and binary coded decimal bcd instructions used by cobol and dibol it was implemented by optional microcode in the 11 23 24 8 9 and by an add in module in the 11 44 10 and one version of the 11 74 citation needed strings are represented by two 16 bit integers stored in any two of the general purpose registers or as two 16 bit values in subsequent locations in memory one is designated n which is the length up to 64 kb and the other a which is a pointer to the start of the character data in memory together an n a pair indicates the location and length of the string 11 195 406 the string copy operations are movec movtc and movrc movec copies the character data in memory from the location indicated in one n a pair to the location in a second n a both in registers with a third register containing a fill character in its lower 8 bits and zeroes in its upper 8 bits moveci does the same but with the locations and fill character stored in memory locations instead of registers in all of the move instructions if the source is shorter than the destination the destination is padded with the fill character and if the source is longer it is truncated if either occurs the processor status flags are used to indicate this movrc movrci are similar but copy backwards to reverse the original string into the destination 11 409 movtc movtci translate characters during copy using a 256 byte lookup table the beginning of which is pointed to by another register in movtc or a 16 bit pointer in memory in movtci translations use the source string s character values as index numbers and copy the value in the translation table at that index into the destination string this can be used for ebcdic to ascii conversions by placing the corresponding ascii character code for the mapped ebcdic codes in the table the character e is character 69 in ascii and 197 in ebcdic so to convert ebcdic to ascii one would make a table of 256 bytes with a 69 in location 197 when movtc is called and sees a 197 in the original string it will look in location 197 of the table find the 97 and output that in the new string performing the conversion 11 456 458 string comparisons are handled by cmpc which sets the processor condition codes based on the results of comparing two strings locc finds the first occurrence of a character in a string while skpc searches for the first character that does not match used for trimming blanks at the start of strings for instance scanc and spanc are similar to locc and skpc but match any charac...
|