علوم مهندسی کامپیوتر و IT و اینترنت

تجزیه و تحلیل قطعه برنامه های زبان اسمبلی Z80

tajziye_vatahlile_qetee_barnamehaye_zabane_asembeli

در نمایش آنلاین پاورپوینت، ممکن است بعضی علائم، اعداد و حتی فونت‌ها به خوبی نمایش داده نشود. این مشکل در فایل اصلی پاورپوینت وجود ندارد.




  • جزئیات
  • امتیاز و نظرات
  • متن پاورپوینت

امتیاز

درحال ارسال
امتیاز کاربر [0 رای]

نقد و بررسی ها

هیچ نظری برای این پاورپوینت نوشته نشده است.

اولین کسی باشید که نظری می نویسد “تجزیه و تحلیل قطعه برنامه های زبان اسمبلی Z80”

تجزیه و تحلیل قطعه برنامه های زبان اسمبلی Z80

اسلاید 1: 1تجزيه وتحليل قطعه برنامه هاي زبان اسمبلي Z80

اسلاید 2: 2

اسلاید 3: 3Inside Computer: Implement Instruction SetProcessorControl takes program as input; it interprets each instruction and tells the Datapath to operate on data via ALU, memory and registersControlDatapathREGISTERSALUDEVICESINPUTOUTPUTMain MemoryPC

اسلاید 4: 4فرمت دستورالعمل ها در زبان اسمبلي LABEL: OPCODE OPERANDS; COMMENTSoptionalmandatory

اسلاید 5: 5اسمبلر دو گذرهFirst Pass:scan program filefind all labels and calculate the corresponding addresses; this is called the symbol tableSecond Pass:convert instructions to machine language, using information from symbol table

اسلاید 6: 6اسمبلر دو گذره

اسلاید 7: 71- جمع دودويي 8بيتي بدون بيت نقلي:LD A,37HADD A,23HHALT

اسلاید 8: 82- جمع دودويي 8بيتي با بيت نقلي:LD BC,0110HLD DE,01FFHLD A,CADD A,ELD C,ALD A,BADC A,DLD B,AHALT

اسلاید 9: 93- جمع 16 بيتيLD BC,0110HLD HL,01FFHADD HL,BCHALT

اسلاید 10: 104- جمع BCDLD A,11HADD A,19HDAAHALT

اسلاید 11: 115- تفريق دودويي 8بيتي LD A,2EHSUB A,3FHHALT

اسلاید 12: 126- تفريق دودويي 8بيتي بابيت قرضيLD BC,0100HLD DE,0001HLD A,CSUB A,ELD C,ALD A,BSBC A,DLD B,AHALT

اسلاید 13: 137- تفريق BCDLD A,2EHSUB A,3FHDAAHALT

اسلاید 14: 148- مقايسه هاي قالبيLD HL,1200HLD BC,50HLD A,23HCPIR HALT

اسلاید 15: 15ساختارهاي اساسي برنامه نويسيرشته: ساختاري كه بعد از ورود كنترل به آن، فرايندي انجام مي پذيرد وسپس كنترل از آن خارج ميگردد.اگر-آنگاه: ساختاري كه ابتدا يك شرط آزمايش ميشود سپس با توجه به نتيجه آزمايش فرآيندي انجام مي پذيرد .اگر-آنگاه-در غير اينصورت: ساختاري كه ابتدا يك شرط آزمايش ميشود سپس در صورتي كه شرط برقرار باشد فرآيند 1 و در غير اينصورت فرآيند 2 انجام مي پذيرد .

اسلاید 16: 16ساختارهاي اساسي (ادامه)تكرار-تا آنكه: ساختاري كه در آن اجراي يك فرآيند تا وقوع يك شرط تكرار ميشود.اجراء-ماداميكه: ساختاري كه در آن يك شرط آزمايش ميشود و سپس در صورت برقراري شرط فرايندي انجام مي پذيرد (در غير اينصورت از حلقه خارج ميگردد) و پس از آن ارزيابي شرط تكرار ميشودو...

