13
ใบงานการทดลอง ไมโครโปรเซสเซอร์ บริษัท อีทีที จำกัด 1112/96-98 ถนนสุขุมวิท แขวงพระโขนง เขตคลองเตย กรุงเทพฯ 10110 http://www.etteam.com www.ett.co.th 1112/96-98 Sukhumvit Rd., Phrakanong Klongtoey Bangkok 10110 http://www.ett.co.th ETT CO., LTD. Tel : 02-7121120 Fax : 02-3917216 email : [email protected] สำหรับ ET-BOARD V6.0 ET - BOARD V6.0 Z80

สำหรับ ET-BOARD V6 ETV6.pdfใบงานทดลองไมโครโปรเซสเซอร Z-80 ส าหร บ ET-Board V6.0 ETT CO.,LTD. 1 ใบงานท

  • Upload
    others

  • View
    2

  • Download
    1

Embed Size (px)

Citation preview

Page 1: สำหรับ ET-BOARD V6 ETV6.pdfใบงานทดลองไมโครโปรเซสเซอร Z-80 ส าหร บ ET-Board V6.0 ETT CO.,LTD. 1 ใบงานท

ใบงานการทดลองไมโครโปรเซสเซอร

บรษท อทท จำกด1112/96-98 ถนนสขมวท แขวงพระโขนง เขตคลองเตย กรงเทพฯ 10110 http://www.etteam.com

www.ett.co.th1112/96-98 Sukhumvit Rd., Phrakanong Klongtoey Bangkok 10110 http://www.ett.co.th

ETT CO., LTD.Tel : 02-7121120 Fax : 02-3917216 email : [email protected]

สำหรบ ET-BOARD V6.0

ET

- BO

AR

D V

6.0

Z80

Page 2: สำหรับ ET-BOARD V6 ETV6.pdfใบงานทดลองไมโครโปรเซสเซอร Z-80 ส าหร บ ET-Board V6.0 ETT CO.,LTD. 1 ใบงานท

สงวนลขสทธตามพระราชบญญตลขสทธ พ.ศ. 2537หามลอกเลยนไมวาสวนหนงสวนใดของหนงสอเลมนไมวาในรปแบบใดนอกจากจะไดรบอนญาตเปนลายลกษณอกษรจากผจดพมพ

จดพมพโดยบรษท อทท จำกด1112/96-98 ถนนสขมวท แขวงพระโขนงเขตคลองเตย กรงเทพ 10110โทร. 02-712-1120 - 1 FAX 02- 391-7216.E-Mail : [email protected]

ISBN 974-91487-6-2

พมพครงท 1 จำนวน 1000 เลม18 สงหาคม 2546จำนวน 96 หนาราคา 70 บาท

ผเขยน นายจกรพนธ จตรทรพย

ชอหนงสอ “ใบงานทดลองไมโครโปรเซสเซอร Z80 ”

www.ett.co.th

Double CPU

• CPU Z80• CPU MCS - 51

Page 3: สำหรับ ET-BOARD V6 ETV6.pdfใบงานทดลองไมโครโปรเซสเซอร Z-80 ส าหร บ ET-Board V6.0 ETT CO.,LTD. 1 ใบงานท

คานา

ไมโครโปรเซสเซอร Z-80 ยงเปนไมโครโปรเซสเซอรทผใชใหการยอมรบจนถงปจจบน ดงนน ทางทมงาน ETT จงไดจดทาคมอการทดลอง ไมโครโปรเซสเซอร Z-80 ขน ซงคมอนจะใชไดกบบอรดทดลองไมโครโปรเซสเซอร ET-Board V6.0 ซงภายในบอรดทดลอง ET-Board V6.0 นจะรวม CPUยอดนยม 2 ตวไวในบอรดเดยวกน คอ Z-80 และ MCS-51 โดยคมอนจะเหมาะสาหรบผเรมตนทมความรทางดานไมโครโปรเซสเซอร Z-80 มากอน และ ภายในใบงานแตละบท จะมเนอหาทฤษฎโดยยอเพอใหผอานไดทบทวนกอนการทดลอง

ในคมอทดลองไมโครโปรเซสเซอร Z-80 นภายในจะม 15 ใบงาน ซงบางใบงานจะตองใชพนทของหนวยความจา หรอ ใชงานเกยวกบ Stack ซงพนทการใชงานหนวยความจา Address บางตาแหนง หรอ พนท Stack เหลานจะตองอางองจากหนงสอคมอของบอรด ET-Board V6.0 เนองจากพนทของหนวยความจาบางพนท ระบบไดจองไวใชงานแลวโดยผใชไมสามารถใชงานไดอก

