《微机原理第二版+田辉+课后答案1》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1J1KLMNOPQRᭆT⚪1-1.LMNOPᒹWXYZ8⌕\ᡂ^ᑖᔜ^ᑖḄ`abcdefghLMNOPᵫCPUஹnoᘤஹqᐭ/q-tuvQRwx\ᡂCPUdLMNOPḄ᪶^{|ᐹᨵᑡbchO@OᨚnᦪᢣṹᢣᡠḄnoᘤ@ᦪAᣚḄc9: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ó{@^ᜓ(õ᪀ᡂöñḄLMNOPQR1-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ᓫᐗBIU BusInterfaceUnit,[H\EU ExecutionUnitTUVWᓫᐔBIUḄN⌕ABP_`abcᘤஹI/OdW[ᦪef〈ᐹijkᢣmTUVWH
5ᑁbpk(ᢣmq〈ᑮᢣmsᑡ⚜kᢣmuᔠ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¯[ᢣmBIUᑭᵨTU±¢%nᑁbk3ᩩᢣmᡈk3³ᩩᢣmbᐭᢣmsᑡ{3EU[ᩩᢣmzµ☢ᩩᢣ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èé[ᢣm2-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ᐭTwA.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{|ᘤ8289qᑴᘤ8288ḄᵨC,}ᩭ~8086/8088CPUḄ /S2ஹSIஹS0ṹkᐭqᑴ/AENஹCENzIOBiᔠ/zqᑴ/2-10.ᐵ8086ᨬᜧghḄᱯ$ḄCDDA.◤⌕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)yA.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ÈSSO2-20.8086ᔣᏔᙢᙬ)7ᓫᐗ0〈xyÏ⁚ᦪEäxyᕜᙠÛxyT
9 ALE1,Ao0,WR1
102-21.8086TUVW⌕})7ᘤᑖ'íᳮ]ᐸᑖ'íᳮCnð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=90402H3-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=00H 6AX=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ḄÜIOᑏᒹÞᨵXLATᢣ5Ḅᢣ5©ᑡEᵨᩭßà0á15ãᑁḄËᦪNḄÜIºNḄIaᙠCL:ᘤ01MOVBX,2000HMOVAL,CLXLAT3-8.OᵨäᓫḄåᩩᢣ5æᡂ6AL:ᘤḄèéêᦪë12Ḅ⌕tuᵨ(ஹ¢¶¼MOVᢣ501MOVAH,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¼ZFY3-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ᜐ3 13ஹ+ᑏ-ᱏ/&(01ᦪ#/23ᙢᙬ42000HḄ100!⁚ᓫᐗᑁ8923ᙢᙬ43000HḄ100!⁚ᓫᐗᑁ8:;ᣚ&ᓽ23ᙢᙬ2000H>?ᓫᐗᑁ8923ᙢᙬ3000H>?ᓫᐗᑁ8;ᣚ&23ᙢᙬ2001H>?ᓫᐗᑁ8923ᙢᙬ3001H>?ᓫᐗᑁ8;ᣚ&@ABCMOVSD&2000HMOVDD&3000HMOVCX100ZREPTO:MOVAL,[SI]MOVBL,[DI]MOV[DI],ALMOV[SI]BLzINCSIINCDILOOPREPTO 173-14.ᙠᦪ#/G23ᙢᙬᑖI41000HJ2000HḄKLᑁᨵN10!⁚Ḅ! 18OP&+Qᑏ-/ᩭSTUN!OPVUN!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ḄᙢgMOVex,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ᐕᵨEQUi4-2..ᦪ#/:DATASEGMENTAT1000HORG100HVALIDB11HVAL2DW22H,33HVAL3DB5DUP(44H)DATAENDS+ᢣᦪ#/G23ᙢᙬ100Hᑮ109HḄᔜ¡ᓫᐗḄᑁ8100H11H101H22H102H00H103H33H104H00H105H44H106H44H107H44H108H44H109H44H4-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)4 4.+Q(ᑁ50000Hᑮ5FFFFHḄ§ᓫᐗᙳᑏᐭᦪ55H,'©⌲ᓫᐗ«ST&¬ᑏᐭḄ9«Ḅᔲ-ᐰ>&ᑣ(AL¯0°⌕ᨵ┯&²IJ(AL¯0FFHSTARTMOVAX,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ḄÓÔLGDATASEGMENT;ᦪ#/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ᢣTU, 28SHIFTMACROREG,COUNT 29LOCALLENDPUSHCXMOVCL,COUNTCMPCL,1JCLEND;fbrCOUNT 305⚪5-1.ISAe___CA.0B.0C.0D.〉.5-2.\[Ḅᱏ2\ᵨᜓḄe—AA.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¼ᙢᙬ½⌕¾ᵨ___BA.¿ᙢᙬ┝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Ô.DA.8R/16RB.8R/16RC.16R/32RD.32R/64R5-9.ISAe •Ô.AA.8R/16RB.8R/16RC.16R/32RD.32R/64R5-10.\[ḄÕ52Íe0ᱯ×Ḅe.CA.Í◤⌕.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/OCHRDYIJ$%Ḅ!ᐭ;LᵯN(⌕PCPUQFᕜE5-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{;StuStuA'᪷})Ḅ~◤⌕(ᙠtuḄ)ᙢᵨ)~ḄtuḄᐹᨵSḄᮣឋᵫ)◤⌕ᡠᨵḄ{ᵨ᪵~Ḅឋ(A'LtuḄᡂY5-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ᙠᔜᨵèᱯzaROM;«ÐÑᘤ(ᵨ«¦()ᑏᐭ(〉ᵨëÐ)◤⌕ᦋjìí«¬Ḅᦪ}(?íᵨḄḄᐝï¶;XÐÑᘤ§bPROM["ðAñòḄROM,?íᵨ«¦()ᑏᐭ(?íᵨḄóôᐝï¶[JXÐÑᘤᨬö÷øᔆᑴúᡂḄPROMᑁ.9üᨵýᧇ(ᵨᡝ ᵨᵨḄᘤḄᧇᑏᐭᨵᑏᐭᦋ!"#┯%ᑏᐭḄ&ᱏ()*+cEPROM,- .◀ROM,ᵨᡝ◤⌕3ᵨᵨḄ46.◀ᘤ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ᙠᙢᙬḄᚮx6-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ḄXY7-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Ḅ¯____AA.±²i[1B.±²i[0C.E³²D.ᢥ&µ1ᡈὅ08-2.n8086ḄIRET`·¸ᢣV¬ᚮ᪘»¼C⁚ᦪ/:ᐭc½ḄG:ᘤA.2B.4C.6D.88-3.8086Ḅ`ᔣ¿⊤:;ḄBA.`ÀÁÂB,`ª«ᐭᙢᙬC.`bᙢᙬD.`ᔣ¿ᙢᙬ8-4.8086`ᔣ¿⊤ḄÄRAMᙢᙬḄAA.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Ḅ`ª«◤⌕ᑏᩩ____DA.CLCᢣVB.STCᢣVC.CLIᢣVD.STIᢣV8-7.ᙠᐹᨵ2ᱏ8259AÙὶḄ`ᱏ8259Az&µ7ÛÜݨ©`Þßà³Ḅ—CA.ᱏ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ᨵDA.INTOB.INTnC.NMID.INTR8-14.RS8086ḄTL>FUVWXḄ'DoA.ᡠᨵTLḄYᐜ7['\ḄB.ᡠᨵTLḄYᐜ7[=>]^_`C.Yᐜ7ᨵab=>cD.Yᐜ7ᨵabe=>c8-15.gh'ᔣigh'ᔣ⊤i8086Ḅᔣ⊤/ᙠ,ᘤḄklmigh8086ᔣ⊤Ḅᜧo'1024p⁚ir(ᔣs'!#$Ḅᐭ&ᙢᙬᔣ⊤/!#$Ḅᐭ&ᙢᙬᡈὅ/vwᑮ!#$ᐭ&Ḅwyᢣ{8086Ḅᔣ⊤|SRAMlḄ00000H~003FFH}8086~ᢝ256!#$Ḅᐭ&ᙢᙬ'4p⁚ᐳ◤⌕1024p⁚8-16.ᙠᨵ10C⌕ᵭ[ᵨ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ÓÔᑮIPIRETᢣ{Õ'Ö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éᵨICW42éᵨICW1,ICW2ÆICW3(<ᱏ8259,£eéᵨ1CW43éᵨICWKICW2ÆICW4(ᓫᱏ8259,£éᵨICW44éᵨICWKICW2ஹICW3ÆICW4(<ᱏ8259,¸éᵨICW48-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ᢣ18 24.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ᙠ᪀¥Ḅ¦⌕§¨ᙠ