اسلاید 17: 17ساختارهاي اساسي (ادامه)حلقه قابل برنامه ريزي: ساختاري كه در آن ابتداشمارنده اي مقداردهي اوليه ميشود، سپس فرآيندي انجام مي پذيرد ، آنگاه يك واحد از محتويات شمارنده كم ميگردد وبالاخره آزمايش ميشود كه آيا شمارنده به صفر رسيده يا نه؟ اگر محتويات شمارنده صفر نشده باشد فرآيند تكرار ميگردد درغير اينصورت كنترل از حلقه خارج خواهد شد.

اسلاید 18: 18A Physical Stack19951996199819821995199819821995Initial StateAfterOne PushAfter Three More PushesAfterOne Pop

اسلاید 19: 19A Hardware Implementation/ / / / / // / / / / // / / / / // / / / / // / / / / /YesEmpty:TOP#18/ / / / / // / / / / // / / / / // / / / / /NoEmpty:TOP#12#5#31#18/ / / / / /NoEmpty:TOP#31#18/ / / / / // / / / / // / / / / /NoEmpty:TOPInitial StateAfterOne PushAfter Three More PushesAfterTwo Pops

اسلاید 20: 20Anatomy of Computer SystemCentral Processing Unit (CPU)Arithmetic Logic Unit (ALU)Control Unit (CU)Memory UnitInput DeviceOutput DeviceCommunication DeviceSecondary StorageCommunication NetworkPeripheral DevicesSystem Unit

اسلاید 21: 21Using Program MemoryWRSystem Bus8ALUCarry outputA BSCOUT F88To registers’ read/write and clock inputsControlUnitProgramMemoryProgramCounterProgram Counter, PCStores the position (or address) in program memory of the next instruction. It is automatically incremented after each operation.

اسلاید 22: 22Using Program MemoryWRSystem Bus8ALUCarry outputA BSCOUT F88To registers’ read/write and clock inputsControlUnitProgramMemoryProgramCounterProgram MemoryA block of programmable read-only memory (ROM) containing a list of op-codes, i.e. a program.

اسلاید 23: 23Instruction RegisterWRSystem Bus8ALUCarry outputA BSCOUT F88To registers’ read/write and clock inputsControlUnitInstructionRegisterProgramMemoryProgramCounterInstruction RegisterA special register whose only purpose is to temporarily store the op-code of the instruction currently being executed. The next instruction is fetched whilst the current one is executed.

اسلاید 24: 24Using Program MemoryWRSystem Bus8ALUCarry outputA BSCOUT F88To registers’ read/write and clock inputsControlUnitProgramMemoryProgramCounterControl UnitA block of logic that translates the op-code into the corresponding ALU select inputs and the control signals to the registers.

اسلاید 25: 25ارائه مثال ها

اسلاید 26: 261-رشته: كنترل به آن وارد ، فرايندي انجام ميشود ونهايتا كنترل از آن خارج ميگردد.CALL AVERAGELD A,(AVER)CALL DISPLAYCALL STANDARDLD A,(STAN)CALL DISPLAY…

اسلاید 27: 272-اگر-آنگاه: ابتدا يك شرط آزمايش ميشود سپس با توجه به نتيجه آزمايش فرآيندي انجام مي گيرد. IN A,(TEMP) LD B,A LD A,(THERMOSTAT) CP A,B JR NC,Label1 LD A,00H OUT (HEATER),ALabel1: IN A,(TEMP) LD B,A LD A,(THERMOSTAT) CP A,B JR C,Label2 LD A,01H OUT (HEATER),ALabel2: …

اسلاید 28: 283- اگر-آنگاه-در غير اينصورت: ابتدا يك شرط آزمايش ميشود سپس در صورتي كه شرط برقرار باشد فرآيند 1 و در غير اينصورت فرآيند 2 انجام ميگيرد . IN A,(TEMP) LD B,A LD A,(THERMOSTAT) CP A,B JR C,Label1 JR NC,Label2Label1: LD A,00H OUT (HEATER),A JR Label3Label2: LD A,01H OUT (HEATER),ALabel3: …

اسلاید 29: 294- تكرار-تا آنكه: يك فرآيند تا وقوع يك شرط تكرار ميشود. Loop: CALL READ LD (HL),A INC HL CP ODH JR NZ,Loop …