หากมขอผดพลาดประการใดเกยวกบเนอหาภายในคมอการทดลองไมโครโปรเซสเซอร Z-80 น ทางทมงาน ETT ขอนอมรบเพอการแกไขตอไป

ทมงาน ETT สงหาคม 2546

Page 4: สำหรับ ET-BOARD V6 ETV6.pdfใบงานทดลองไมโครโปรเซสเซอร Z-80 ส าหร บ ET-Board V6.0 ETT CO.,LTD. 1 ใบงานท

สารบญ

เรอง หนา ใบงานท 1 8 BIT LOAD GROUP 1 ใบงานท 2 16 BIT LOAD GROUP 10 ใบงานท 3 การใชคาสง ADD 17 ใบงานท 4 การใชคาสง ADC 24 ใบงานท 5 การใชงานคาสง SUB 29 ใบงานท 6 การใชงานคาสง SBC 36 ใบงานท 7 คาสงทางคณตศาสตรขนาด 16 บต 40 ใบงานท 8 การใชงานคาสง AND , OR และ XOR 47 ใบงานท 9 การใชคาสง PUSH และคาสง POP 54 ใบงานท 10 การใชคาสง CP , INC และ DEC 59 ใบงานท 11 ABSOLUTE JUMP 64 ใบงานท 12 RELATIVE JUMP 69 ใบงานท 13 การใชงานคาสง ROTATE 74 ใบงานท 14 การใชงานคาสง SHIFT 81 ใบงานท 15 BIT SET , RESET และ TEST GROUP 86

Page 5: สำหรับ ET-BOARD V6 ETV6.pdfใบงานทดลองไมโครโปรเซสเซอร Z-80 ส าหร บ ET-Board V6.0 ETT CO.,LTD. 1 ใบงานท

ใบงานทดลองไมโครโปรเซสเซอร Z-80 สาหรบ ET-Board V6.0

ETT CO.,LTD. 1 WWW.ETT.CO.TH

ใบงานท 1 เรอง 8 – BIT LOAD GROUP

ความมงหมาย เพอใหนกศกษารจก และ สามารถใชคาสงของ Z80 ในกลมของ 8-Bit ในการยายขอมลได จประสงคเชงพฤตกรรม

1. เพอใหนกศกษาสามารถนาขอมลมาเกบใน Register ได 2. เพอใหนกศกษาสามารถนาขอมลจาก Register หนงไปไวใน Register หนงได 3. เพอใหนกศกษาสามารถนาขอมลจาก Register ไปไวในหนวยความจาได 4. เพอใหนกศกษาสามารถนาขอมลจากหนวยความจาไปไวใน Register ได

ความรทงไป ในตว CPU Z80 ม Register ขนาด 8 บตทสามารถใชคาสงในการเกบขอมลไดเพยง 8 ตว คอ Register A, B, C, D, E, H, L และ I นอกจากนยงม Register ขนาด 7 บต อก 1 ตวคอ Register R รายละเอยดในการใชงาน ควรศกษาจากคมอชดคาสงไมโครโปรเซสเซอร Z80 ใหเขาใจเสยกอน คาสงทจะใชในการปฎบตน คอ [LD r,n], [LD r,r] [LD (HL),r], [LD(IX+d),n], [LD(IY+d),r] [LD(IY+d),n], [LDr,(IX+d)] และ [LD(IY+d)] เมอ n คอ ขอมล (DATA) ขนาด 8 บต ทกาหนดเอง หรอ เปนตวเลขมาตรฐาน 16 จานวน 2 ตว ตวอยาง คาสง LD r,n r = รจสเตอรขนาด 8 บต ไดแก รจสเตอร B, C, D, E, H, L, A n = ขอมลขนาด 8 บต ทแทนดวยเลขฐานสบจานวน 2 ตว เชน LD A,00H จะได Machine Code หรอ OP- CODE คอ 00111110 = 3EH และ 00H = ขอมล 00H OP – CODE ของ LD A,00H = 3EH สาหรบ Address ในหนวยความจานนใน 1 Address จะสามารถเกบขอมลไดเพยง 8 บตเทานน ในเครอง ET - BOARD V6.0 จะสามารถปอนคาสง หรอ ใชงานหนวยความจาของเครองไดในชวง Address ทเปนหนวยความจา RAM ตงแต 8000H – BDFFH เทานน หากจะใชตาแหนง อน ๆ จะตองประกอบ RAM ในเครองเพมเตม

