\indexentry{parallel chip|see{parallel interface/\allowbreak{}timer}}{i} \indexentry{PIT@\PIT|see{parallel interface/\allowbreak{}timer}}{i} \indexentry{microprocessor!definition}{3} \indexentry{registers!data}{3} \indexentry{data registers}{3} \indexentry{program counter}{4} \indexentry{registers!program counter}{4} \indexentry{stack pointer}{4} \indexentry{registers!stack pointer}{4} \indexentry{accumulator}{4} \indexentry{registers!accumulator}{4} \indexentry{address register}{4} \indexentry{registers!address}{4} \indexentry{stack pointer}{4} \indexentry{registers!stack pointer}{4} \indexentry{program counter}{5} \indexentry{registers!program counter}{5} \indexentry{stack pointer}{5} \indexentry{registers!stack pointer}{5} \indexentry{status register|(}{5} \indexentry{registers!status|(}{5} \indexentry{overflow flag|(}{5} \indexentry{flag!overflow|(}{5} \indexentry{addition!overflow}{5} \indexentry{unsigned subtraction}{6} \indexentry{borrow}{6} \indexentry{zero flag}{6} \indexentry{flag!zero}{6} \indexentry{negative flag}{6} \indexentry{flag!negative}{6} \indexentry{extend flag}{6} \indexentry{flag!extend}{6} \indexentry{flag!overflow|)}{7} \indexentry{overflow flag|)}{7} \indexentry{carry flag|(}{7} \indexentry{flag!carry|(}{7} \indexentry{carry flag|)}{7} \indexentry{flag!carry|)}{7} \indexentry{status register|)}{7} \indexentry{registers!status|)}{7} \indexentry{sixteen-bit microprocessor@16-bit microprocessor}{7} \indexentry{chunks!byte-sized}{7} \indexentry{memory location}{7} \indexentry{address!range in 68000 system}{7} \indexentry{address}{7} \indexentry{address space}{7} \indexentry{addresses!used in \FLIGHT}{7} \indexentry{address space}{7} \indexentry{chunks!juicy|nn}{7} \indexentry{chunks!meaty|nn}{7} \indexentry{chunks!as preferred by Rover|nn}{7} \indexentry{memory map}{8} \indexentry{megabyte}{8} \indexentry{kilobyte}{8} \indexentry{monitor firmware}{8} \indexentry{firmware!monitor}{8} \indexentry{DUART@\DUART}{8} \indexentry{address}{8} \indexentry{memory location}{8} \indexentry{little end}{8} \indexentry{LSB@\LSB}{8} \indexentry{least significant byte}{8} \indexentry{big end}{8} \indexentry{MSB@\MSB}{8} \indexentry{most significant byte}{8} \indexentry{address!of data item}{9} \indexentry{big-endian}{9} \indexentry{little-endian}{9} \indexentry{big-endian}{9} \indexentry{asmhelp@\texttt{asmhelp}}{10} \indexentry{assembler!on line help}{10} \indexentry{assembly language instruction!format|(}{10} \indexentry{comments}{10} \indexentry{label}{10} \indexentry{opcode}{10} \indexentry{operands}{10} \indexentry{assembler}{11} \indexentry{assembly language instruction!format|)}{11} \indexentry{operand!size|(}{11} \indexentry{opcode!suffix|(}{11} \indexentry{W@\texttt{.W}|(}{11} \indexentry{B@\texttt{.B}|(}{11} \indexentry{L@\texttt{.L}|(}{11} \indexentry{operand!size|)}{11} \indexentry{opcode!suffix|)}{11} \indexentry{W@\texttt{.W}|)}{11} \indexentry{B@\texttt{.B}|)}{11} \indexentry{L@\texttt{.L}|)}{11} \indexentry{comments|(}{11} \indexentry{assembly language!comments|(}{11} \indexentry{comments|)}{12} \indexentry{assembly language!comments|)}{12} \indexentry{numbers!binary|(}{12} \indexentry{numbers!octal|(}{12} \indexentry{numbers!hexadecimal|(}{12} \indexentry{octal numbers|(}{12} \indexentry{hexadecimal numbers|(}{12} \indexentry{binary numbers|(}{12} \indexentry{numbers!binary|)}{12} \indexentry{numbers!octal|)}{12} \indexentry{numbers!hexadecimal|)}{12} \indexentry{octal numbers|)}{12} \indexentry{hexadecimal numbers|)}{12} \indexentry{binary numbers|)}{12} \indexentry{assembler!directive|(}{12} \indexentry{pseudo-operand|(}{12} \indexentry{variables!defining|(}{13} \indexentry{dc@\inst{dc}|(}{13} \indexentry{ds@\inst{ds}|(}{13} \indexentry{variables!defining|)}{13} \indexentry{dc@\inst{dc}|)}{13} \indexentry{ds@\inst{ds}|)}{13} \indexentry{assembler!directive|)}{14} \indexentry{pseudo-operand|)}{14} \indexentry{addressing mode}{14} \indexentry{effective address}{14} \indexentry{register direct addressing mode|(}{14} \indexentry{addressing mode!register direct|(}{14} \indexentry{register direct addressing mode|)}{14} \indexentry{addressing mode!register direct|)}{14} \indexentry{absolute addressing mode|(}{15} \indexentry{addressing mode!absolute|(}{15} \indexentry{absolute addressing mode!disadvantage}{15} \indexentry{addressing mode!absolute!disadvantage}{15} \indexentry{absolute addressing mode|)}{15} \indexentry{addressing mode!absolute|)}{15} \indexentry{immediate addressing mode|(}{15} \indexentry{addressing mode!immediate|(}{15} \indexentry{immediate addressing mode|)}{15} \indexentry{addressing mode!immediate|)}{15} \indexentry{address register indirect addressing mode|(}{15} \indexentry{addressing mode!address register indirect (\ARI)|(}{15} \indexentry{address register indirect addressing mode|)}{16} \indexentry{addressing mode!address register indirect (\ARI)|)}{16} \indexentry{address register indirect addressing mode with postincrement|(}{16} \indexentry{addressing mode!address register indirect with postincrement|(}{16} \indexentry{stack}{17} \indexentry{stack!pop}{17} \indexentry{address register indirect addressing mode with postincrement|)}{17} \indexentry{addressing mode!address register indirect with postincrement|)}{17} \indexentry{address register indirect addressing mode with predecrement|(}{17} \indexentry{addressing mode!address register indirect with predecrement|(}{17} \indexentry{address register indirect addressing mode with predecrement|)}{17} \indexentry{addressing mode!address register indirect with predecrement|)}{17} \indexentry{address register indirect with displacement addressing mode|(}{17} \indexentry{addressing mode!address register indirect with displacement|(}{17} \indexentry{address register indirect with displacement addressing mode|)}{17} \indexentry{addressing mode!address register indirect with displacement|)}{17} \indexentry{address register indirect with index addressing mode|(}{18} \indexentry{addressing mode!address register indirect with index|(}{18} \indexentry{address register indirect with index addressing mode|)}{18} \indexentry{addressing mode!address register indirect with index|)}{18} \indexentry{tables|(}{19} \indexentry{lookup tables|(}{19} \indexentry{arrays|(}{19} \indexentry{tables|)}{19} \indexentry{lookup tables|)}{19} \indexentry{arrays|)}{19} \indexentry{addressing modes|(}{19} \indexentry{addressing modes|)}{19} \indexentry{unconditional loop}{19} \indexentry{program counter}{19} \indexentry{registers!program counter}{19} \indexentry{conditional loop}{20} \indexentry{Bcc@\Bcc|(}{21} \indexentry{instruction!\Bcc|(}{21} \indexentry{instruction!conditional branch|(}{21} \indexentry{conditional branch|(}{21} \indexentry{Bcc@\Bcc|)}{21} \indexentry{instruction!\Bcc|)}{21} \indexentry{instruction!conditional branch|)}{21} \indexentry{conditional branch|)}{21} \indexentry{instruction!\inst{dbf}|(}{22} \indexentry{instruction!\inst{dbf}|)}{22} \indexentry{asmhelp@\texttt{asmhelp}}{23} \indexentry{assembler!on line help}{23} \indexentry{subroutine|(}{23} \indexentry{data structure}{24} \indexentry{subroutine|)}{24} \indexentry{stack|(}{24} \indexentry{stack!data structure}{24} \indexentry{data structure!stack}{24} \indexentry{stack!definition}{24} \indexentry{stack!operations}{24} \indexentry{stack!top of}{24} \indexentry{top of the stack}{24} \indexentry{stack pointer}{25} \indexentry{registers!stack pointer}{25} \indexentry{stack!top of}{25} \indexentry{top of the stack}{25} \indexentry{stack pointer}{25} \indexentry{registers!stack pointer}{25} \indexentry{stack|)}{25} \indexentry{stack!push|(}{25} \indexentry{push|(}{25} \indexentry{stack pointer}{25} \indexentry{registers!stack pointer}{25} \indexentry{stack pointer}{25} \indexentry{registers!stack pointer}{25} \indexentry{stack pointer}{25} \indexentry{registers!stack pointer}{25} \indexentry{instruction!\inst{movem}|(}{25} \indexentry{movem@\inst{movem}|(}{25} \indexentry{stack!push!many registers|(}{25} \indexentry{instruction!\inst{movem}|)}{26} \indexentry{movem@\inst{movem}|)}{26} \indexentry{stack!push!many registers|)}{26} \indexentry{stack!push|)}{26} \indexentry{push|)}{26} \indexentry{stack!pop|(}{26} \indexentry{pop|(}{26} \indexentry{stack pointer}{26} \indexentry{registers!stack pointer}{26} \indexentry{instruction!\inst{movem}|(}{27} \indexentry{movem@\inst{movem}|(}{27} \indexentry{stack!pop!into many registers|(}{27} \indexentry{instruction!\inst{movem}|)}{27} \indexentry{movem@\inst{movem}|)}{27} \indexentry{stack!pop!into many registers|)}{27} \indexentry{stack!pop|)}{27} \indexentry{pop|)}{27} \indexentry{transparency|(}{28} \indexentry{subroutine!and transparency|(}{28} \indexentry{macro!and transparency|(}{28} \indexentry{registers!limited number in \CPU}{28} \indexentry{interrupt}{28} \indexentry{transparency|)}{28} \indexentry{subroutine!and transparency|)}{28} \indexentry{macro!and transparency|)}{28} \indexentry{subroutine!parameters!register}{29} \indexentry{Transl macro@\texttt{Transl} macro}{29} \indexentry{macro!\texttt{Transl}}{29} \indexentry{subroutine!call}{29} \indexentry{instruction!\inst{bsr}}{29} \indexentry{bsr@\inst{bsr} instruction}{29} \indexentry{instruction!\inst{jsr}}{29} \indexentry{jsr@\inst{jsr} instruction}{29} \indexentry{stack pointer}{29} \indexentry{registers!stack pointer}{29} \indexentry{rts@\inst{rts}|(}{30} \indexentry{instruction!\inst{rts}|(}{30} \indexentry{program counter}{30} \indexentry{registers!program counter}{30} \indexentry{stack pointer}{30} \indexentry{registers!stack pointer}{30} \indexentry{rts@\inst{rts}|)}{30} \indexentry{instruction!\inst{rts}|)}{30} \indexentry{subroutine!and the stack}{30} \indexentry{stack!and subroutines}{30} \indexentry{subroutine!call|(}{30} \indexentry{stack pointer}{30} \indexentry{registers!stack pointer}{30} \indexentry{stack pointer}{30} \indexentry{registers!stack pointer}{30} \indexentry{program counter}{31} \indexentry{registers!program counter}{31} \indexentry{stack pointer}{31} \indexentry{registers!stack pointer}{31} \indexentry{program counter}{31} \indexentry{registers!program counter}{31} \indexentry{subroutine!call|)}{31} \indexentry{macros|(}{31} \indexentry{macros|)}{32} \indexentry{parallel chip!initialising|(}{32} \indexentry{sixty eight two thirty@68230!initialising|(}{32} \indexentry{Init@\texttt{Init} macro|(}{32} \indexentry{macro!\texttt{Init}|(}{32} \indexentry{dip-switches}{32} \indexentry{keypad}{32} \indexentry{Init@\texttt{Init} macro|)}{32} \indexentry{macro!\texttt{Init}|)}{32} \indexentry{parallel chip!initialising|)}{32} \indexentry{sixty eight two thirty@68230!initialising|)}{32} \indexentry{Delay macro@\texttt{Delay} macro|(}{33} \indexentry{macro!\texttt{Delay}|(}{33} \indexentry{Delay macro@\texttt{Delay} macro|)}{33} \indexentry{macro!\texttt{Delay}|)}{33} \indexentry{WriteSs macro@\texttt{WriteSs} macro|(}{33} \indexentry{macro!\texttt{WriteSs}|(}{33} \indexentry{WriteSs macro@\texttt{WriteSs} macro|)}{33} \indexentry{macro!\texttt{WriteSs}|)}{33} \indexentry{Transl macro@\texttt{Transl} macro|(}{33} \indexentry{macro!\texttt{Transl}|(}{33} \indexentry{Transl macro@\texttt{Transl} macro|)}{33} \indexentry{macro!\texttt{Transl}|)}{33} \indexentry{ShowNum@\texttt{ShowNum} macro|(}{33} \indexentry{macro!\texttt{ShowNum}|(}{33} \indexentry{ShowNum@\texttt{ShowNum} macro|)}{33} \indexentry{macro!\texttt{ShowNum}|)}{33} \indexentry{WNKeyPr@\texttt{WNKeyPr} macro|(}{34} \indexentry{macro!\texttt{WNKeyPr}|(}{34} \indexentry{WNKeyPr@\texttt{WNKeyPr} macro|)}{34} \indexentry{macro!\texttt{WNKeyPr}|)}{34} \indexentry{WKeyPr macro@\texttt{WKeyPr} macro|(}{34} \indexentry{macro!\texttt{WKeyPr}|(}{34} \indexentry{WKeyPr macro@\texttt{WKeyPr} macro|)}{34} \indexentry{macro!\texttt{WKeyPr}|)}{34} \indexentry{software interrupts|(}{34} \indexentry{interrupts!software|(}{34} \indexentry{trap instruction@\texttt{trap} instruction|(}{34} \indexentry{instruction!\texttt{trap}|(}{34} \indexentry{monitor routine}{34} \indexentry{firmware!monitor routine}{34} \indexentry{trap instruction@\texttt{trap} instruction|)}{34} \indexentry{instruction!\texttt{trap}|)}{34} \indexentry{software interrupts|)}{34} \indexentry{interrupts!software|)}{34} \indexentry{port!\IO|(}{35} \indexentry{IO ports@\IO ports|(}{35} \indexentry{input}{35} \indexentry{output}{35} \indexentry{port!C}{36} \indexentry{port!A}{36} \indexentry{port!\IO|)}{36} \indexentry{IO ports@\IO ports|)}{36} \indexentry{dip-switches}{37} \indexentry{LEDs@\LED{}s}{37} \indexentry{seven-segment display}{37} \indexentry{ports}{37} \indexentry{port!C}{37} \indexentry{base address}{37} \indexentry{parallel interface/\allowbreak{}timer!base address}{37} \indexentry{address decoder}{37} \indexentry{port!C}{37} \indexentry{port!C}{37} \indexentry{interface card}{37} \indexentry{parallel interface/\allowbreak{}timer!registers|(}{38} \indexentry{registers!PIT@registers!\PIT|(}{38} \indexentry{parallel interface/\allowbreak{}timer!registers|)}{38} \indexentry{registers!PIT@registers!\PIT|)}{38} \indexentry{parallel interface/\allowbreak{}timer!submode 1x|(}{38} \indexentry{submode 1x|(}{38} \indexentry{parallel interface/\allowbreak{}timer!initialising for bit \IO|(}{38} \indexentry{parallel chip!initialising|(}{38} \indexentry{sixty eight two thirty@68230!initialising|(}{38} \indexentry{port!C}{41} \indexentry{port!C}{41} \indexentry{parallel interface/\allowbreak{}timer!submode 1x|)}{41} \indexentry{submode 1x|)}{41} \indexentry{parallel interface/\allowbreak{}timer!initialising for bit \IO|)}{41} \indexentry{registers!data direction in \PIT|(}{41} \indexentry{data direction register|(}{41} \indexentry{registers!data direction in \PIT|)}{41} \indexentry{data direction register|)}{41} \indexentry{data direction register}{41} \indexentry{parallel chip!initialising|)}{41} \indexentry{sixty eight two thirty@68230!initialising|)}{41} \indexentry{jumper!selecting \LED{}s or seven-segment}{41} \indexentry{selecting \LED{}s or seven-segment}{41} \indexentry{keypad}{41} \indexentry{port!A}{41} \indexentry{port!B}{41} \indexentry{seven-segment display}{41} \indexentry{jumper}{42} \indexentry{port!C}{42} \indexentry{keypad|(}{42} \indexentry{keypad|)}{42} \indexentry{keypad!scanning|(}{42} \indexentry{pseudocode}{45} \indexentry{keypad!scanning|)}{45} \indexentry{keypad!debouncing|(}{45} \indexentry{debouncing a keypad|(}{45} \indexentry{keypad!debouncing|)}{46} \indexentry{debouncing a keypad|)}{46} \indexentry{keypad!detecting key press|(}{46} \indexentry{keypad!detecting key press|)}{46} \indexentry{program design}{47} \indexentry{pseudocode}{47} \indexentry{flow charts}{47} \indexentry{Microsoft Windows}{47} \indexentry{Terminal program@\textsf{Terminal} program}{47} \indexentry{interface card}{48} \indexentry{serial connection}{48} \indexentry{seven segment display}{48} \indexentry{jumper}{48} \indexentry{LEDs@\LED{}s}{48} \indexentry{editing|(}{48} \indexentry{editing|)}{48} \indexentry{assembling|(}{48} \indexentry{assembling|)}{49} \indexentry{downloading|(}{49} \indexentry{monitor firmware!prompt}{50} \indexentry{F prompt@\texttt{F\Gt} prompt!how to get}{50} \indexentry{downloading!doesn't work}{50} \indexentry{downloading|)}{50} \indexentry{program!running|(}{50} \indexentry{running a program|(}{50} \indexentry{program!running|)}{51} \indexentry{running a program|)}{51} \indexentry{simulator!what it is|(}{52} \indexentry{simulator!\simk!freely distributable}{52} \indexentry{simulator!what it is|)}{52} \indexentry{Educational Computer Board}{53} \indexentry{ECB@\ECB}{53} \indexentry{memory map}{53} \indexentry{address map}{53} \indexentry{firmware commands}{53} \indexentry{Tutor}{53} \indexentry{Tutor}{53} \indexentry{firmware commands!Tutor}{53} \indexentry{stack pointer}{54} \indexentry{registers!stack pointer}{54} \indexentry{software interrupts|(}{54} \indexentry{interrupts!software|(}{54} \indexentry{software interrupts}{54} \indexentry{interrupts!software}{54} \indexentry{Tutor firmware commands}{55} \indexentry{software interrupts|)}{56} \indexentry{interrupts!software|)}{56} \indexentry{simulator!use right one|(}{56} \indexentry{simulator!use right one|)}{56} \indexentry{asm68k@\asmk|(}{56} \indexentry{assembler!free|(}{56} \indexentry{asm68k@\asmk|)}{56} \indexentry{assembler!free|)}{56} \indexentry{assembler!\asmk!tutorial|(}{56} \indexentry{simulator!\simk!tutorial|(}{56} \indexentry{assembler!\asmk!tutorial|)}{58} \indexentry{simulator!\simk!tutorial|)}{58} \indexentry{assembler!\asmk!obtaining|(}{58} \indexentry{simulator!\simk!obtaining|(}{58} \indexentry{assembler!\asmk!obtaining|)}{59} \indexentry{simulator!\simk!obtaining|)}{59}