اسلاید 30: 305- اجراء-ماداميكه: يك شرط آزمايش ميشود و سپس در صورت برقراري شرط فرايندي انجام ميگيرد (در غير اينصورت از حلقه خارج ميگردد) و پس از آن ارزيابي شرط تكرار ميشودو...Loop: CALL READ CP 0DH JR Z,Label1 LD (HL),A INC HL JR LoopLabel1: …

اسلاید 31: 316- حلقه قابل برنامه ريزي: ابتداشمارنده اي مقداردهي اوليه ميشود، سپس فرآيندي انجام ميشود، آنگاه يك واحد از محتويات شمارنده كم ميگردد وبالاخره آزمايش ميشود كه آيا شمارنده به صفر رسيده يا نه؟ اگر محتويات شمارنده صفر نشده فرآيند تكرار ميگردد درغير اينصورت از حلقه خارج خواهد شد. LD B,12Loop: CALL READ LD (HL),A INC HL DJNZ Loop …

اسلاید 32: 32تجزيه و تحليل برنامه / زير برنامه جابجائي اطلاعات و محاسبات عددي

اسلاید 33: 331- انتقال بايت هاي اطلاعات ORG 100HSTART: LD HL,BLOCK1 LD DE,BLOCK2 LD BC,COUNT LDIR HALTBLOCK1:EQU 1000HBLOCK2:EQU 2000HCOUNT: EQU 0124H

اسلاید 34: 342- انتقال كلمات اطلاعات ORG 100HSTART: LD HL,1200H LD DE,2300H LD BC,0100H CALL MWORD;(Next Page) HALT

اسلاید 35: 35انتقال كلمات اطلاعات (ادامه) ORG 120HMWORD: SLA C RL B LDIR RET

اسلاید 36: 363- تعويض بايت هاي اطلاعات ORG 100HSTART: LD IX,2800H LD IY,2880H LD B,80HLoop: LD A,(IX) LD C,(IY) LD (IX),C LD (IY),A INC IX INC IY DJNZ Loop HALT

اسلاید 37: 374- تعويض قالبي كلمات اطلاعات ORG 100HDEST: EQU 2800HSOUR: EQU 1000HCOUNT: EQU 0200HSTART: LD IY,DEST LD IX,SOUR LD DE,COUNT CALL EWORD ; (On Next Page) HALT

اسلاید 38: 38زير برنامه تعويض (ادامه) ORG 150HEWORD:LD A,(IX) LD C,(IY) LD (IX),C LD (IY),A INC IX INC IY LD A,(IX) LD C,(IY) LD (IX),C LD (IY),A INC IX INC IY DEC DE LD A,D OR A,E JR NZ,EWORD RET

اسلاید 39: 395- روشي ديگر براي طراحي زير برنامه تعويض كلمات ORG 150HEWORD: CALL XCHGB CALL XCHGB DEC DE LD A,D OR A,E JR NZ,EWORD RET

اسلاید 40: 40زير برنامه تعويض (ادامه)XCHGB: LD A,(IX) LD C,(IY) LD (IX),C LD (IY),A INC IX INC IY RET

اسلاید 41: 416- انتقال رشته كاراكتريDB “ALI”,0DH,0AH ORG 100HDEST: EQU 1000HSOUR: EQU 2000HSTART: LD DE,DEST LD HL,SOUR CALL SMOVE; (Next Page) HALT

اسلاید 42: 42زير برنامه كاراكتر (ادامه) ORG 150HSMOVE: LD A,(HL) LD (DE),A INC HL INC DE CP A,LF JR NZ,SMOVE RET LF: EQU 0AH

اسلاید 43: 437- برنامه جمع10 عدد ذخيره شده در جدول (حافظه) حاصل 8بيتي ORG 100HSTART: LD HL,2800H LD B,10 XOR ALoop: ADD A,(HL) INC HL DJNZ Loop HALT

اسلاید 44: 448- برنامه جمع10 عدد ذخيره شده در جدول (حافظه) حاصل 16 بيتي ORG 100HSTART: LD HL,2800H LD B,10 XOR A LD C,ALoop: ADD A,(HL) JR NC,Down INC CDown: INC HL DJNZ Loop HALT

