微机原理第二版+田辉+课后答案1

微机原理第二版+田辉+课后答案1

ID:83481497

大小:5.16 MB

页数:66页

时间:2023-05-22

上传者:灯火阑珊2019
微机原理第二版+田辉+课后答案1_第1页
微机原理第二版+田辉+课后答案1_第2页
微机原理第二版+田辉+课后答案1_第3页
微机原理第二版+田辉+课后答案1_第4页
微机原理第二版+田辉+课后答案1_第5页
微机原理第二版+田辉+课后答案1_第6页
微机原理第二版+田辉+课后答案1_第7页
微机原理第二版+田辉+课后答案1_第8页
微机原理第二版+田辉+课后答案1_第9页
微机原理第二版+田辉+课后答案1_第10页
资源描述:

《微机原理第二版+田辉+课后答案1》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1J1KLMNOPQRᭆT⚪1-1.LMNOPᒹWXYZ8⌕\ᡂ^ᑖᔜ^ᑖḄ`abcdefghLMNOPᵫCPUஹnoᘤஹqᐭ/q-tuvQRwx\ᡂ஺CPUdLMNOPḄ᪶^{|ᐹᨵᑡbchO@O஺ᨚnᦪ஺ᢣṹ᡻ᢣᡠḄ஺noᘤ@᜜ᦪAᣚḄc஺9:᦮ZQRᡠ◤⌕Ḅ@ᑴ¢£஺¤¥ᐸ§^{.-Ḅ¨©ª«wxdNOPQRᔜbc¬ᙽ®¯⌴¢±Ḅ²ᐳ´⍝|ᵫwxᑴᘤஹwx.〈ᘤஹwxtᦈᘤ(v\¸x\ᡂ«noᘤdᵨᩭnoᦪஹº»Ḅ^{«I/OtudLMNOPḄ¾⌕\ᡂ^{ᙠCPU@᜜¿®À〉Âᵨ஺1-2.CPU᡻ᢣḄÄź஺hÆᢣஹ᡻ᢣ஺ᢣ᡻Ḅ`aźh(1)ÈÉ᡻º»º»NᦪᘤÊnJᩩᢣḄᙢᙬᢣÎÏÐÑ⌕᡻ḄᢣnÒᙠnoᘤḄXZᓫᐗ஺(2)ᑴᘤhѺ»NᦪᘤḄᙢᙬ〈ÕᙢᙬÖnᘤMAR,.-ÚÛ஺noᘤ᪷ÝᙢᙬÆ-ᩩᢣÞÅᦪwxᐭᢣÖnᘤIR஺(3)ᢣṹᘤṹᑴ▣ᑡ.Û᡻ᢣṹḄ஺(4)âᦋº»NᦪᘤḄᑁå஺1-3.æLᜐᳮᘤḄᙢᙬwx20êëḄᨬᜧìᙬí®g201-4.ᜐᳮᘤஹLMNOP@LMNOPQR¿®ᨵefᐵQghLᜐᳮᘤdLMNOPḄ᪶^{஺LᜐᳮᘤÂînoᘤஹqᐭ/q-tuvï¥Ḅ᜜᪀ᡂñ᦮ḄLMNOP஺(LMNOP8òÂîQRó{@᜜^ᜓ(õ᪀ᡂöñ᦮ḄLMNOPQR஺1-5.☢ᓝᑴᦪᑖúûᣚ;ᑴஹüᑴ@ᓝýᑴᦪh128,65535,1024128,ᑴ:10000000B,ᑴ2000,ᓝᑴ80H65535,ᑴ1111111111111111B,ᑴ1777770,ᓝᑴFFFFH1024,ᑴ10000000000B,ᑴ20000,ᓝᑴ400H1-6.☢ᑴᦪᑖᣚᓝᑴᓝᑴᦪ1011.1010B,1111101.11B:

21011.1010B,ᓝᑴ:11.625,ᓝᑴ:B.AH2=1O48576=1MB

31111101.11B,ᓝᑴ125.75,ᓝᑴ:7D.CH1-7.(5487)10=(0101010010000111)BCD=1010101101111B1-8.!"#8$%&ᑏ(ᑡᦪḄ+ṹஹ.ṹஹ⊡ṹ01ṹ15,-20,-27/32[+15]i«=00001111,[+15]a=00001111,[+15]=00001111,[+15]«=10001111fr[-20]®=10010100,[-20]),=11101011,[-20]b=11101100,[-20]f?=01101100[-27/32]®=1.1101100,[-27/32]s=1.0010011,[-27/32]ᩎ=1.0010100,[-27/32]®=o.ooioioo

432456789:;Ḅ5ᜐᳮᘤ?⚪2-1.086/8088CPUḄABC᪀ᵫFGHᑖIᡂKLMḄN⌕ABPQRK8086/8088CPUḄABC᪀ᵫSGHᑖIᡂTUVWᓫᐗBIUBusInterfaceUnit,᡻[H\EUExecutionUnit஺TUVWᓫᐔBIUḄN⌕ABP_`abcᘤஹI/OdW[ᦪef〈஺ᐹijkᢣmTUVWH

5ᑁbpk(ᢣmq〈ᑮᢣmsᑡ஺⚜kᢣm஺uᔠEU᡻[ᢣm%bkwxᦪ0y8Cz஺᡻[H\EUN⌕ABP_`ᢣm᡻[஺2-2.086CPUᢣmH\{sᑡ|ḄxᵨPQRKᙢᙬᘤḄxᵨPQRK8086/8088Ḅᢣmsᑡᑖ6/4"⁚%bc⚜kḄᢣm஺ᙢᙬᘤᵨᩭ20$ᱥᳮᙢᙬ஺8086/8088ᵨ20$ᙢᙬᙬ1M"⁚Ḅᑁb%CPUᑁHḄbᘤP16$%◤⌕ᵫ▬Ḅ9᪀ᩭ78(20$Ḅᱥᳮᙢᙬ%9᪀P20$Ḅᙢᙬᘤ஺2-3.e8086CPUḄC᪀%Ḅ᡻[஺!Ḅᢣmṹbᙠbᘤp஺᡻[%CPUᢥ᯿¢£⁚¤%:ᑡ¥ᑴ¦§%ᨵ©ᑣᙢ«¬[S஺{1BIUnbᘤpk(ᩩᢣmbᐭᢣmsᑡ஺{2EUnᢣmsᑡkᢣm¯᡻[ᢣm஺BIUᑭᵨTU±¢%nᑁbk3ᩩᢣmᡈk3³ᩩᢣmbᐭᢣmsᑡ஺{3EU᡻[ᩩᢣm஺᝞zµ☢ᩩᢣmᨵᑏbᘤḄ⌕¶%ᑣ·¸B1U¹µᩩᢣmCzᑏᑮbᘤp%ᯠq»kᢣmbᐭᢣmsᑡ஺4᝞ᢣm᡻[⌕¶¼kwxᦪ%ᵫBIU½ᡂ஺5EU᡻[»ᩩᢣm%¾¿{1ᜐÀÁ᡻[Âwx஺ᡠS%Ḅ᡻[PCPUkᢣmஹᑖ᪆ᢣmஹ᡻[ᢣm%»kᢣm᪵ÆÇ«¬஺ᙠᢣm᡻[p%ᑭᵨEUᑖ᪆ᢣmwxṹ0᡻[ᢣm¢ÈᓰᵨTUwx¢ḄᱯË%BIUÌÍᙢ·TU¼kbᘤpḄᢣmṹbᐭBIUᢣmsᑡ%nÎBIUaEU¯[Ïx%ÐÑCPU᡻[ᢣmḄÒÓ஺2-4.QRPTUᕜÕK8086/8088ḄÖ×TUᕜÕᵫØ¢£ᕜÕIᡂKÙCPUḄN¢£⚣᳛10MHz,ᑣ¢£ᕜÕÜÝKÖ×TUᕜÕÜÝKTUᕜÕBIU·:;TUÞbcᘤᡈI/OdW[ß¼/ᑏwxḄá-TUµâFUḄN¢£⚣᳛10MHz,ᑣ¢£ᕜÕ10s,Ö×TUᕜÕ4x8086/8088CPUḄÖ×TUᕜÕᵫ4¢£ᕜÕ{T1~T4Iᡂ%ãá4Tä᝱஺

610-7So2-5.¬$¦§RESETᑮᩭq%8086/8088CPUḄᑁHä᝱ᨵæᱯçK:;næᜐèé᡻[ᢣmK8086/8088:;p%¬$¦§RESETᑮᩭq%ᜐᳮᘤᑁHḄᔜbᘤ0᪗ìbᘤḄᑁíÌÍ!îCSFFFFHDS0000HSS0000HES0000HIP0000HᢣmsᑡFR0000H{Ἥðpñ|CS=FFFFH,IP=0000,ᡠS8086/8088ònᙢᙬFFFF0Hèé᡻[ᢣm஺2-6.ᙠTUᕜÕḄTI~T4ä᝱%CPUᑖ᡻[QRwxKᙠCPUḄ¼/ᑏTUᕜÕp%ᦪeᙠFä᝱(óᙠᦪeTUÂKCPUᙠô¢£ᕜÕᑁ½ᡂÙõÖ×wx%ᐹiPT1ä᝱CPUᔣÜ÷¬ᵨTUÂø〈ᙢᙬ¦ùᢣ(⌕ᙬḄbcᓫᐗᡈ᜜!dWᙢᙬ஺T2ä᝱CPUnTUÂûüᙢᙬ%ÎTUḄý16$îÑþᢙ᝱ᦪᜓ஺Ḅ4ᩈᕜ᝱஺᝱ᵨᩭ⊤ᐕ᝱ஹ"#$ᙠ&ᵨḄ'()ᘤ+஺T3᝱,CPUᙠḄ4-.ᕜ᝱/஺ᙠḄ0161ᵫCPUᑏḄᦪᡈὅ6)7ᘤᡈ1/089:ᐭḄᦪ஺T4᝱,ᕜ<=஺ᙠCPUḄ:/ᑏᕜᦪᙠT3᝱1ᙠᦪ?஺2-7.8086/8088:/ᑏᕜ@ᜐᳮᘤCᙠDBEFG᪵READY/IJKLCᔲNᐭTw஺A.T2B.T3C.T3OPQD.T2?ᓣQ2-8.8086/8088TUVW⌕ᨵᙢᙬ┝)ᘤ]◤⌕┝)_]`,a8086/8088TUᙢᙬஹᦪCbᵨḄᡠI⌕ᨵᙢᙬ┝)ᘤ┝)T1᝱Ḅᙢᙬ஺8086TU┝)20ᙢᙬdBHE/8088TU┝)20ᙢᙬ஺2-9.8086/8088ḄᨬᜧghTUijkᨬlghTUijᙠ<᪀?ᨵnop]qᑴᘤ8288ḄᵨCVW?`,ᨬᜧghTUijᙠ<᪀?kᨬlghTUḄt⌕opCuvwxyqᑴᘤ8288zxy{|ᘤ8289஺qᑴᘤ8288ḄᵨC,}ᩭ~8086/8088CPUḄ᝱/S2ஹSIஹS0ṹkᐭqᑴ/AENஹCENzIOBiᔠ/zqᑴ/஺2-10.ᐵ8086ᨬᜧghḄᱯ$ḄCDD஺A.◤⌕qᑴᘤ8288B.〉ᵨᓫxᜐᳮTUC.ᵫghLD.M/1OIᵨ2-11.8086/8088ᨵᨬlzᨬᜧghgh"DBEᨬlgh஺

7A.MN/MX=OB.MN/MX=1B.INTR=1D.HOLD=nln

82-12.8086ᨬlghzᨬᜧghḄt⌕¡pC(D).A.ᙢᙬḄᦪ£B.I/O89ᦪ£C.ᦪᦪ£D.ᓫᜐᳮᘤk¤ᜐᳮᘤḄ£2-13.PCᙢᙬḄᵨC(C)஺A.ᵨ⌱§)7ᘤᓫᐗB.ᵨ⌱§ḄᜓC.ᵨ©)7ᘤᓫᐗzI/Oᜓ9ᵯ«Ḅ⌱§ᙢᙬD.I?¬$2-14."#SS=C000H,SP=2000H,AX=2355H,BX=2122H,CX=8788H,ij"#᪘⚔ḄᱥᳮᙢᙬC¤±]²³.᡻PUSHAX,PUSHBX,POPCX3ᩩᢣ·ᚮ᪘ᑁº»VW¼ᓄ]AXஹBXஹCXḄᑁºCVW]2-15.8086/8088Ḅqᑴ᪗¿ᨵ(C)y஺A.IB.2C.3D.42-16.ÀᕒÂ:ᑏḄ()ᘤC(C)஺A.DIB.CXC.IPD.SP2-17.(AH)=03H,(AL)=82H,ÃᢣÄALzAHḄᑁºvzÅ·᪗¿CFஹAFஹOF,SFஹIFzPFḄ᝱஺`,(AH)=00000011H+(AL)=10000010H10000101CF=0ஹAF=0ஹOF=0ஹSF=1>IFLzPF=0(AH)=00000011H_(AL)=1000001OH10000001CF=1ஹAF=0>OF=0ஹSF=1ஹIFLzPF=12-18.8086CPUḄ᪗¿()ᘤFRᨵ_᝱᪗¿zqᑴ᪗¿]᪗¿ᔜᨵVWÇÈ]Éᦟᩞ஺2-19.BHE/ḄᵨCVW]Ì8086TUÍÎ)7ᘤᙠ:ᑏxyÏzÏ⁚ḄÑBHEzAoḄ᝱஺`,8ᦪᐕ/᝱bᵨ/஺ᕜḄTi᝱8086ᙠBHE/S70ᵯÒ,⊤8ᦪADis-ADs?Ḅᦪᨵᦔ஺8086TUBHEzADo<ᔠÕᩭᢣ"#〈Ḅᦪᙠ?ÄIn×h1஺(Éᦟᩞ⊤2-4-1)8088TUᵫᦪØᨵ8)ᙠ8k08ḄÎ⚪஺ᡠIÚ(Û34/)ÜLÈÝÞÂ஺ᙠᨬᜧghEÚឤᵯÒàᙠᨬlghᑣLÈSSO஺2-20.8086ᔣᏔᙢᙬ)7ᓫᐗ0〈xyÏ⁚ᦪEä᡻xyᕜᙠÛxyT

9᝱ALE1,Ao0,WR1

102-21.8086TUVW⌕})7ᘤᑖ'íᳮ]ᐸᑖ'íᳮC᝞nð1Ḅ]`,8086/8088ᙢᙬC20ḄCPUḄ()ᘤC16Ḅ20ᙢᙬôõᵨ16()ᘤ⊤ᡠIöäᑖ'஺÷øᨵùṹ'ஹᦪ'ஹᚮ᪘'ஹúû'஺'ᑁᙢᙬ16üy'Ḅᜧlᨬᜧý64KB▭ᵨ᪷◤⌕ᩭᜧ஺2-22.ᓫᐗḄᙢᙬ!4500H,'(ᙢᙬ!4500H,)ᓫᐗḄᱥᳮᙢᙬ,-./0149500H2-23.ᢣ56789:ᘤCS=FFFFH,ᢣ5ᢣ┐:ᘤ1P=FFOOH,DE)ᢣ5Ḅᱥᳮᙢᙬ!-./ᢣᔣGHᱥᳮᙢᙬḄCSIJIPI,L•Ḅᔩ/OPQRS01)ᢣ5Ḅᱥᳮᙢᙬ!1CS+IPFFFF0H+FF00H=l0FEF0HGHᱥᳮᙢᙬḄCSIJIPI,LHḄᔩ:YL•2-24.Z!8086CPUḄ^ᦪ`aᙠᑁḄᏔᙢᙬᓫᐗEef᣸ᙠ᜻ᙢᙬᓫᐗEᡠᐸᚮ᪘ᢣ┐SP(A)஺A.ᨬq,ᢣᔣᏔᙢᙬᓫᐗB.ᢣᔣrsᙢᙬᓫᐗC.tuᢣᔣᏔᙢᙬᓫᐗD.tuᢣᔣ᜻ᙢᙬᓫᐗ

11w3x8086/8088Ḅᢣ5yz{⚪3-1.OPQRS8086/8088}ᜐᳮᘤḄᔜᙬ஺(ᶍ)3-2.ᎷDS=1000H,SS=9000H,SI=100H,BX=20H,BP=300H,ᢣᑡᢣ5Ḅᦪ,ᙬ/ᦪᘤEᐸᱥᳮᙢᙬ,-./1MOVCX,[1000H]2MOVAX,100H(3)MOVAX,[BX]4MOVBL,CL(5)MOVAL,[BP+5]6MOVAL,[BP+SI+2]01(1)ᦪ!ᙬEᐸᱥᳮᙢᙬ=DS*16+1000H=11000H(2)ᦪ!ᓽᙬ(3)ᦪ!:ᘤᙬEᐸᱥᳮᙢᙬ=DS*16+(BX)=10020H(4)ᦪ!:ᘤᙬ(5)ᦪ!ᙬᙬEᐸᱥᳮᙢᙬ=SS*16+(BP)+5=90305H(6)ᦪ!¡ᙬ¢ᙬᙬEᱥᳮᙢᙬ=$$*+(BP)+(SI)+2=90402H஺3-3.ᙠ8088/8086}¥Ḅᑁᱥᳮᙢᙬ34780HᜐEaᨵ^⁚ᦪ58H,DS=3000H,Oᑏᢣ5©ᑡª)^⁚ᦪ〈ᐭAL:ᘤ஺⌕ᑖ¯°ᵨ±Y²Ḅᙬ஺01(1)ᙬ1MOVAL,[4780H](2):ᘤᙬ1MOVBX,4780HMOVAL,[BX](3)ᙬᙬ1MOVSI,4782HMOVAL,[SI-2]3-4.ᑨ´µ8086/8088ᢣ5Ḅᑏ¶,ᔲ¸1(1)MOV[AX],BH([SP],AX(3)MOV[SP],AX3(5)OUT10H,CL(7)PUSHAL)(9)MOVES:[S1],DI01MM(1)MOV[AX],BH0(2)MOV[BP],AX

12(2)MOV[BP],AX(4)ᵨMOV[DI],

13(4)MOV[DI][SI](X)Z(5)OUT10H,CL(x)(6)INCWORDPTR[SI](-)(7)PUSHAL(8)CMP36H,AL)(x(9)MOVES:[SI],DI(10)MOVBYTEPTR[BX],800(X)3-5.ºᨵᐵ:ᘤ¼ᓫᐗḄᑁ½᝞1DS=2000H,BX=0100H,AX=1200H,SI=0002H,[20102H]=33H,[20103]=44H,[21200]=9BH,[21201H]=99H,[21202H]=0AAH,[21203H]=88Ho¿1ᑡᔜᩩᢣ5ᓫÁ᡻ÃÄÅᐵ:ᘤᡈᓫᐗḄᑁ½!-./(1)MOVAX,1800H2MOVAX,BX3MOVBX,[1200H]4MOVDX,[BX+1100H]5MOV[BX+SI],AL6MOVAX,[BX+SI+1100H]01(1)AX=1800H2AX=BX=0100H3BX=999BH4DX=999BH5[20102H]=AL=00H6AX=88AAH3-6.SS=OFFOOH,SP=OOOOH,OÇᑏÈ©ᱏªÊË16ᦪ1122HJ3344HᐜÄÌᐭᚮ᪘EÍÎᚮ᪘ÏJSPᑁ½ᓄḄÑÈÒÓÔ᪗ᓫᐗḄᙢᙬ0111IMOVAX,1122HPUSHAXLOFFOO:OFFFEHτ22H1SPOFFOO:OFFFFH11HMOVAX,3344HPUSHAX

14OFFOO:OFFFCH44HSPOFFOO:OFFFDH33HOFFOO:OFFFEH22HOFFOO:OFFFFH11H3-7.ºᙠᦪ'(ᙢᙬ!2000Hᓫᐗ×ØḄᙢÙÚaÛ0~15ḄÜI஺OᑏᒹÞᨵXLATᢣ5Ḅᢣ5©ᑡEᵨᩭßà0á15ãᑁḄËᦪNḄÜIºNḄIaᙠCL:ᘤ஺01MOVBX,2000HMOVAL,CLXLAT3-8.OᵨäᓫḄåᩩᢣ5æᡂ6AL:ᘤḄèéêᦪë12Ḅ஺⌕tuᵨ(ஹ¢¶¼MOVᢣ5஺01MOVAH,0MOVCL,2SHLAX,CL;ALí(ÊEÅ8ë4MOVBX,AX;ïSHLAX,1;ALðí(HEÅ8ñᦪë8ADDAX,BX;Å8ñᦪë123-9.È©᝞:MOVAX,1234HMOVCL,4ROLAX,CLDECAXMOVex,4MULex¿1᡻Ãæòᩩᢣ5ÄEAX=?CF=?SF=?ZF=?ºᙠ᡻ÃwHᩩᢣ59CF=SF=ZF=O.01AX=8D00HCF=0,SF¼ZFY஺3-10.᡻Ã᝞±ᩩᢣ5Ä1MOVAH,0MOVAL,7ADDAL,5¿11ð᡻ÃHᩩóôᔠBCDṹ¢¶÷᦮ᢣ5AAAÄEAXḄᑁ½!-./2⚪Ḅ±ᩩᢣ5ÄùúḄ,HᩩôᔠBCDṹ¢¶÷᦮ᢣ5DAA,ᑣ᡻ÃæDAAÄAXḄᑁ½!-./

150:

16(1)AX=0102H(2)AX=0012H3-11.AX=14C6H,BX=80DCH,¿᡻ÃᑡÈ©ÄEÈ©üᔣsᜐ/ADDAX,BXJNCL2SUBAX,BXJNCL3JMPL4ýØAX=B568H,BX=54B7H,þÿ᝞ᔣᙢᙬ᪗L2ᜐ஺AX=B568H,BX=54B7H,ᔣᙢᙬ᪗L4ᜐ஺3-12.᝞ᡂMOVAX,5000HMOVDS,AXMOVCX,100MOVAX,0MOVSI,AXSTART:ADDAX,[SI+1000H]ADDSI,2LOOPSTARTMOV[200H],AXᡂᑁ5000H:1000HḄ100!ᦪ#Ḅ$%&'(%ᦪ)5000H:200Hᜐ஺313ஹ+ᑏ-ᱏ/&(01ᦪ#/23ᙢᙬ42000HḄ100!⁚ᓫᐗᑁ8923ᙢᙬ43000HḄ100!⁚ᓫᐗᑁ8:;ᣚ&ᓽ23ᙢᙬ2000H>?ᓫᐗᑁ8923ᙢᙬ3000H>?ᓫᐗᑁ8;ᣚ&23ᙢᙬ2001H>?ᓫᐗᑁ8923ᙢᙬ3001H>?ᓫᐗᑁ8;ᣚ&@ABC஺MOVSD&2000HMOVDD&3000HMOVCX100ZREPTO:MOVAL,[SI]MOVBL,[DI]MOV[DI],ALMOV[SI]BLzINCSIINCDILOOPREPTO

173-14.ᙠᦪ#/G23ᙢᙬᑖI41000HJ2000HḄKLᑁᨵN10!⁚Ḅ!

18OP&+Qᑏ-/ᩭSTUN!OP஺᝞VUN!OPWX&ᑣZ8000H:1000Hᜐ,ᔲᑣ]᡻_஺MOVSI,1000H;aᐭcP23ᙢᙬMOVDI,2000H;aᐭdḄP23ᙢᙬMOVCX,10;aᐭ!OPefCLD;gᔣ᪗hijREPECMPSBJCXZCONTIJMP8000H:1000HCONTI:NOP3-15.ᑭᵨPmnᢣp(ᦪ#/G23ᙢᙬ1000HᜐḄ100!⁚3qᑮᦪ#/23ᙢᙬ41050HḄᙢg஺MOVex,100MOVSI,1000H+99MOVDI,1050H+99STD;ᙢᙬstguv〈REPMOVSB;ᦪ#ᙽv〈yPmnz

19{4|}Q~⚪4-1.᝞VARIDB4VAR2DB10CNST1EQU12+ᢣᑡᢣpḄ┯:(1)MOVCNST1,CX(2)MOVVARI,AX(3)CMPVARI,VAR2(4)CNST1EQU24y1zdḄmnᦪWᓽᦪy2zVARIᓫᐗ4!⁚B&AX4!y3z8086/8088GNᑁᓫᐗWST;y4zX-OWᐕᵨEQUi஺4-2.᝞.ᦪ#/:DATASEGMENTAT1000HORG100HVALIDB11HVAL2DW22H,33HVAL3DB5DUP(44H)DATAENDS+ᢣᦪ#/G23ᙢᙬ100Hᑮ109HḄᔜ¡ᓫᐗḄᑁ8஺100H11H101H22H102H00H103H33H104H00H105H44H106H44H107H44H108H44H109H44H4-3.>)☢Ḅᦪ#&ᑏᔜᩩᢣp᡻_¤Ḅ¥V:DATASEGMENTORG01OOHAAAADW0A244H

20BBBBDB33H,66H,92H,29HCCCCEQUWORDPTRBBBB

21DDDDDB'ABCD'EEEEEQUS-DDDDDATAENDS(I)MOVAX,AAAAAL=()(2)MOVBX,CCCCBH=()(3)MOVDX,OFFSETDDDDDL=()(4)MOVCL,EEEECL=()¦n.(1)MOVAX,AAAAAL=(44H)(2)MOVBX,CCCCBH=(66H)(3)MOVDX,OFFSETDDDDDL=(06H)(4)MOVCL,EEEECL=(()41-1)44.+Q(ᑁ50000Hᑮ5FFFFHḄ§ᓫᐗᙳᑏᐭᦪ55H,'©⌲ᓫᐗ«ST&¬ᑏᐭḄ9«Ḅᔲ-஺ᐰ>&ᑣ(AL¯0°⌕ᨵ┯&²IJ(AL¯0FFH஺STARTMOVAX,5000HMOVDS,AXMOVSI,0MOVCX,OFFFFHLOOP1MOVBYTEPTR[SI],55HMOVAL,[SI]CMPAL,55HJNZLOOPERRLOOP2:INCSILOOPLOOP1MOVBYTEPTR[SI],55Hᨬ¤-ᓫᐗMOVAL,[SI]CMPAL,55HJNZLOOPERRMOVAL,0;ᐰ>JMPLOOPOUTLOOPERR:MOVAL,OFFHLOOPOUT:NOP4-5.Qᑏ--µ&>ALGḄASCII!O¶·Ꮤ᪥ºj(bit7),ᓽ»ALGḄ¼”Ḅᦪ4Ꮤᦪ஺ADDPAR1TYPROCNEARANDAL,7FHJPADDEXITORAL,80HADDEXIT:RETADDPARITYENDP4-6.ᑭᵨ¾⚪Ḅµ&Q>ᑁᱥᳮᙢᙬ10000HḄ1024ᓫᐗḄASCII!

22O·¾Ꮤ᪥ºj஺

23STARTMOVAX,1000HMOVDS,AXMOVSI,0MOVCX,1024L00P1:MOVAL,[SI]CALLADDPARITYMOV[SI],ALINCSILOOPLOOP14-7ஹ+ᑏ-µ&ᡂ>-8jÁOᦪÂ6Ḅmn஺⌕$y1°ᵨv〈ஹ·ÃJ3jᢣpy2ᐭÄÅᦪyᓽ8jÁOᦪzÆ)ALG&ÄÅᦪyᓽÂ6¤Ḅ¥VzÆ)AXoMULTI6PROCNEARPUSHBXMOVAH,0SHLAX,1:Â2MOVBX,AXSHLAX,1;Â4ADDAX,BX;Â6POPBXRETMULTI6ENDP4-8.Ç᝞ᱏ/START:MOVAX,1000H,OVSS,AXOVSP,000FHOVAX,1000HUSHAXOVBX,5439HUSHBXALLNEARPTRSUBRTOPAXSTOPO:HLTSUBRT:PUSHBPOVBP,SPVAAXMOVAX,[BP+4]DDAX,456AHOV[BP+4],AXOPBPET4È(1)᡻_ᑮ᪗4SUBRTᜐḄᢣpÉ&SP=?(2)᡻_᪗4VAAXḄ

24MOVᢣp¤&AX=?(3)᡻_Zlj᪗4STOPOᜐḄᢣpÉSP=?AX=?BX=?CF=?SF=?

250F=?(1)᡻_᪗4SUBRTᜐḄ“PUSHBP”ᢣp¤&SP=0006H(2)᡻_᪗4VAAXḄMOVᢣp¤&AX=5439H(3)᡻_ᑮ᪗4STOPOᜐḄᢣpÉ(Ë▭᡻_“HLT”ᢣpÍ1)SP=000CHAX=99A3HBX=5439HÏJÏ᪗hÐᘤḄᑁ8CF=0SF=1OF=14-9.ÒOᙢᙬ4MARKḄᑁÓÔLG&ᨵ100ÕÖḄ×ØḄὃ+ᡂÚ஺+ÛᡂÚWÜ)80ᑖÏJᡂÚÜ)60ᑖḄÕÖᦪ&XÉ$ᨬÝḄᡂÚᑖJᨬÜḄᡂÚᑖᦪ&'(ÞßᑖI)Oᙢᙬ4PSTஹFSTஹMAXMKJMINMKḄàᓫᐗG஺⌕$ᑏ᦮Ḅᦪ#/Jâṹ/஺DATASEGMENTMARKDB100DUP(?)PSTDWOFSTDWOMAXMKDBOMINMKDB100DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVCX,100MOVBX,OFFSETMARKAGAIN:MOVAL,[BX]CMPAL,MAXMKJCHIGHLMOVMAXMK,AL;updatehighestmarkHIGHL:CMPAL,MINMKJNCMKCHKMOVMINMK,AL;updatelowestmarkMKCHK:CMPAL,60JNCHIGHMKINCFST;increasetheno.ofstudentswhosemark<60JMPCHKFHH1GHMK:CMPAL,80

26JCCHKFH

27INCPST;increasetheno.ofstudentswhosemark>=80CHKFH:INCBXLOOPAGAINMOVAX,4C00HINT21HCODEENDSENDSTART4-10.Qᑏ-/&ᦈåæçᐭḄ10ᦪyçᐭèéO¤¥êz&ᯠ¤(Uìᦪᢥjîï¤)BUFFḄÓÔLG஺DATASEGMENT;ᦪ#/BUFFDB10DUP(0);ᦪ#LDATAENDSSTACKSEGMENTSTACK'STACK'ᚮ᪘/DB100DUP(?)STACKENDSCODESEGMENTâòó/ASSUMECSCODE,DSDATA,SSSTACKSTARTMOVAX,DATAMOVDS,AXMOVCX,10LEASI,BUFFREPT1:MOVAH,1;åᐭᦪ#INT21HCMPAL,0DHᑨõᔲèéåJENEXT1&NEXT1ᔲöçᐭNOTALMOVBUFF,ALDECCXNEXT1:ORCX,CXJNZREPT1MOVAX,4C00HINT21HCODEENDSENDSTART4-11.+QᡂN•jᓝùᑴᦪḄ·Ã஺ᐹüýþ9⌕$᝞y1ᑭᵨDOS1ÿᵨᐭᦪஹ“+”ᦪ2ᡂ3ḄᵨDOS9ᵨᙠ"#$%&'ᩭ஺*᝞,ᐭ8+6-"#$.%&14஺᝞ᙠ$/0112ᨵ45ᐭ.ᙠ"#$%&“Inputerror”6-789:ᜮ<=ᓽᦪḄᐭ<=?஺ᶍ?4-12.BCDEᩩGHIJKᘤMNOPᢣCRḄSᢣT஺U,

28SHIFTMACROREG,COUNT

29LOCALLENDPUSHCXMOVCL,COUNTCMPCL,1JCLEND;fbrCOUNT

305⚪5-1.ISAe___C஺A.0B.0C.0D.〉.5-2.\[Ḅᱏ2\ᵨᜓḄe—A஺A.DMAᑴᘤB.2ᑴᘤC.ᦪᘤD.A/D¡ᣚᘤ5-3.ᨬᜧ¤᳛¦D.A.§¨©\⚣᳛B.§¨©\⚣᳛Ḅ«ᑖ6EC.§¨©\⚣᳛Ḅ¬ᑖ6•D.§¨©\⚣᳛Ḅ®ᑖ6E5-4.§¨ḄI¯e,BA.±²Ḅ³´B.2ᦪrḄᦪµC.2ᡠᨵ·ḄᦪµD.±²ᡠᨵ¸¹Ḅᦪµ5-5.8088CPUᙠºᡂG᜜Ḅᦪr¼ᙢᙬ½⌕¾ᵨ___B஺A.¿᝱ᙢᙬ┝Kᘤ¼¿᝱ÂᔣᦪrÄÅᘤB.4¿᝱ᙢᙬ┝Kᘤ¼¿᝱ÂᔣᦪrÄÅᘤC.¿᝱ᙢᙬ┝Kᘤ¼4¿᝱ÂᔣᦪrÄÅᘤD.4¿᝱ᙢᙬ┝Kᘤ¼4¿᝱ÂᔣᦪrÄÅᘤ5-6.8088ᙠᨬᜧÆÇ[¾ᵨ8288ᑴᘤÈÉÊᑏᑴ·8288ÈÉḄÊᑏ·ᨵ6ᩩᙠPC2¾ᵨḄÊᑏᑴeC.A.6ᩩB.5ᩩC.4ᩩD.2ᩩ5-7.PC᪗Ì2ÍᒹÏC«A.DMAÐ|¼.UB.Ñ2Ð|C.¼CPUÒḄ2Ð|¼.UD.ÓR5-8.PCIeEÔ.D஺A.8R/16RB.8R/16RC.16R/32RD.32R/64R5-9.ISAe•Ô.A஺A.8R/16RB.8R/16RC.16R/32RD.32R/64R5-10.\[ḄÕ52Íe0ᱯ×Ḅe.C஺A.Í◤⌕.U·B.ᕜÚḄÛ¨•ÜÝÞC.ᕜÚḄÛÞ\¡ᓄ

31D.$ᔜàáḄâã¨äÝå

325-11.æçe`æç⌕èᵨ᪀êU,eᙠëì2CPU¼ᐸîÆᙽÆᙽ¼Æᙽ6ð¤WÔ·ñḄòᐳô⍝஺èᵨ᪀ö¼ÉÈḄ᪗Ìᓄ¼Æᙽᓄ÷øZÉȼ¾ᵨḄᡂùGḄúû¾ᵨᐹᨵ4ý9⌕Ḅþÿ஺5-12.ᨵ▲ᑴ▲ᑴḄឋᨵ!"#$%஺ᡠ'()ᐕ+ᨵ,-./01!$2஺)./34Ḅ!ᑖ67஺#!Ḅᑖឋ▲ᑴ8Ḅ9:ឋ஺5-13.ISA;"#<=;><;"#><஺5-14.ISA?@$%A'B᦮ᕜEḄFGI/OCHRDY஺᝞IJ$%Ḅ!ᐭ;LᵯN(⌕PCPUQFᕜE஺5-15.PCI;);A'RᐭS-TUᜓᙠRᐭS-TUᜓ(PC1;XḄPCIA'RᐭS-TUᜓ஺PCIYᩭ;[><(A'?@TRDY#\IRDY#ᩭ]ᑴ^ᐭ_`ᕜE஺ᙠaᐭS-TUᜓ(◤⌕?@REQ\GNT$%ᩭ67cP\dḄὶf(g;(9)hiJjᦋlḄXmn<஺ḄXoᯠ;><஺5-16.qᙠr▭Ḅ;Stu=;ᓫtuwᵨStuᨵyzqᙠḄtu{;Stu஺StuA'᪷})Ḅ~◤⌕(ᙠtuḄ)ᙢᵨ)~Ḅ஺tuḄᐹᨵSḄᮣឋ஺ᵫ)◤⌕ᡠᨵḄ{ᵨ᪵~Ḅឋ(A'LtuḄᡂY஺5-17."-USBtuᒹ#Uᜓ(ᑖᙠtuᵨ"-USBtuᒹX/UᜓUSBT(USBHost)ஹUSBUᜓ(USBDevice)ஹUSBᘤ(USBHub)USBTᨵ'<[)¢£USBUᜓḄ¤ᐭ\⌨¦§¨©ᳮT\USBUᜓ4Ḅ?$§¨«¬\ᑖ᪆UᜓḄ$2(USBUᜓ67§

335-18.²USB½¾Ḅᑮ8ÀÁ\dᵨ

34!~¾(A'ÂÃ"ÄḄ◤⌕;ᓽ^ᓽᵨ(ᵨǧᡂᩈÉL(᧕RË஺

35Ì6Í>ÎÏÐÑᘤÒ⚪6-1.>ÎÏÐÑᘤᑖ²ÔÕᜧX×ЬÐÑᘤᵫÔ-.ᑖØᡂᵫ×ЬÐÑᘤÙRAM\«ÐÑᘤÙROM§RAMᵫᙢᙬÛÐᘤஹÜṹÞßᵯàஹÐÑÏஹ«ᑏÞßᵯàஹᦪ}ÛÐᘤ\]ᑴãä6.ᑖØᡂ஺6-2.åæROMஹPROMஹEPROMஹEEPROMᙠᔜᨵèᱯz஺aROM;«ÐÑᘤ(ᵨ«¦()ᑏᐭ(〉ᵨëÐ)◤⌕ᦋjìí«¬Ḅᦪ}(?íᵨḄḄᐝï¶;XÐÑᘤ§bPROM["ðAñòḄROM,?íᵨ«¦()ᑏᐭ(?íᵨḄóôᐝï¶[JXÐÑᘤ஺ᨬö÷øᔆᑴúᡂḄPROMᑁ.9üᨵýᧇ(ᵨᡝᵨᵨḄᘤḄᧇᑏᐭᨵᑏᐭᦋ!"#┯%ᑏᐭḄ&ᱏ()*+cEPROM,-.◀ROM,ᵨᡝ◤⌕3ᵨᵨḄ4᜜6.◀ᘤ7ᐸ9:ᦪ<.◀=3ᵨᵨḄᘤ7ᐸ>?ᑏᐭᦪ<+dEEPROMᵯ.ᑏROM,ᵨᵨḄᘤ7ᐸ9:.ᑏ஺6-3.BCᘤḄᙢᙬFṹᨵHIJKᔜḄᱯNOPKQRᙢᙬFṹᨵSIJR6⌱ஹᐰFṹWXᑖFṹ஺e6⌱R3ᵨᙢᙬZ6Ḅ[\ᙢᙬ]^ᱏ⌱_`a\ᙢᙬbcᱏᑁeᙬRfNg᪀iᓫ◤⌕ḄklᵯmnoNᙢᙬpqr3ᵨspItuvwBCxḄᙢᙬpy⌼ᡂᙢᙬ|}~+fᐰFṹRᙢᙬZ6s◀ᱏᑁᙢᙬ᜜ḄᐰX[\ᙢᙬᑮFṹᘤḄᐭFṹ஺ᱯNBCᓫᐗḄᙢᙬyḄᙢᙬᑭᵨᐙᑖoNFṹᵯmᩖ+gXᑖFṹR[\ᙢᙬḄXᑖᙢᙬ6ᑮFṹᘤFṹBCᘤḄᱏ⌱_`஺ᱯNᔜ&ᱏḄᙢᙬqrḄᙢᙬpyᯠBᙠᙢᙬḄᚮx஺6-4.RAM&ᱏḄBC^1024x8,&ᱏḄ᜜XᨬnᨵᩩKᐸsᩩᙢᙬ6Kᩩᦪ<6K!RAM&ᱏsᨵ13ᩩᙢᙬ68ᩩᦪ<6¡P&ᱏḄBC¢nKQR£n23᪷ᐸsᨵ10᪷ᙢᙬ68ᩩᦪ<6+BC2i3*8bit=64Kbit=8KB«6-5.ᵨIntel21141KX4\ḄRAM&ᱏ¥ᡂ32Kx8\ḄBCᘤ◤⌕¢nᙽ᪵Ḅ&ᱏKQR◤⌕64ᱏ;6-6.©ª«ḄᑁBRAMxḄ^128KB,!ᵨ2164&ᱏ᪀ᡂ᪵ḄBCᘤ◤¢nᱏ2164?£n◤¢n᪷ᙢᙬ6Kᐸs¢n᪷ᵨ-ᱏᑁeᙬK¢n᪷ᵨ-ᱏ⌱FṹK

36Q:

37◤⌕16ᱏ+£nᙢᙬ6◤⌕17᪷ᐸs1ᩩᵨ-ᱏ⌱16ᩩᵨ-ᱏᑁeᙬ஺6-7.8088®¯ᵨ2764ROM&ᱏW6264SRAM&ᱏ᪀ᡂ16KBḄᑁB஺ᐸsROMḄᙢᙬ±^0FE000H-OFFFFFH,RAMḄᙢᙬ±^0F000HV0F1FFFH஺²ᑭᵨ6-8.OPCache?i´ᐸµ]¶ᳮK!¸BDRAMḄḄB¹ᕜ»^70ns,CacheḄB¹ᕜ»^5ns,¼s᳛^85%,ᑣ¿À᪀ᡂḄBCᘤḄÁᙳB¹ᕜ»¢nKQRCache\-¸BWCPUÃ}ᨵSRAM¥ᡂᵨᩭÅÆCPUW¸BÃ}Ḅᦪ<ÇÈÉ+CacheḄµ]¶ᳮÊ-ËÌÍḄÎXឋᓽᙠᓫ\Ñ}ᑁ7ÎX±ḄBCᘤᙢᙬ⚣ÓÌÍu7Ô±᜜ḄᙢᙬᑣÌÍÕn+ÁᙳBCᕜ»=5ns*85%+70ns*15%=14.75ns«6-9.OPÖ×BCᘤK¿Ḅ]ᵨOPKQRÖ×BCᘤØÙÖ×ᑁBᢣᙠᑁBpÛḄÜÝÞᑭᵨ᜜XB¹ᘤḄXᑖ|}ß×ᑁB3àlᐸáᡂâḄᑁB3ᵨã3ᵨäÉᩭå◀#ÈÉæ᠒᜜ᐸèI☢ᑁBêë=ìíxî+Ö×BCᘤᙊðñò#óôBC®¯7BCஹᓫ\ᡂõWB¹ÈÉḄö÷⌕ø¹ù#SὅÃ}ḄᨬûÁ⊝஺

38ý7þª«óôW᜜©}Ḅᦪ<Çÿ⚪7-1.ᐳᵨᙢᙬᙠ8086/8088CPU᝞ᙬḄ!"#᜜%&ᜓ()*+,ᩭᦪ/0〈Ḅ2ᑴᵯ567I/Oᵯ5879:;Ḅᦪ/ஹ=᝱?2ᑴ@AI/Oᵯ5BᨵDEFᙢᙬḄG:ᘤIG:ᘤ67"J=᝱(2ᑴḄKL?EMN8,ᑣᐳᵨ8808XᑡCPUḄRSᙬḄTᵨIN?OUTᢣVWḄXY஺7-2.W[\]^_`^_ᨵab?DMA^_cd`^_eᨵEf!"(\]^_cd`^_E⌕hCPUijᡈὅ\]CPU(᜜&mnoYᜧᜧqrḄoYᦔ᳛8u(DMA^_cdIv᜜&(:wᘤxnᦪ/0〈yz⌕{NCPU|ᙠ0〈ᦪ/ᙽy0〈ᙢᙬᢣ┐Ḅᦋ?0〈)ᦪᘤᦋT09├஺7-3.ᨵᐭ&ᜓᐸᦪ/Ḅᙢᙬ7FEE0H"=᝱ᙢᙬ7FEE2H,ᐸD0K71y⊤ᐭᦪ/ᜓ஺ᑏᵨ\]^_xnᦪ/0〈Ḅ⌕h&ᜓ64⁚mᐭᑮ2000H"2000H¢Ḅᑁ:஺!"¤᝞"START:MOVAX,2000HMOVDS,AXMOVDI,AXMOVCX,64LOOP1:MOVDX,0FFE2HLOOP2:INAL,DXANDAL,01HJZLOOP2MOVDX,OFFEOHINAL,DXMOV[DI],ALINCDILOOPLOOP1RET

39¥8¦`§⚪8-1.8086ᵨIRETᢣV¨©`ª«¬᪗®IFḄ¯____A஺A.±²i[1B.±²i[0C.E³²D.ᢥ&µ1ᡈὅ08-2.᡻n8086ḄIRET`·¸ᢣV¬ᚮ᪘»¼C⁚ᦪ/:ᐭc½ḄG:ᘤ஺A.2B.4C.6D.88-3.8086Ḅ`ᔣ¿⊤:;ḄB஺A.`ÀÁÂB,`ª«ᐭᙢᙬC.`bᙢᙬD.`ᔣ¿ᙢᙬ8-4.8086`ᔣ¿⊤ḄÄRAMᙢᙬḄA஺A.00000-003FFHB.00000~007FFHC.00000-00BFFHD.00000-00FFFH8-5ᵨ`^_7᜜%&ᜓª«ḄabᒹÆCoA.qÇ☠Ḅᦪ/0ª«?ÉᓄËÌB.qrCPUḄᦔ᳛?qÇ☠Ḅᦪ/0ª«C.qrCPUḄᦔ᳛?ÍyᜐᳮÐÑD.ÍyᜐᳮÐÑ?ÒᓄËÌ8-6.79`Óᝅᙠ8086Ḅ`ª«◤⌕ᑏᩩ____D஺A.CLCᢣVB.STCᢣVC.CLIᢣVD.STIᢣV8-7.ᙠᐹᨵ2ᱏ8259AÙὶḄ`ᱏ8259Az&µ7ÛÜݨ©`Þßà³Ḅ—C஺A.ᱏ8259AḄ`ª«z⌕â〈2ᩩEOIãVB.ᱏ8259AḄ`ª«z⌕â〈ᩩEOIãVC.ä8259AḄª«â〈ᩩEOIãV8259AḄª«â〈2ᩩD.ä8259AḄª«â〈2ᩩEO1ãV8259AḄª«â〈ᩩ8-8.?`ᨵᐵḄXYæçᵫCPUÜÝéᡂḄ___AoA.ë:`bᙢᙬB.ឮí`bᙢᙬC.ë:`bᙢᙬ?ឮí`bᙢᙬD.ë:`bᙢᙬஹឮí`bᙢᙬ?ë:᪗®G:ᘤ8-9.``Óᝅᐸᨬä⌕Ḅðñ—CoA.òNᚮ᪘ëó`bB.òNᢣVᩭ`C.ᐹᨵ`aᐜÙõᳮᑴD.TᵨËÌ`2ᑴᘤ

408-10.ᙠ8086`ÀÁÂ70DBHḄ`ª«¤K[8100H"1234H

41Ḅᑁᙠᔣ⊤ḄᔣᡠᙠḄᱥᳮᙢᙬ___AoA.0036CHB.OOODBHC.82234HD.01234H8-11.ᙠ80860DBHḄ!"#$ᐭ&ᙢᙬ'8100H(1234H,)ᙢᙬᙠᔣ⊤*+4,ᓫᐗ/Ḅᑁ012CoA.81Hஹ00Hஹ12Hஹ34HB.OOHஹ81Hஹ34Hஹ12HC.34Hஹ12HஹOOHஹ81HD.12Hஹ34Hஹ81Hஹ00H8-12.4ᱏ8259A᪀ᡂḄ7ὶ9ᑴᨬ<=>?@*@Ḅ᜜BCḄᦪE'____D»A.4B.32C.28D.298-13.8086Ḅ>FᔜH◤⌕KLMNḄOᨵD஺A.INTOB.INTnC.NMID.INTR8-14.RS8086ḄTL>FUVWXḄ'DoA.ᡠᨵTLḄYᐜ7['\ḄB.ᡠᨵTLḄYᐜ7[=>]^_`C.Yᐜ7ᨵab=>c᦮D.Yᐜ7ᨵabe=>c᦮8-15.gh'ᔣigh'ᔣ⊤i8086Ḅᔣ⊤/ᙠ,ᘤḄklmigh8086ᔣ⊤Ḅᜧo'1024p⁚ir(ᔣs'!#$Ḅᐭ&ᙢᙬ஺ᔣ⊤/!#$Ḅᐭ&ᙢᙬᡈὅ/vwᑮ!#$ᐭ&Ḅwyᢣ{஺8086Ḅᔣ⊤|SRAMlḄ00000H~003FFH஺}8086~ᢝ256!#$Ḅᐭ&ᙢᙬ'4p⁚ᐳ◤⌕1024p⁚஺8-16.ᙠᨵ10᜜C⌕ᵭ[ᵨTLᩭYᐜ7᣸◤⌕)Cᜓ!#$ighir(O◤⌕!#$஺10CᡈᔣCPUᵭ஺ᨵC\ᵭᙠ!#$᣸஺wyᑮᔜḄ!#$஺e◤⌕Cᜓ!#$஺8-17.᝞8259A_`¡¢஺£'ᵨᡝᙠ¥ᑏ!#$§ᨵᔣ8259A¨〈ª{EOIo)᪵Ḅ¬V®¯ghe°Ḅ±ir(ᐸ'8259ᑁBḄ!³ᘤḄḄ´µe¶├஺¸seᐕº±+Ḅ\7Ḅᵭ஺»¼▭¾¾CPUḄ!¿ÀÁ=>ᐕºḄᵭ஺8-18.᡻>Fᢣ{±Ḅᨵghe\(MOVAX,1234HMOVAX,1234HMOVBX,5678HMOVBX,5678H

42PUSHBXPUSHBX

43PUSHAXPUSHAXRETIRETÃÄÅIRETᢣ{ÆRETᢣ{ᨵghe\஺r(᡻ÇÈÉᢣ{±IP=1234H஺᡻ÊÈÉᢣ{±CS=5678H,IP=1234HoRETᢣ{Ë'ÌcᵨÍÎOÏᚮ᪘⚔Bᑁ0ÓÔᑮIP஺IRETᢣ{Õ'ÖcᵨḄÍÎ⌕Ï᪘⚔4p⁚ÓÔᑮCSÆIP஺×ÏØᐭḄ᪗Ú³ᘤḄᑁ0Ô᪘ᑮ᪗Ú³ᘤ஺8-19ᔣ8259AḄAO=1ḄÛ&¨〈•ª{p᝞Ý=>XÕ)ª{p'Þᓄª{pICW2»e'àáª{p0CW1?r(⌕âãª{p'e'ICWK᝞'ICW1,ᑣ)ª{p'ICW2,ᔲᑣs'OCWU8-20.8259AḄÞᓄᨵHe\ḄæçᑖbéᵨᙠghᩩLFir(1OéᵨICW1ÆICW2(ᓫᱏ8259,»ëeéᵨICW4஺2éᵨICW1,ICW2ÆICW3(<ᱏ8259,£eéᵨ1CW4஺3éᵨICWKICW2ÆICW4(ᓫᱏ8259,£éᵨICW4஺4éᵨICWKICW2ஹICW3ÆICW4(<ᱏ8259,¸éᵨICW4஺8-21.8259A_`7ὶéᵨ8259Aì8259AḄ!#$Æí8259AḄ!#$ᙠ¨〈ª{¡☢ᨵghe\ir(ì8259Ḅ!#$⌕ì8259AḄISR³ᘤḄ´µ஺í8259Ḅ!#$⌕ì8259AÆí8259Ḅ1SR³ᘤḄ´µ஺8-22.ᑖ᪆>Fᔣ⊤ᑏᐭ#$(MOVAX,0MOVES,AXMOVBX,01C8HLEAAX,INTSUBMOVES:[BX],AXMOVAX,SEGINTSUBMOVES:[BX+2],AXCḄ'ghiᵨð᜜H¡¢ñᡂ)ᔣ⊤Ḅᑏᐭ#$஺r('72H஺ᵨDOSòócᵨ25Hᩭᑏᐭ(PUSHDSMOVAX,SEGINTSUBMOVDS,AXMOVDX,OFFSETINTSUBMOVAL,72H

44MOVAH,25H

45INT21HPOPDS8-23.>FḄ"#$1'Þᓄ#$"#$2'ôḄ!#$஺0A0HÆ20H['8259AḄÛ&ᙢᙬ஺ᑖ᪆)#$Îrõ⚪("#$1(INT-P2PROCFARPUSHDSPUSHAXPUSHDXMOVDX,OFFSETINT-P1MOVAX,SEGINT-P1MOVDS,AXMOVAL,78HMOVAH,25HINT21HPOPDXPOPAXPOPDSRETINT-P2ENDP"#$2(INT-P1PROCFARPUSHAXINC[SI]MOVAL,20HOUTOAOH,ALOUT20H,ALPOPAXIRETINT-P1ENDPõ((1)ᑖùú)Ḅ'ghi(2)CPUᑮᔣ⊤Ḅkûᙢᙬᓫᐗüýᐭ&ᙢᙬi(3)C*@ᑮ8259AḄkþᐭ'ì8259A×'í8259A?(4)ᙠÁᜐᳮᔲᝅ(1)78H«(2)ᓰᵨᔣ⊤Ḅᙢᙬ:001E0H,001E1H,001E2H,001E3Ho(3)ᑮ8259AḄIR0"ᐭ$%8259A஺(4)'ᝅ஺()*+,-$.ᨵSTIᢣ1஺824.3ᦋ58-6Ḅ*+6,-$789:;ᵨ<16=◀ᦪḄ◀@AB஺ᐭCDᦪBXE◀ᦪ$F◀ᦪᢣ1◚HḄ஺BCDᦪ;IᒹK32=ḄᖪM16=ḄN

46ᦪ஺PQRᢣSᐹUḄBCDᦪ$VWᡂ*+,-ḄY,஺

4732=ḄᖪZ[ᙠCX:AX,NᦪᙠDXINTOOPROCFARPOPCX;3ᦋ^_ᙢᙬADDCX,2PUSHCXCMPBX,0JNENEXTLEADX,MESSAGE`◀ᦪ0,ab┯defMOVAH,09INT21HJMPFINISHNEXT:PUSHAX;E◀@,AXᨚZ<ᚮ᪘MOVAX,DX`k16=ᦋl16=MOVDX,0`k16=0DIVBXMOVCX,AX`mZᖪḄk16=POPAX`ឮol16=F◀ᦪAXDIVBX`ᖪCX:AX,NᦪDXFINISH:IRETINTOOENDP8-25.Yᑏqr4ABḄ*+,-$stuᩭwxḄy;,-஺z,-Ḅ{abᨵᐵABḄ┯def$ᯠ~$,-Ḅ᡻஺Yᑏqr,-$z,-Ḅ{஺,-⌕Wᡂᔣ⊤4ᐭCᙢᙬḄᦋᑏ$VᐹᨵABḄᩭ஺DATASEGMENTMESSAGEDB"ARITHMETICOVERFLOW.",ODH,OAH`$'MESSAG1DBUAXISTHERESULTJ,0DH,0AH,$DATAENDSSTACKSEGMENTSTACKSTACK'DB50DUP(O)STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTARTPROCFARPUSHDSMOVAX,0PUSHAXMOVAX,DATAMOVDS,AXSTIMOVAL,4`mZuᔣ

48MOVAH,35H

49INT21HPUSHESPUSHBXPUSHDS;ᑏᔣ⊤MOVAX,SEGINT04MOVDS,AXMOVDX,OFFSETINT04MOVAL,4MOVAH,25HINT21HPOPDSMOVAX,8080H`@ADDAX,8080HINTOLEADX,MESSAG1`MOVAH,09INT21HPOPDX`ឮoᔣ⊤POPCXPUSHDSMOVDS,CXMOVAL,4MOVAH,25HINT21HPOPDSRETSTARTENDPINT04PROCFARLEADX,MESSAGE`AB$ab┯defMOVAH,09INT21HMOVAH,4CHINT21HFINISH:IRETINT04ENDPCODEENDSENDSTART

509ᵨCᢈ⚪9-1.VCMCᙠᦪ¡"Mᑁ£᪀¥Ḅ¦⌕§¨VC7ᦪḄᔜ=ªᙠ«¬¥¡"$C7ᦪq=q=ᙢ¡"஺(I/OCMᜐᳮᘤ²³ḄᦪVḄ$ᡠµ¶·CḄ§¨¦⌕⊤ᙠI/OC¸᜜º²³Ḅᦪ¡〈஺¶·Cᙠ᪀¥Ḅ¦⌕§¨ᙠ8255AḄ?C@AᦪC#DE8255AḄFGᑴHICSஹAiஹAoஹRDஹWRḄN᝱஺CSPᵯRஹA1ᵯRஹA0PᵯRஹRDSATPᵯRஹWRᵯR#ᜐVWᦔN᝱9-5.DE.8255A12V()1#CPU᝞\]^()_`ᐭbᜓḄᦪC@d᜜b〈AᦪCghASTBHIiSTBᨵᦔ᜜b〈ᑮ8255A?ᦪClmḄᦪC┝o#gIBFᨵᦔ,`As᜜b#⊤u`ᐭvwᘤyz#{CPU|}~d஺᝞]^ᐕINTE=1,IBFINTRᨵᦔ#ᔣCPUhA]^#CPU~dy`ᐭḄᦪC஺CPUᙠ

51᡻]^ᵨINᢣ@~ᦪC#RDHI#HIINTRWᦔ#├4

52]^ᵭ#gIBFPᵯR#᜜b`ᐭvwᘤḄᦪC~d#`ᐭ¡ḄᦪC஺9-6..825512V()2#.CPU¢ᦈᑮ8255Ḅ]^HI᝞\&ᑖ᡻`ᐭ¤2¥¦`A¤2§ᙠ`ᐭஹ`Aᙳᐕ]^Ḅ©ª«#ᙠ]^]#@ᐭCḄN᝱ᩭ¬#ᑨ^OBF*IBFḄN᝱#ᩭ&ᑖ¦`ᐭ]^¥¦`A]^#g¯~°S¤2஺9-7.b8255AḄ4G?ᙢᙬ60H-63H,D³ᑏ«ᑡᔜ·©ªḄ¸¹ᓄ஺(1)A,B»ᙳbᡂ()0,AஹB`ᐭ#C`A஺(2)_AஹBb()1,ᙳ`ᐭiPC6ஹPC7`AiᐕA]^#Ἥ¾B]^஺(3)_Abᡂ()2iB()0,`AiPC0¿PC2`ᐭiᐕA]^஺(1)MOVAL,10010010BOUT63H,AL(2)MOVAL,10110110BOUT63H,ALMOVAL,0000100IBOUT63H,ALMOVAL,00000100BOUT63H,AL(3)MOVAL,1100000IBOUTAL,63HMOVAL,0000100IBOUT63H,ALMOVAL,00001101BOUT63H,AL9-8.DÀuÁÂÃH*ÂÃHḄᱯÄᔜ¦ÅƧÁÂÃHÇÈᓫ#Ê`ÇËÁÂ#ÇᑁÍᔜËÂiη()Ï(8◤⌕ÒÓÂ#ÔÕᦈ/hÏ(8◤⌕ᵨÖ×#5◤⌕ᵨ⚣᳛Ḅᦈ/hÖ#ÚÛÜ☠ḄÃH஺ÂÃH¦ᦪCᙽᓫ#Ê`ÇßÇàËḄÇᑁÍḄᔜàËá◤⌕ÒÓÂ#ᡠᦈ/hÖ◤⌕ᵨ3Ö×஺Wãä·()#ÛÜÃHåæ#ᦈ/hÏ(áçè⍳êᐳìíḄᦪCÊ`îï஺9-9.DÀuÁÂÃH]¦᝞\ðñÂò⚪*ôTåæ¯᪵Ḅ§æÛÂ#ôTåæḄ¯᪵#⌕¯ᵨ°ö᩽ឋḄù¹/ú¾(üý)ÿḄᨵᦈᘤᵨ〈ᱯ᳛⚣᳛Ḅᩭᑴ᪵᪵!☢#$%᪵Ḅᑖ'᳛(ᢙ*᡾,-./#0ᦈᘤᙠ23ṹᐗḄ67᪵$89ᨬᜧḄᦈ/=⚣᳛Ḅ>?@▲஺9-10.CDEFG=〈ᘤ=〈ᐹᨵ83ᦪJ3ḄᙠKL60ᵨ1C᜻Ꮤ᪥P3ஹR3ST3஺U2V=〈100Cᑣᐸᱯ᳛ஹ3ᕜZ([ᦔ᳛ᔜ^_`aU

53〈2KBḄᦪJ◤⌕_ea

54fg1+8+1+2=123ᱯ᳛g12x100=1200b/s3ᕜZg1/1200(s)[ᦔ᳛g8/12=67%〈2KBᡠ◤g2xl024xl2x(1/1200)=20,48(V)9-11.klMODEMḄm⌕n,(oᵨpᔠ஺fgMODEMḄm⌕n,rsᦪtuvᣚ^〉ᔠᙠ[yz{G[Ḅ|⚣}~tus[yzḄ|⚣}~tu^ᦪtu஺MODEMm⌕ᵨᵯy{GᦪtḄpᔠ஺^tUᦪJFGᙠ[yz〈@᧕tuᶚஹᜫ஺9-12.RS-232C0ᵨḄrᦪturᔲ#$Ḅᔜ[ᐭ[¢tu£a^¤¥afg¦,஺^§ᯠRS-232C0ᵨḄrᦪtu©RS-232Cᵨªᡠ⌕«Ḅ¬TTL/COMSᵯ¬¦@ᡠ$Rὅ£¯°±²oḄᵯ¬vᣚvᣚᵯ³.¦,²£஺9-13.Intel8251A´ᱏr¤¥´ᱏa¶·ᐸ¸n,஺fgIntel8251Arᵨ#¹ºFGt´ᱏ#ᵨDEt#ᵨ»Et஺ᦪJ¼½#¹º¾¿஺ᙠDE!½À#¹º⌱ÂÃᱯ᳛Ä,ÅÆÇᦪJ[º6=ḄÈÉ┯ஹ᜻Ꮤ┯ஹ˼½┯ᐹᨵ0ᵨMODEMtḄ,-஺#${GᐰÍÎtᐹᨵ6Ï(ÐÑ[ᐭ/[¢Ḅ,-஺9-14.Uᑭᵨ8251A{GDEtᵨÓ10⚪ḄᦪJ¼½(ᱯ᳛ᱯ᳛Ä⌱Â16,ᑭᵨ8253%Õᦈஹ=ᐸ6KL%ÕḄtu^1MHz஺8253ḄÖᙢᙬ^300H-303H,8251ḄÖᙢᙬ^3F8H~3F9H«(1)Ù¹ᑏ8253Û8251AḄÜᓄºÞß(2)U⌕«$ÐÑ!½sBUFFERḄ100C=〈¢àÙ¹ᑏ²oḄºÞß஺fg(1)8253g0ᵨᦪᘤ0CLK0=lMHzsOUTO=1200x16=19200HzN=lMHz/19200Hz=528253ÜᓄºÞgMOVAL,0001011IBᦪᘤ0Îáᙠ!½3,ᓝ{ᑴᦪMOVDX,303HOUTDX,ALMOVDX,300HMOVAL,52HOUTDX,AL8251g83ᦪJ3ஹᵨᏔ᪥Pஹ23ST3

558251ÜᓄºÞ:

56MOVDX,3F9HMOVAL,40HOUTDX,AL=ᑁñò3óôNOPMOVAL,11111110B!½ᑴOUTDX,ALMOVAL,00110111BóôᑴOUTDX,AL(2)MOVDI,OFFSETBUFFERMOVCX,100SENDgMOVDX,3F9HWlgINAL,DXTESTAL,01HJZWlMOVDX,3F8HMOVAL,[DI]OUTDX,ALINCDILOOPSEND9-15.Ùýþÿஹ/ᦪᘤᵨᑴḄᱯ஺◤⌕!"◤⌕#$%ᜓ!'(ᓰᵨCPU*+!,-CPUḄ./ᦔ᳛23ᵨ45Ḅᵯ789!"ᓰᵨCPU*+!:;!'"<=>ᦋ@!Aᵨ"BᮣD2Aᵨ/ᦪᘤEᱏ!GHI<=ᙢ>ᦋ@!AᵨᮣD!KL:;ஹ"ᓰᵨCPUḄM஺9-16.NO8253/ᦪᘤP!QRSCLK5RSGATEᑖUVḄ/ᵨ஺QRSCLKWᘤ/ᦪᘤXYᦪᾭ[\ᐭ25RSGATEᵨᑴᦪH!ᙠ"_Ḅ./<`!/ᵨ"᪵!bᵨἭd/ᐕfᦪ!gbᵨhiᦪ஺9-17.jkXYl8253ḄQRS⚣᳛W1MHz,nᙠ"#$EᱏḄopq!rA8253stᕜvW1sḄwx

57tᕜvWIsḄwx

58:8253CLKo1MHzD0-D7D0-D7GATEo0+5VIORRDOUTo1OWWRA2AiAiAoCLKiGATEi+5VOUTiIswx

59MOVAX,10000

60MOVDX,300HOUTDX,ALMOVAL,AHOUTDX,AL8255ḄᓄMOVAL,10000000BMOVDX,313HOUTDX,ALMOVBL,01HMOVAL,BLMOVDX,310HOUTDX,AL2ª¹ᢣ¥¦P²³´INTSUBPROCFARPUSHDXPUSHAXROLBL,1MOVAL,BLMOVDX,310HOUTDX,ALMOVAL,20HOUT20H,AL2iEOIº»!Ꮇ%8259Ḅ®ᙢᙬW20Hஹ21HPOPAXPOPDXIRETINTSUBENDP9-19.w••DMAᑴᘤḄᓄ./ᒹ¾¿ÀᑁÂÃwDMAᑴᘤᓄḄHᑖW<☢:জÆᦪÇÈÉÊ[ËḄVᙢᙬᡈὅÍÎᙢᙬ〈ᑮᙢᙬÑÒᘤP஺ঝÆÈ\ḄÔ⁚ᦪᡈÔᦪ〈ᑮᦪᘤP஺9-20.MAᑴᘤ8237AÖ×᪵ØᐜÚÛᳮḄÃ8237AᨵÞØᐜÚÛᳮ<`஺ßØᐜÚ:G⍝0ØᐜÚᨬ·ஹG⍝3ᨬ-;áâØᐜÚ<`:ØᐜÚ¨©áâ!ãAᵨHḄG⍝ØᐜÚᨬ-!ᐸqG⍝ØᐜÚᨬ·஺9-21.8237AᙠᓫÔ⁚<`DMAÈ\ᙽ<`DMAÈ\!ᨵçèËUÃᓫÔ⁚DMAÈ\:«éᡂ1Ô⁚È\ë!ᑁ°Ô⁚ᦪᘤ=ì1,ᙢᙬÑÒᘤḄ@$1ᡈì1!Ḽ!8237Aîï!ð᪵CPUñòóᑮᕜv;ᙽ<`DMAÈ\:IôõÔ⁚ḄÈ\!öᨵ÷Ô⁚ᦪᘤìò0,øKᙠEOP®\ùdᦪRSᡈὅ᜜°I/ODMAᑴᘤḄEOP®〈ú-ᵯ¸RS,

618237AüîïKÍÎÈ\஺

629-22.ᵨDMAᑴᘤᑁÒᑮᑁÒḄÈ\!ᨵçèᱯÃ(1)W89ðÞÈ\!ý⌕þ+ËḄᦪÇᐜ〈ᑮ8237AḄᨚᘤᯠ〈ᑮḄᑁᑮᑁḄ⌕ᵨᑮᕜ;(2)ᵨ⍝0Ḅᙢᙬ#ᘤ$%ᙢᙬ&ᵨ⍝1Ḅᙢᙬ#ᘤ'(⁚*ᦪᘤ$Ḅᙢᙬ'*ᦪ,ᙠ.Ḅᙢᙬ#ᘤḄ,/01᪵3451ᡈ7189:%ᙢᙬ#ᘤḄ,;<=>?ᑴὅᘤḄBC&Dᢝឤ;(3)?ᑴ#ᘤḄDOGHIC1,J.᝞L?ᑴ#ᘤḄD1GM1,ᑣᙠ.%ᙢᙬDᢝOP஺9-23.B*8237AḄRSᓄUV஺8237AḄWXᙢᙬM0000H-000FH,B⍝0Y9ᙠᙽ[\ᙢᙬ51Pᓄ]^⚜C`a;⍝1Y9bᓫ(⁚dᙢᙬ71Pᓄ,f]^⚜C`a;⍝2ஹ⍝3'⍝1Y9bhij\஺ᯠ>8237AB?ᑴklmDACKMnᵯpᨵᦔDREQMsᵯpᨵᦔᵨtᐜvj\wx^8237AY9஺yzMOVDX,0BH;[\#ᘤWXᙢᙬMOVAL,90H;⍝0OUTDX,ALMOVAL,69H;⍝1OUTDX,ALMOVAL,6AH{⍝2OUTDX,ALMOVAL,6BH;⍝3OUTDX,ALMOVDX,8;?ᑴ#ᘤWXᙢᙬMOVAL,COHOUTDX,AL9-24.[-ᦪ}ᣚᘤADC0ᵨḄᨵᑖ\'⌲\⌕Ḅt஺ᙠ?ᑴḄ[ᐭ⍝00ᵨ᪵-Dᢝᵯᐸ⌕yz⌲\ADCᵨḄᑖஹ¡✄ஹ⌲Ḅ}ᣚᳮ஺ᐸt}ᣚ¤¥¦}ᣚ§¥n;ᐭ[¨©Pᓄ¤¥¦.ª«¬ᜧḄ®ឋ°±஺ᑖADCḄt1O◤⌕DAC,a

639-26.A/D'D/A}ᣚᘤᙠÛ*ÜᵨÝ9ᵨyzÛ*ÜÞa>3ᑴᦪ(ß\⊤áḄ¨â34ãÜ'ᜐᳮᐸãÜ'ᜐᳮḄåLᦪ(Ñ:ᵨ34]^æÑஹç?è⍗ᑮḄPÑᜧêᑖ[ÑÆë[ÑHI}Pᡂ*ÜaìíᦈḄᦪ(ÑÆ=UM[/ᦪ}ᣚðᡂÆ}ᣚ◤⌕A/D}ᣚᘤ஺¡ñ*ÜãÜஹᜐᳮḄåLOaòíó?ᑴ᡻4êõMᔜÇ᡻4êõ⌕÷Ḅ?ᑴ¨©1ø[ÑJ◤⌕Ï*ÜùḄᦪ(Ñ?ᑴ¨©}ᣚᡂ᡻4êõᡠ◤Ḅ[ÑÆ}ᣚ=UMᦪ/[}ᣚðᡂÆúûḄüCD/A}ᣚᘤ஺9-27.A/D}ᣚÖ[Ѩ©}ᣚMᦪ(Ѩ©}ᣚýþ?ᣚᵨᑮᵯᣚᑖ:᪵ஹᢝஹᓄṹ஺᪵ᢝᙠ᪵ᢝ!";ᓄṹᙠADC!"஺9-28.᝞%&ᡠ(Ḅ*+,ᵫ8255AADC0809./ᡂḄPC128ᦪ45ᓱ7ᳮ&஺8255AḄA9B9ᙳ;<=>?0஺&ᦪ45ᓱ7ᳮ&(1)ᑏA8255AᔜCDᘤḄF9ᙢᙬ஺(2)IJ8255AḄ>?KᑴM஺(3)NAOPQ>?RS58ᦪ4TᑁDBUFFVWḄXYZḄ[\&]^ᑏ[(`8255AaWᓄ[)஺(4)cᐸ+5Ḅ*ef]gei0࠷-60࠷(2ឋlf)]mn᪵ᕜpqḄefᦪ4OAAHr]ᑣtuḄefvwf(1)A□:2COH;B□:2C1H;C□:2C2H;KᑴCDᘤ:2C3H஺(2)>?Kᑴx91H஺(3)8255:MOVDX,2C3HMOVAL,91HOUTDX,AL

64XORAL,AL

65MOVDX,2C2HOUTDX,AL;PC4ஹPC5az0ADSTART:MOVCX,8;{|}ᦪMOVBX,O;ADCO809~⍝START:MOVDX,2C1HMOVAL,BL;m~⍝OUTDX,ALMOVDX,2C3HMOVAL,09H;PC4=1,A/DᣚOUTDX,ALMOVAL,O8HOUTDX,ALMOVDX,2C2HWAIT:INAL,DXTESTAL,O1H;ᣚJZWAITMOVDX,2C3HMOVAL,0BH;PC5=l,AA/DᣚOUTDX,ALMOVAL,OAHOUTDX,ALMOVDX,2COHINAL,DXMOVbuf{BX],ALINCBXLOOPSTARTHLT(4)T=FFHAAHX600࠷=170155X600=400࠷

6610Ḅ>ᔣᢈᓝ⚪ᫀᶍ஺

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
最近更新
更多
大家都在看
近期热门
关闭