Page 6: สำหรับ ET-BOARD V6 ETV6.pdfใบงานทดลองไมโครโปรเซสเซอร Z-80 ส าหร บ ET-Board V6.0 ETT CO.,LTD. 1 ใบงานท

ใบงานทดลองไมโครโปรเซสเซอร Z-80 สาหรบ ET-Board V6.0

ETT CO.,LTD. 2 WWW.ETT.CO.TH

เครองมอและอปกรณ 1.ชดฝกไมโครโปรเซสเซอร 1 ชด (ET SINGLE BOARD V6.0)

2.คมอชดคาสงไมโครโปรเซสเซอร 1 เลม (Z80 INSTRUCTION SET) ลาดบขนการทดลอง จดประสงคท 1 เพอใหนกศกษาสามารถนาขอมลมาเกบใน Register ได 1.1 จงหา Machine Code จากคมอชดคาสงไมโครโปรเซสเซอร Z80 มาเตมลงในโปรแกรมตอไปน ADDRESS MACHINE CODE INSTRUCTION ; COMMENTS 8000 LD A,00H ; 8002 LD B,0FFH ; 8004 LD C,12H ; 8006 LD D,10H ; 8008 LD E,0ABH ; 800A LD H,0A4H ; 800C LD L,1DH ; _____ RST 18 ; 1.2 ปอน Machine Code (Op-Code) จากโปรแกรมในขอท 1.1 ไวในเครอง ทหนวยความจาตาแหนง Address ท 8000H เปนตนไป โดยใชปม MON, DATA, INC, และ DEC รวมกน 1.3 กดปม MON แลวตง Address ในหนวยความจาไวท Address 8000H

1.4 สง Execute โปรแกรมทปอนไวในเครอง โดยสงใหทางานทละคาสงดวยปม STEP ทาการเชคขอมลทเกบไวใน Register A , B , C , D , E ,H และ L ตามลาดบ บนทกขอมลทไดลงในตารางท 1.1

1.5 กดปม MON เพอตง Address ในหนวยความจาไวท Address 8000H 1.6 ทดลองสง Execute โปรแกรมอกครงหนง โดยใชปม RUN เชคขอมลทเกบใน Register A, B, C,

D, E, H และ L เปรยบเทยบกบตารางท 1.1 เปนอยางไร จงอธบาย ____________________________________________________________________________________________________________________________________________________________________________________

Page 7: สำหรับ ET-BOARD V6 ETV6.pdfใบงานทดลองไมโครโปรเซสเซอร Z-80 ส าหร บ ET-Board V6.0 ETT CO.,LTD. 1 ใบงานท

ใบงานทดลองไมโครโปรเซสเซอร Z-80 สาหรบ ET-Board V6.0

ETT CO.,LTD. 3 WWW.ETT.CO.TH

REGISTER DATA

A B C D E H L

ตารางท 1.1 จดประสงคท2. เพอใหนกศกษาสามารถนาขอมลจาก Register หนงไปไวใน Register หนงได 2.1 จงหา Machine code จากคมอชดคาสงไมโครโปรเซสเซอร Z80 มาเตมลงในโปรแกรมขางลางน

ADDRESS MACHINE CODE INSTRUCTION ; COMMENTS 8000 3E 4F LD A,4FH ; 8002 06 A5 LD B,0A5H ;

8004 0E 74 LD C,74H ; 8006 LD D,A ; 8007 LD E,B ; 8008 LD H,C ; 8009 LD L,D ; 800A RST 18H ;

2.2 ปอน Machine Code (Op-Code) จากโปรแกรมในขอท 2.1 ไวในเครอง ทหนวยความจาตาแหนง Address ท 8000H เปนตนไป โดยใชปม MON, DATA, INC, และ DEC รวมกน 2.3 กดปม MON แลวตง Address ในหนวยความจาไวท Address 8000H 2.4 สง Execute โปรแกรมทปอนไว โดยสงใหทางานทละคาสงดวยปม STEP ทาการบนทกขอมลทเกบไวใน Register แตละตวลงในตารางท 2.1