اسلاید 45: 459- برنامه تفريق محتويات جدول 2 از محتويات جدول 1 ORG 100HSTART: LD HL,LIST2 LD DE,LIST1 LD B,10HLoop: LD A,(DE) SUB A,(HL) LD (HL),A INC HL INC DE DJNZ Loop HALTLIST1: EQU 2800HLIST2: EQU 2810H

اسلاید 46: 4610- برنامه ضرب بدون علامت يك بايتي ORG 100HSTART: LD B,03H LD A, 06H CALL MULT; (Next Page) HALT

اسلاید 47: 47زير برنامه ضرب (ادامه) ORG 140HMULT: LD HL,0000H LD E,A LD D,00HLoop: ADD HL,DE DJNZ Loop RET

اسلاید 48: 4811- زير برنامه ضرب ( يك عدد 8 بيتي در عدد ثابت4 ) ORG 150HMULT4: LD L,A LD H,00H ADD HL,HL ADD HL,HL RET

اسلاید 49: 4912- زير برنامه ضرب ( يك عدد 8 بيتي در عدد ثابت7 ) ORG 150HMULT7: LD L,A LD H,00H LD DE,HL ADD HL,HL ADD HL,DE ADD HL,HL ADD HL,DE RET

اسلاید 50: 5013- زير برنامه ضرب ( يك عدد 8 بيتي در عدد ثابت 10) ORG 150HMULT 10: LD L,A LD H,00H ADD HL,HL LD D,H LD E,L ADD HL,HL ADD HL,HL ADD HL,DE RET

اسلاید 51: 5114- زير برنامه ضرب بدون علامت يك بايتي ميخواهيم زير برنامه HL = A * E را بنويسيم: ORG 200HMULT: LD HL,0000H LD D,HLoop: OR A JR Z,ENDP RRA JR NC,Loop1 ADD HL,DELoop1: EX DE,HL ADD HL,HL EX DE,HL JR LoopENDP: RET

اسلاید 52: 5215- زير برنامه تقسيم (بر عدد ثابت 4) ORG 150HDIV4: SRL A SRL A ADC A,00H RET

اسلاید 53: 5316- زير برنامه تقسيم بدون علامت يك بايتي ORG 300HDIV: LD B,08 LD H,00HDIV1: ADD HL,HL LD A,H SUB A,C JR C,DIV2 LD H,A INC LDIV2: DJNZ DIV1 RET

اسلاید 54: 5417- زير برنامه ضرب علامتدار (يك بايتي) ORG 500HSMULT: PUSH AF XOR A,E LD (SIGN),A POP AF CALL POSITIVE; (Next Page) PUSH AF LD A,E CALL POSITIVE LD E,A POP AF CALL MULT; (Previous Pages) CALL TEST; (Next Page) RET

اسلاید 55: 55زير برنامه مثبت كننده عدد يك بايتي (ادامه) POSITIVE: OR A RET P CPL INC A RET

اسلاید 56: 56زير برنامه تعيين علامت نتيجه (ادامه)TEST: LD A,(SIGN) OR A RET P LD A,H CPL LD H,A LD A,L CPL LD L,A INC HL RET

اسلاید 57: 57تبديل رمز ها ، جستجو در جدول و تاخير هاي زماني

اسلاید 58: 581- زير برنامه تبديل رمز ASCII بهHEX ORG 110HASHEX: SUB A,30H CP A,0AH JR C,ASHEX1 SUB A,07HASHEX1: RET

اسلاید 59: 592- زير برنامه تبديل رمز HEX به ASCII ORG 150HHEXAS: ADD A,30H CP A,3AH JR C, HEXAS1 ADD A,07HHEXAS1: RET

اسلاید 60: 603- زير برنامه تبديل رمز BCD به دودوئي (Binary) ORG 200HBCDBIN: LD HL,0000HBCDBIN1: LD A,(DE) CP A,0AH JR NC,BCDBIN2 CALL MULT10; (PREVIOUS PAGES) ADD A,L LD L,A LD A,H ADC A,00H LD H,A INC DE JR BCDBIN1BCDBIN2: RET

