home *** CD-ROM | disk | FTP | other *** search
File List | 1990-09-21 | 14.3 KB | 331 lines |
- The 8080 Microprocessor, By Dave Hardy (Technical CBBS : 313 846-6127 )
-
-
- Thσ Inte∞ 808░ wa≤ thσ firs⌠ microprocesso≥ t∩ gaiε acceptancσ iε thσ ì
- microcompute≥ fielΣ anΣ did¼ iε fact¼ hel≡ creatσ thσ field« I⌠ i≤ ì
- currentl∙ thσ mos⌠ widel∙ useΣ microprocesso≥ simpl∙ becausσ i⌠ wa≤ firs⌠ ì
- t∩ reacΦ thσ marketplace« Thi≤ situatioε i≤ rapidl∙ changinτ a≤ superio≥ ì
- product≤ sucΦ a≤ thσ 808╡ anΣ Z8░ arσ gaininτ iε popularity.
-
- Thσ 8080¼ froφ aε architectura∞ standpoint¼ i≤ quitσ primitive¼ anΣ ì
- improveΣ processor≤ arσ beinτ designeΣ int∩ ne≈ products╗ bu⌠ duσ t∩ it≤ ì
- widσ acceptance¼ multiplσ sources¼ anΣ largσ linσ oµ suppor⌠ chips¼ thσ ì
- 808░ i≤ herσ t∩ stay.
-
- PURPOSE.
- Thσ 808░ instructioε se⌠ reflect≤ thσ contro∞ naturσ oµ thi≤ ì
- microprocessor« I⌠ i≤ heavil∙ loadeΣ witΦ datß transfe≥ instruction≤ anΣ ì
- ha≤ I╬ anΣ OU╘ instruction≤ fo≥ inpu⌠ anΣ outpu⌠ control« Conditiona∞ ì
- jumps¼ subroutinσ calls¼ anΣ subroutinσ return≤ (witΦ parit∙ eveε o≥ odΣ ì
- jum≡ instructions⌐ arσ mean⌠ t∩ bσ useΣ t∩ simplif∙ datß handling.
-
- Thσ 808░ ha≤ ß fe≈ datß processinτ characteristics¼ bu⌠ somσ ì
- importan⌠ feature≤ arσ missing« Somσ oµ thσ EDP-typσ instruction≤ includσ ì
- thσ AD─ anΣ SUBTRAC╘ instructions¼ thσ DOUBL┼ PRECISIO╬ AD─ instructioε ì
- (althougΦ thi≤ featurσ i≤ primaril∙ intendeΣ fo≥ addres≤ manipulations)¼ ì
- anΣ thσ DECIMA╠ ARITHMETI├ ADJUS╘ instruction« Lackinτ arσ thσ arithmetiπ ì
- shif⌠ instructions¼ signeΣ overflo≈ detection¼ anΣ thσ arithmetiπ ì
- conditiona∞ brancΦ instruction≤ sucΦ a≤ BRANC╚ GREATE╥ THA╬ O╥ EQUA╠ TO« ì
- Thesσ shortcoming≤ coulΣ no⌠ bσ easil∙ overcomσ becausσ oµ ß simplσ fac⌠ ì
- neve≥ mentioneΣ iε mos⌠ manufacturer≤ literature║ thσ 808░ i≤ no⌠ designeΣ ì
- t∩ d∩ signeΣ twosº complemen⌠ arithmetic« Thσ modularit∙ oµ thσ twosº ì
- complemen⌠ numberinτ systeφ make≤ man∙ twosº complemen⌠ operation≤ worδ ì
- (e.g« -▒ ½ ╖ ╜ 6)¼ bu⌠ thσ 808░ ha≤ n∩ wa∙ oµ tellinτ iµ ß resul⌠ i≤ ì
- negativσ o≥ positive« ┴ gooΣ examplσ oµ thi≤ i≤ thσ comparisoε oµ tw∩ ì
- number≤ t∩ seσ whicΦ i≤ larger« ┴ comparσ instructioε followeΣ b∙ aε ì
- examinatioε oµ thσ overflo≈ bi⌠ caε bσ performeΣ t∩ comparσ ß pai≥ oµ ì
- twosº complemen⌠ numbers« ┴ se⌠ overflo≈ bi⌠ mean≤ tha⌠ thσ registe≥ beinτ ì
- compareΣ t∩ thσ accumulato≥ wa≤ greate≥ thaε thσ accumulato≥ value¼ bu⌠ ì
- onl∙ iµ thσ value≤ werσ oµ likσ sign« Iµ thσ register≤ werσ oµ differen⌠ ì
- sign¼ thσ se⌠ overflo≈ bi⌠ woulΣ havσ jus⌠ thσ oppositσ meaning« Onσ mus⌠ ì
- thereforσ manuall∙ kee≡ tracδ oµ thσ sign≤ oµ number≤ iε thσ program« ì
- This¼ oµ course¼ involve≤ additiona∞ softwarσ anΣ executioε time.
-
- FEATURES.
- Thσ 808░ ha≤ ß register-orienteΣ architecturσ containinτ si° 8-bi⌠ ì
- register≤ tha⌠ ma∙ bσ useΣ individuall∙ o≥ iε pair≤ fo≥ 8- anΣ 16-bi⌠ ì
- operations« Aε accumulato≥ i≤ provideΣ t∩ ac⌠ a≤ ß primar∙ workinτ ì
- register.
-
-
-
-
-
-
-
-
-
-
-
-
- 1
-
-
-
-
-
- The 8080 Microprocessor, By Dave Hardy (Technical CBBS : 313 846-6127 )
-
-
- 8080 Programming Model
-
- Accumulator Flag Register
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- |_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|
- 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
-
- 'B' Register 'C' Register
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- |_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|
- 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
-
- 'D' Register 'E' Register
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- |_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|
- 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
-
- 'H' Register 'L' Register
- _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
- |_|_|_|_|_|_|_|_| |_|_|_|_|_|_|_|_|
- 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
-
- Program Counter
- __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
- |__|__|__|__|__|__|__|__|__|__|__|__|__|__|__|__|
- 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
-
- Stack Pointer
- __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
- |__|__|__|__|__|__|__|__|__|__|__|__|__|__|__|__|
- 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
-
- Thσ 808░ i≤ als∩ capablσ oµ stacδ operations¼ a≤ thσ instructioε se⌠ ì
- indicates« ┴ separatσ 16-bi⌠ stacδ pointe≥ keep≤ tracδ oµ thσ push-dowε ì
- stacδ tha⌠ reside≤ iε thσ combineΣ prograφ anΣ datß memory« Thσ stacδ i≤ ì
- usefu∞ fo≥ implementinτ subroutines« Becausσ subroutinσ returε addresse≤ ì
- arσ automaticall∙ pusheΣ dowε ont∩ thσ stacδ b∙ thσ subroutinσ call¼ ì
- subroutinσ nestinτ i≤ limiteΣ onl∙ b∙ thσ amoun⌠ oµ read-onl∙ memor∙ ß ì
- use≥ ha≤ provided« Thi≤ versatilσ featurσ make≤ morσ structureΣ program≤ ì
- possible¼ anΣ lend≤ itselµ t∩ ver∙ comple° contro∞ task≤ anΣ datß ì
- processing.
-
- Al∞ thσ 808░ feature≤ mentioneΣ s∩ fa≥ indicatσ tha⌠ thσ 808░ i≤ wel∞ ì
- suiteΣ fo≥ contro∞ tasks« Thσ interrup⌠ anΣ DM┴ capabilitie≤ oµ thi≤ chi≡ ì
- confirφ thi≤ suspicion« Aε asynchronou≤ vectoreΣ interrup⌠ capabilit∙ ì
- allow≤ externa∞ device≤ operatinτ througΦ aε 8080-serie≤ suppor⌠ chi≡ (thσ ì
- 825╣ priorit∙ interrup⌠ controller)¼ t∩ interrup⌠ prograφ executioε anΣ ì
- vecto≥ thσ prograφ t∩ aε appropriatσ servicσ routine« Man∙ device≤ caε ì
- efficientl∙ movσ datß iε t∩ anΣ ou⌠ oµ memor∙ usinτ thσ 8080'≤ DM┴ ì
- capabilit∙ anΣ anothe≥ suppor⌠ chip¼ thσ 825╖ DM┴ controller.
-
-
-
-
-
-
-
- 2
-
-
-
-
-
- The 8080 Microprocessor, By Dave Hardy (Technical CBBS : 313 846-6127 )
-
-
- Notσ tha⌠ thi≤ i≤ reall∙ ß 3-chi≡ microprocessor╗ tha⌠ is¼ i⌠ take≤ ì
- a⌠ leas⌠ threσ chip≤ o≥ correspondinτ discretσ hardwarσ t∩ builΣ ß usefu∞ ì
- microprocessor« Iε additioε t∩ thσ 8080¼ aε 822┤ clocδ generator-drive≥ ì
- anΣ aε 822╕ bidirectiona∞ bu≤ drive≥ arσ needed« Upgrade≤ froφ thσ 808░ ì
- microprocesso≥ havσ thσ function≤ oµ thσ tw∩ additiona∞ chip≤ buil⌠ int∩ ß ì
- singlσ package.
-
- INSTRUCTIONS.
- Thσ 808░ ha≤ abou⌠ 10░ instructions« Thσ exac⌠ coun⌠ varie≤ fo≥ eacΦ ì
- manufacture≥ duσ t∩ thσ wa∙ instruction≤ arσ counted¼ no⌠ becausσ oµ ì
- difference≤ betweeε thσ microprocessors« Instruction≤ var∙ froφ ▒ t∩ │ ì
- byte≤ iε length¼ dependinτ oε thσ addressinτ modσ oµ thσ instruction« Thσ ì
- instructioε se⌠ caε bσ brokeε int∩ seveε primar∙ group≤ a≤ showε below.
-
- DAT┴ TRANSFE╥ INSTRUCTION╙ movσ 8-bi⌠ datß froφ registe≥ t∩ register¼ ì
- anΣ als∩ t∩ memory« ┴ fe≈ 16-bi⌠ datß transfe≥ instruction≤ arσ provideΣ ì
- a≤ well« Aε interestinτ XCH╟ instructioε swap≤ tw∩ specifiπ registe≥ pair≤ ì
- (thσ D┼ register≤ witΦ thσ H╠ registers)« Tw∩ 16-bi⌠ transfe≥ instruction≤ ì
- (thσ LHL─ anΣ SHL─ instructions⌐ movσ datß froφ ß registe≥ pai≥ t∩ memory¼ ì
- o≥ froφ memor∙ t∩ ß registe≥ pair¼ bu⌠ thesσ operation≤ caε onl∙ bσ ì
- performeΣ oε thσ H╠ registe≥ pair« Thσ I/╧ transfe≥ instruction≤ (I╬ anΣ ì
- OUT⌐ arσ provideΣ fo≥ simplσ I/╧ handling.
-
- CONTRO╠ INSTRUCTION╙ (therσ arσ six⌐ arσ thσ usua∞ standards¼ anΣ ì
- includσ thσ NO╨ (no-operation)¼ HL╘ (halt)¼ anΣ interrup⌠ enablσ anΣ ì
- disablσ instructions.
-
- BRANC╚ INSTRUCTION╙ (29╗ conditiona∞ anΣ unconditional⌐ a⌠ firs⌠ ì
- glancσ seeφ overwhelming¼ bu⌠ close≥ investigatioε reveal≤ tha⌠ branchinτ ì
- i≤ onl∙ alloweΣ oε fou≥ conditions║ carry¼ zero¼ sign¼ anΣ parity« N∩ ì
- combineΣ conditiona∞ branche≤ sucΦ a≤ "branch-less-thanó arσ provided« ì
- Thi≤ make≤ signeΣ comparison≤ difficult.
-
- ARITHMETI├ INSTRUCTION╙ likσ thσ transfe≥ instruction≤ includσ 8- anΣ ì
- 16-bi⌠ operations« Thσ basiπ ADD'≤ anΣ SUBTRACT'≤ arσ presen⌠ plu≤ ß ì
- DECIMA╠ ARITHMETI├ ADJUS╘ instructioε i≤ included« Again¼ certaiε ì
- operation≤ onl∙ appl∙ t∩ certaiε registers« An∙ registe≥ caε bσ addeΣ t∩ ì
- thσ accumulator¼ bu⌠ memor∙ canno⌠ bσ addeΣ t∩ ß registe≥ withou⌠ firs⌠ ì
- goinτ througΦ thσ accumulator« Tw∩ arithmetiπ instruction≤ particularl∙ ì
- suiteΣ t∩ multiple-precisioε arithmetiπ arσ included║ thσ AD─ WIT╚ CARRY¼ ì
- anΣ SUBTRAC╘ WIT╚ BORRO╫ instructions.
-
- STAC╦ INSTRUCTION╙ worδ witΦ 16-bi⌠ registe≥ pair≤ rathe≥ thaε ì
- individua∞ registers« Pushinτ tw∩ register≤ ont∩ thσ stacδ a⌠ oncσ make≤ ì
- fas⌠ machinσ statu≤ savinτ possible.
-
- LOGICA╠ INSTRUCTION╙ arσ simila≥ t∩ thσ arithmetiπ operation≤ excep⌠ ì
- tha⌠ onl∙ 8-bi⌠ logica∞ operation≤ arσ officiall∙ possible« Onσ 16-bi⌠ ì
- logica∞ operation╗ however¼ i≤ possiblσ - althougΦ no⌠ immediatel∙ ì
- apparen⌠ froφ thσ instructioε set« B∙ usinτ thσ 16-bi⌠ AD─ instruction¼ ì
- thσ H╠ registe≥ pai≥ caε bσ addeΣ t∩ itself¼ resultinτ iε HL*2¼ o≥ aε ì
- arithmetiπ lef⌠ shift« Man∙ 808░ programmer≤ usσ thi≤ trick¼ especiall∙ ì
- wheε workinτ witΦ double-precisioε numbers.
-
-
-
-
- 3
-
-
-
-
-
- The 8080 Microprocessor, By Dave Hardy (Technical CBBS : 313 846-6127 )
-
-
- INCREMENT/DECREMEN╘ INSTRUCTION╙ arσ provideΣ fo≥ 1▓ discretσ ì
- operations« Upoε closσ examination¼ wσ seσ tha⌠ statu≤ flag≤ arσ se⌠ fo≥ ì
- 8-bi⌠ registe≥ increment≤ anΣ decrements¼ bu⌠ n∩ flag≤ arσ se⌠ fo≥ 16-bi⌠ ì
- ones« Thi≤ modσ oµ operatioε wa≤ choseε s∩ 8-bi⌠ datß statu≤ woulΣ no⌠ bσ ì
- destroyeΣ b∙ addres≤ manipulation« 16-bi⌠ increment≤ anΣ decrement≤ arσ ì
- typicall∙ employeΣ wheε usinτ indexeΣ addressinτ througΦ thσ H╠ registe≥ ì
- pair« WitΦ thσ curren⌠ statu≤ settinτ method¼ thσ 8-bi⌠ arithmetiπ ì
- operation≤ statu≤ caε bσ saveΣ whilσ obtaininτ thσ nex⌠ datß bytσ througΦ ì
- indexeΣ addressing« Thi≤ i≤ particularl∙ usefu∞ fo≥ multiple-precisioε ì
- arithmetiπ iε whicΦ thσ carr∙ froφ ß leas⌠ significan⌠ AD─ caε bσ saveΣ ì
- anΣ addeΣ witΦ thσ mos⌠ significan⌠ AD─ througΦ incrementeΣ inde° ì
- addressing« Thσ maiε probleφ witΦ thσ conditiona∞ statu≤ settinτ ì
- arrangemen⌠ i≤ tha⌠ i⌠ limit≤ thσ capabilitie≤ oµ thσ 16-bi⌠ registe≥ ì
- pairs.
-
- Thσ 808░ ha≤ fou≥ basiπ addressinτ modes« Direc⌠ modσ addressinτ ì
- allow≤ direc⌠ loadinτ o≥ storinτ oµ thσ accumulato≥ o≥ H╠ registe≥ pai≥ ì
- froφ thσ addres≤ specifieΣ iε thσ tw∩ byte≤ followinτ thσ instruction« Thσ ì
- immediatσ addressinτ modσ allow≤ thσ loadinτ oµ an∙ registe≥ o≥ registe≥ ì
- pai≥ witΦ thσ datß followinτ thσ instruction« ImplieΣ addressinτ i≤ useΣ ì
- iε operation≤ needinτ n∩ memor∙ referencσ (sucΦ a≤ register-to-registe≥ ì
- transfers)« IndexeΣ addressinτ allow≤ thσ content≤ oµ thσ BC¼ DE¼ o≥ H╠ ì
- registe≥ pair≤ t∩ bσ useΣ a≤ 16-bi⌠ pointer≤ t∩ thσ datß beinτ loadeΣ o≥ ì
- storeΣ iε memory« Auto-incremen⌠ anΣ auto-decremen⌠ addressinτ oε thσ ì
- stacδ pointe≥ arσ als∩ provideΣ b∙ thσ stacδ operations.
-
- INTERFAC┼ CHARACTERISTICS.
- Thσ inpu⌠ anΣ outpu⌠ instruction≤ simpl∙ pu⌠ aε 8-bi⌠ devicσ codσ oε ì
- thσ 16-bi⌠ addres≤ bu≤ (repeateΣ iε botΦ thσ higΦ anΣ lo≈ orde≥ addres≤ ì
- bytes)« Thσ outpu⌠ instructioε put≤ thσ presen⌠ accumulato≥ datß oε thσ ì
- datß bus¼ anΣ thσ inpu⌠ instructioε clock≤ whateve≥ i≤ oε thσ datß bu≤ ì
- int∩ thσ accumulator« Statu≤ line≤ indicatσ wheε I/╧ operation≤ arσ beinτ ì
- performed« Device≤ oε thσ bu≤ caε usσ thesσ line≤ t∩ loaΣ devicσ register≤ ì
- o≥ drivσ thσ datß bus« Becausσ addres≤ line≤ anΣ datß line≤ arσ availablσ ì
- outsidσ thσ processor¼ memory-mappeΣ I/╧ i≤ als∩ possible« B∙ buildinτ aε ì
- interfacσ devicσ tha⌠ act≤ a≤ ß memor∙ locatioε a⌠ ß certaiε address¼ datß ì
- caε bσ sen⌠ t∩ tha⌠ devicσ simpl∙ b∙ writinτ int∩ thσ device'≤ assigneΣ ì
- memor∙ location« Thσ 808░ contro∞ line≤ arσ configureΣ fo≥ simplσ direc⌠ ì
- memor∙ acces≤ interfacing« Thσ processo≥ caε g∩ int∩ ß holΣ statσ wheε ß ì
- DM┴ devicσ applie≤ ß signa∞ t∩ thσ 8080'≤ HOL─ line« Thσ 808░ promptl∙ ì
- disconnect≤ itselµ froφ thσ bus¼ allowinτ thσ DM┴ devicσ t∩ takσ ove≥ ì
- addres≤ anΣ datß linσ control≤ anΣ acces≤ memor∙ directly.
-
- SUPPORT.
- Thσ 808░ i≤ currentl∙ onσ oµ thσ bes⌠ supporteΣ microprocessor≤ iε ì
- regarΣ t∩ interfacσ chips« Becausσ eigh⌠ manufacturer≤ second-sourcσ thσ ì
- part¼ everythinτ froφ DM┴ controller≤ t∩ floppy-disδ controller≤ i≤ ì
- available.
-
- Softwarσ suppor⌠ i≤ equall∙ diversified« Editors¼ assemblers¼ anΣ ì
- high-orde≥ language≤ arσ available¼ no⌠ t∩ mentioε thσ popula≥ CP/═ ì
- operatinτ system.
-
-
-
-
-
- 4
-
-
-
-
-
- The 8080 Microprocessor, By Dave Hardy (Technical CBBS : 313 846-6127 )
-
-
- PHYSICA╠ CHARACTERISTICS.
- Thσ 808░ i≤ availablσ iε man∙ clocδ speed≤ ranginτ froφ ▒ t∩ ┤ Mhz« ì
- Duσ t∩ thσ intensσ competitioε iε thσ 808░ market¼ price≤ arσ ver∙ low¼ ì
- bu⌠ thσ fac⌠ tha⌠ thσ 822┤ anΣ 822╕ suppor⌠ chip≤ arσ needeΣ t∩ makσ thσ ì
- 808░ operationa∞ add≤ significantl∙ t∩ thi≤ cost.
-
- Thσ 808░ i≤ aε NMO╙ microprocessor¼ require≤ threσ D├ voltage≤ fo≥ ì
- power¼ anΣ dissipate≤ abou⌠ ß watt« Again¼ clocδ speeΣ anΣ versioε makσ ß ì
- biτ difference.
-
- TH┼ 8085
- TH┼ 808╡ i≤ aε upgradeΣ versioε oµ thσ 808░ tha⌠ incorporate≤ ß ì
- built-iε clocδ anΣ systeφ controller¼ thu≤ eliminatinτ thσ neeΣ fo≥ thσ ì
- tw∩ 808░ suppor⌠ chip≤ (thσ 822┤ clocδ generato≥ anΣ 822╕ systeφ ì
- controller)« I⌠ i≤ softwarσ compatiblσ witΦ thσ 808░ anΣ contain≤ tw∩ ì
- additiona∞ instructions¼ RI═ anΣ SI═ fo≥ interrup⌠ masδ contro∞ anΣ ì
- limiteΣ seria∞ I/O.
-
- AlthougΦ softwarσ compatiblσ witΦ thσ 8080¼ instructioε executioε ì
- time≤ arσ differen⌠ froφ thosσ oµ thσ 8080¼ anΣ recen⌠ change≤ oµ thσ 808╡ ì
- productioε mask≤ b∙ Inte∞ mean≤ tha⌠ no⌠ eveε al∞ 8085'≤ havσ thσ samσ ì
- characteristics.
-
- Man∙ oµ thσ "undocumentedó 808╡ instruction≤ tha⌠ arσ iε widespreaΣ ì
- usσ arσ n∩ longe≥ valiΣ becausσ oµ thσ ne≈ mask¼ s∩ usσ oµ an∙ ì
- instruction≤ no⌠ specificall∙ documenteΣ b∙ thσ chip'≤ manufacture≥ i≤ n∩ ì
- longe≥ ß gooΣ ideß fo≥ thσ 8085.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 5
-
-
-
-
-