Page 8: สำหรับ ET-BOARD V6 ETV6.pdfใบงานทดลองไมโครโปรเซสเซอร Z-80 ส าหร บ ET-Board V6.0 ETT CO.,LTD. 1 ใบงานท

ใบงานทดลองไมโครโปรเซสเซอร Z-80 สาหรบ ET-Board V6.0

ETT CO.,LTD. 4 WWW.ETT.CO.TH

REGISTER DATA A B C D E H L

ตารางท 2.1

2.5 ขอมลใน Register A , B และ C กบขอมลใน Register D , E และ H มความสมพนธกนอยางไร จงอธบาย ______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ จดประสงคท 3. เพอใหนกศกษาสามรถนาขอมลจาก Register ไปไวในหนวยความจาได 3.1 จงหา Machine Code ( Op-code) จากคมอชดคาสงไมโครโปรเซสเซอร Z80 มาเตมลงในโปรแกรมตอไปน ADDRESS MACHINE CODE INSTRUCTION ; COMMENTS 8000 3E 4F LD A,4FH ; 8002 06 A5 LD B,A5H ; 8004 26 80 LD H,80H ; 8006 2E F0 LD L,F0H ; 8008 _________________ LD (HL),A ; 8009 _________________ LD (IX+1),A ; 800C _________________ LD (IX+2),B ; 800F _________________ LD (IX+0FFH),A ;

Page 9: สำหรับ ET-BOARD V6 ETV6.pdfใบงานทดลองไมโครโปรเซสเซอร Z-80 ส าหร บ ET-Board V6.0 ETT CO.,LTD. 1 ใบงานท

ใบงานทดลองไมโครโปรเซสเซอร Z-80 สาหรบ ET-Board V6.0

ETT CO.,LTD. 5 WWW.ETT.CO.TH

8012 _________________ LD (IX+0FEH),B ; 8015 _________________ RST 18H ; 3.2 ปอน Machine Code จากโปรแกรมในขอท 3.1 ไวในเครอง ในหนวยความจา Address ท 8000H เปนตนไป โดยใชปม MON, DATA, INC, และ DEC รวมกน 3.3 ปอนขอมล 80F5H ไวใน Register IX เพอใชระบ Address ในหนวยความจาโปรแกรม 3.4 กดปม MON เพอตงคา Address ในหนวยความจาไวท Address 8000H 3.5 สง Execute โปรแกรมทปอนไวในเครอง โดยสงใหทางานทละคาสง ดวยปม STEP ทาการบนทกขอมลทเกบไวใน Register และขอมลใน Address หนวยความจาลงในตารางท 3.1

REGISTER ADDRESS DATA A - B - - 80F0 - 80F6 - 80F7 - 80F4 - 80F3

ตารางท 3.1

3.6 ขอมลในตารางท 3.1 ทเกบใน Register กบใน Address ของหนวยความจามความสมพนธกนอยางไร จงอธบาย ______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

Page 10: สำหรับ ET-BOARD V6 ETV6.pdfใบงานทดลองไมโครโปรเซสเซอร Z-80 ส าหร บ ET-Board V6.0 ETT CO.,LTD. 1 ใบงานท

ใบงานทดลองไมโครโปรเซสเซอร Z-80 สาหรบ ET-Board V6.0

ETT CO.,LTD. 6 WWW.ETT.CO.TH

จดประสงคท 4 เพอใหนกศกษาสามารถนาขอมลจากหนวยความจาไปไวใน Register ได 4.1 จงหา Machine Code (Op-Code) จากคมอชดคาสงไมโครโปรเซสเซอร Z80 มาเตมลงในโปรแกรมตอไปน ADDRESS MACHINE CODE INSTRUCTION ;COMMENTS 8000 ________________ LD D,80H ; 8002 ________________ LD E,0F0H ; 8004 ________________ LD A,(DE) ; 8005 ________________ LD B,(IY+5) ; 8008 ________________ LD C,(IY+0F0H) ; _____ ________________ RST 18H ; 4.2 ปอน Machine Code (Op -Code) จากโปรแกรมในขอท 4.1 ไวในเครองตาแหนง Addressท 8000H เปนตนไป โดยใชปม MON, DATA, INC และ DEC รวมกน

4.3 ปอนขอมล 80F5Hไวใน Register IY เพอใชระบ Addressในหนวยความจาในโปรแกรม 4.4 ปอนขอมล 11H, 22H, 33H ลงในหนวยความจา Address ท 80F0H, 80FAH, 80E5H ตามลาดบ 4.5 กดปม MON เพอตง Address ในหนวยความจาไวท Address 8000H