اسلاید 61: 61جستجو در جدول براي تبديل رمز 1- تبديل HEXADECIMAL به رمز هفت قسمتي ORG 500HLOOK: LD H,03H ADD A,OFFSET LD L,A LD A,(HL) RET ORG 0332HTABLE: DB 3FH DB 06H DB 5BH DB 4FH DB 66H DB 6DH DB 7DH DB 27H DB 7FH DB 6FH DB 77H DB 7CH DB 39H DB 5EH DB 79H DB 71HOFFSET: EQU 32H ; For Example

اسلاید 62: 62ايجاد تاخير هاي زماني با نرم افزار1- زير برنامه تاخير كوتاه مدت 2- زير برنامه تاخير ميان مدت 3- زير برنامه تاخير بلند مدت

اسلاید 63: 631- زير برنامه تاخير كوتاه مدت ORG 200HSDELAY : LD B,XXHSLOOP : DJNZ SLOOP RET

اسلاید 64: 642- زير برنامه تاخير ميان مدت ORG 300HLDELAY : LD BC,XXXXHLDELAY1 : DEC BC LD A,B OR A,C JR NZ, LDELAY1 RET

اسلاید 65: 653- زير برنامه تاخير بلند مدت ORG 400HVLDELAY : LD DE,XXXXHVLDELAY1: CALL LDELAY DEC DE LD A,D OR A,E JR NZ,VLDELAY1 RET

اسلاید 66: 66زير برنامه تاخير بلند مدت (ادامه) ORG 300HLDELAY : LD BC,XXXXHLDELAY1 : DEC BC LD A,B OR A,C JR NZ, LDELAY1 RET

اسلاید 67: 67ارتباط دهي موازي وسايل ورودي/خروجي

اسلاید 68: 681- نرم افزار خواندن كليدفشاري، لرزش گيري و افزايش عدد دودوئي بر روي نمايشگر LEDSTART: IN A,(PORTB) RRCA JR NC,START CALL BOUNCE IN A,(PORTB) RRCA JR NC,START

اسلاید 69: 69(ادامه)START1: IN A,(PORTB) RRCA JR C,START1 CALL BOUNCE IN A,(PORTB) RRCA JR C,START1

اسلاید 70: 70(ادامه) IN A,(PORTA) INC A OUT (PORTA),A JR STARTBOUNCE : LD BC,0700HBOUNCE1: DEC BC LD A,B OR A,C JR NZ, BOUNCE1 RET

اسلاید 71: 712- زير برنامه اي براي خواندن يك كاراكتر از صفحه كليدBIT5 : EQU 20HREADKEY : IN A,(PORTC) AND A,BIT5 JR Z,READKEY IN A,(PORTA) RET

اسلاید 72: 723- زير برنامه اي براي ارسال محتويات ثباتB به چاپگرBIT1 : EQU 02HPRINT : IN A,(PORTC) AND A,BIT1 JR Z,PRINT LD A,B OUT (PORTB),A LD A,00001000B OUT (COMMAND),A LD A,00001001B OUT (COMMAND),A RET

اسلاید 73: 734- زير برنامه اي كه محتويات ثبات Bرا به گذرگاه دو طرفه ارسال ميكندBIT7 : EQU 80HSEND : IN A,(PORTC) AND A,BIT7 JR Z,SEND LD A,B OUT (PORTA),A RET BIT5 : EQU 20HREAD : IN A,(PORTC) AND A,BIT5 JR Z,READ IN A,(PORTA) RET

اسلاید 74: 745- زير برنامه اي براي مرور صفحه كليد ماتريسيSCAN : CALL CHECK JR NZ,SCAN CALL DELAY CALL CHECK JR NZ,SCAN

اسلاید 75: 75(ادامه)SCAN1 : CALL CHECK JR Z,SCAN1 CALL DELAY CALL CHECK JR Z,SCAN1

اسلاید 76: 76(ادامه) DEC C LD A,C ADD A,A ADD A,A LD C,A LD B,0FFH IN A,(PORTB)SCAN2 : RRCA INC B JR C,SCAN2 LD A,B ADD A,C RET

اسلاید 77: 77(ادامه)CHECK : LD C,5 LD B,0FEHCHECK1 : LD A,B OUT (PORTA),A RLCA LD B,A IN A,(PORTB) INC A RET NZ DEC C JR NZ, CHECK1 RET

اسلاید 78: 78(ادامه)LDELAY : LD DE,600HLDELAY1 : DEC DE LD A,D OR A,E JR NZ, LDELAY1 RET

اسلاید 79: 796- زير برنامه اي براي ارسال داده ها به نمايشگرهاي هفت قسمتيINIT : LD HL,RAM LD C,4INIT1 : LD (HL),00H INC HL DEC C JR NZ,INIT1 LD A,0EEH LD (POINT),A LD A,OOH LD (POS),A

اسلاید 80: 80(ادامه) ORG 0066HDISPLAY: PUSH AF PUSH HL LD A, (POINT) OUT (PORTB),A RLCA LD (POINT),A LD A,(POS) LD HL,RAM LD L,A LD A,(HL) OUT (PORTA),A LD A,L INC A LD (POS),A SUB A,04H JR NZ,DISPLAY1 LD (POS),ADISPLAY1:POP HL POP AF RETN ORG 2000H RAM DS 4

اسلاید 81: 817- زير برنامه سرويس وقفه براي ارسال يك بايت از طريق درگاه A به چاپگرTRANS : LD (ADDR),HL LD H,B LD L,C LD (COUNT),HL LD A,01H LD (FLAG),A LD A,0DH OUT (COMMAND),A RET

اسلاید 82: 82(ادامه) ORG 0066HINTR : PUSH AF PUSH HL PUSH DE LD HL,(COUNT) EX DE,HL LD HL,(ADDR) LD A,(HL) OUT (PORTA),A LD A,0AH OUT (COMMAND),A LD A,0BH OUT (COMMAND),A INC HL LD (ADDR),HL EX DE,HL DEC HL LD (COUNT),HL LD A,H OR A,L JR NZ,INTR1 LD A,00H LD (FLAG),A LD A,0CH OUT (COMMAND),AINTR1 : POP DE POP HL POP AF RETN

اسلاید 83: 83ارتباط دهي سري وسايل ورودي/خروجي

اسلاید 84: 84آماده سازي 8251Aدر حالت ناهمگامINIT: LD A,00H OUT (COMMAND),A OUT (COMMAND),A OUT (COMMAND),A LD A,40H OUT (COMMAND),A LD A,01111010B OUT (COMMAND),A LD A,00010101B OUT (COMMAND),A

اسلاید 85: 85آماده سازي 8251Aدر حالت همگامINIT: LD A,00H OUT (COMMAND),A OUT (COMMAND),A OUT (COMMAND),A LD A,40H OUT (COMMAND),A LD A,10111000B OUT (COMMAND),A LD A,7EH OUT (COMMAND),A LD A,7FH OUT (COMMAND),A LD A,00010101B OUT (COMMAND),A

اسلاید 86: 861- زير برنامه اي براي ارسال محتواي ثبات Bبه خط ارسال سريال8251ACOMMAND : EQU 81HDATA : EQU 80HSEND : IN A,(COMMAND) RRCA JR NC,SEND LD A,B OUT (DATA),A RET

اسلاید 87: 872- زير برنامه اي براي دريافت اطلاعات از طريق خط دريافت سريال 8251A به ثبات BCOMMAND : EQU 81HDATA : EQU 80HRECVR : IN A,(COMMAND) RRCA RRCA JR NC, RECVR IN A,(DATA) LD B,A IN A,(COMMAND) AND A,38H JR Z,NEXT LD B,”?” LD A,15H IN A,(COMMAND)NEXT : RET

اسلاید 88: 88

اسلاید 89: 89پايان

34,000 تومان

خرید پاورپوینت توسط کلیه کارت‌های شتاب امکان‌پذیر است و بلافاصله پس از خرید، لینک دانلود پاورپوینت در اختیار شما قرار خواهد گرفت.

در صورت عدم رضایت سفارش برگشت و وجه به حساب شما برگشت داده خواهد شد.

در صورت نیاز با شماره 09353405883 در واتساپ، ایتا و روبیکا تماس بگیرید.

افزودن به سبد خرید