4.6 สง Execute โปรแกรมทปอนไว โดยสงใหทางานทละคาสงดวยปม STEP ทาการบนทกขอมลใน Register A, B และ C และ ขอมลใน Address หนวยความจาลงในตารางท 4.1 4.7 ขอมลในตารางท 4.1 คา Register กบ Address ของหนวยความจามความสมพนธกนอยางไร จงอธบาย ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

Page 11: สำหรับ ET-BOARD V6 ETV6.pdfใบงานทดลองไมโครโปรเซสเซอร Z-80 ส าหร บ ET-Board V6.0 ETT CO.,LTD. 1 ใบงานท

ใบงานทดลองไมโครโปรเซสเซอร Z-80 สาหรบ ET-Board V6.0

ETT CO.,LTD. 7 WWW.ETT.CO.TH

REGISTER ADDRESS DATA A - B - C - - 80F0 - 80FA - 80E5

ตารางท 4.1

สรปผลการทดลอง _____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ คาถาม 1. จงทาการเขยนโปรแกรมนาขอมล A0H , A1H , A2H , A3H , A4H และ A5H ไปเกบไวในหนวยความจา Address 80F0H เปนตนไป โดยใชคาสง LD (IX+d),r กาหนดให Register IX เกบขอมล 80F3H จงตอบคาถามตอไปน 1. ไมโครโปรเซสเซอร Z80 ม Register ขนาดก BIT 2. Z80 สามารถเกบขอมลตามขอ 1 มกตว 3. จากคาถามท 2 ม Register อะไรบาง 4. ขอมลขนาด 8 บต แทนดวยเลขฐานอะไร 5. จานวนเลข 16 H มคาเทากบเลข binary เทาใด

Page 12: สำหรับ ET-BOARD V6 ETV6.pdfใบงานทดลองไมโครโปรเซสเซอร Z-80 ส าหร บ ET-Board V6.0 ETT CO.,LTD. 1 ใบงานท

ใบงานทดลองไมโครโปรเซสเซอร Z-80 สาหรบ ET-Board V6.0

ETT CO.,LTD. 8 WWW.ETT.CO.TH

จงทาเครองหมายถก หนาขอทถก หรอทาเครองหมายผดหนาขอทผด _____1. กดปม MON เพอตง Address ในหนวยความจาไวท Address 8000H _____2. การสง Execute โปรแกรมทปอนไวในเครอง โดยสงใหทางานทละคาสง ดวยปม MON _____3. ไมโครโปรเซสเซอรเบอร Z80 ม Register ขนาด 16 บต อย 7 ตว _____4. r = รจสเตอรขนาด 8 บตไดแก Register B, C, D, E, H, L, A _____5. n = ขอมล 8 บต ทแทนดวยเลขฐาน 16 จานวน 2 ตว จงเลอกขอทถกตองทสด 1. CPU Z-80 ม Index Register ขนาดกบต

ก. 4 บต ข. 8 บต ค. 16 บต ง. 24 บต

2. CPU Z-80 ม Register 8 บต ตวใดททาหนาทเฉพาะงานหนง ๆ เทานน ก. F ข. I ค. R ง. ถกทกขอ

3. คาสง Run จะเชคขอมลทละเทาไหร ก. ทารวดเดยว ข. ทาทละ 2 คาสง ค. ทาทละ 3 คาสง ง. ไมมขอถก

4. LD A, 0FFH หมายความวาอยางไร ก. นาขอมล 0FFH มาใสใน Register A ข. นา A มาใสใน Register FF ค. นาขอมล 0F มาใสใน A ง. นาขอมล FH มาใสใน Register A

Page 13: สำหรับ ET-BOARD V6 ETV6.pdfใบงานทดลองไมโครโปรเซสเซอร Z-80 ส าหร บ ET-Board V6.0 ETT CO.,LTD. 1 ใบงานท

ใบงานทดลองไมโครโปรเซสเซอร Z-80 สาหรบ ET-Board V6.0

ETT CO.,LTD. 9 WWW.ETT.CO.TH

5. LD D,A คออะไร ก. นาขอมล D ใสใน A ข. นาขอมล A ใสใน D ค. นาขอมล D ทง ง. ลบขอมลใน A ทง