งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

15/08/47Macro Language and the Macro Language 1 บทที่ 4 Macro Language and the Macro Processor.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "15/08/47Macro Language and the Macro Language 1 บทที่ 4 Macro Language and the Macro Processor."— ใบสำเนางานนำเสนอ:

1 15/08/47Macro Language and the Macro Language 1 บทที่ 4 Macro Language and the Macro Processor

2 15/08/47Macro Language and the Macro Language 2 จุดประสงค์การเรียนการสอน 4. แมคโคร 41 เข้าใจความรู้พื้นฐานเกี่ยวกับแมคโคร 411 เขียนโปรแกรม โดยใช้แมคโคร 412 เขียนโปรแกรมเรียกแมคโคร จากแมค โครภายใน

3 15/08/47Macro Language and the Macro Language 3 จุดประสงค์การเรียนการสอน ( ต่อ ) 42 มีทักษะในการออกแบบตัวแอสเซมเบลอร์ ที่ สามารถใช้ชุดคำสั่ง แมคโคร 421 อธิบายขั้นตอนการออกแบบแมคโครแอส เซมเบลอร์ 422 อธิบายข้อกำหนดของปัญหาของแมคโค รแอสเซมเบลอร์ 423 อธิบายโครงสร้างข้อมูลของแมคโครแอส เซมเบลอร์ 424 อธิบายฐานข้อมูลของแมคโครแอสเซม เบลอร์ 425 อธิบายซิมโบลเทเบิ้ลของแมคโครแอสเซม เบลอร์ 426 อธิบายแมคโครแอสเซมเบลอร์ ในส่วน พาส - วัน 427 อธิบายแมคโครแอสเซมเบลอร์ ในส่วน พาส - ทู

4 15/08/47Macro Language and the Macro Language 4 คำสั่งแมโคร Macro Instructions ( หรือเรียกสั้นๆ Macro) คำสั่งเดียว ใช้แทนคำสั่งกลุ่มหนึ่งหรือชุดหนึ่ง โดยปกติ จะประกอบด้วยคำสั่ง หลาย ๆ คำสั่ง ที่ผู้ทำโปรแกรมนำมารวมไว้ คำสั่งแมโครนี้จะมี การกำหนดเป็นชื่อคำสั่งไว้ในตอนต้นโปรแกรม เมื่อใดก็ตามที่มีการเรียกชื่อคำสั่งที่กำหนดไว้นี้ ก็จะเป็นการเรียกใช้กลุ่มคำสั่งที่ประกอบด้วย คำสั่งทั้งชุดนั้น คำสั่งแมโครนี้ เราสามารถเรียกใช้ได้ตลอดเวลา ที่เรียกใช้โปรแกรมนั้นอยู่ หรือทุกแห่งที่ต้องการ เรียกใช้คำสั่งกลุ่มนั้น

5 15/08/47Macro Language and the Macro Language 5 ตัวแปลแมโคร macro assembler เป็นโปรแกรมคอมพิวเตอร์ที่ใช้งานในการสร้าง โปรแกรมแมโคร มีหน้าที่แปลภาษาที่ใช้ในแมโคร ให้เป็น ภาษาแอสเซมบลี (assembly language) แต่ละข้อคำสั่งในโปรแกรมภาษาแอสเซมบลีนั้น ใช้แทนคำสั่งภาษาเครื่อง (machine language) หลายคำสั่งได้ ฉะนั้นถ้าเขียนแมโคร เก็บไว้ เมื่อเรียกมาใช้ก็จะทำให้สะดวก ไม่ต้อง พิมพ์คำสั่งยาว ๆ

6 15/08/47Macro Language and the Macro Language คำสั่ง Macro : A1, DATA A2, DATA A3, DATA : A1, DATA A2, DATA A3, DATA : DATADC F’5’ : ซ้ำกัน สามารถ ทำ เป็น Macro หน เดียวด้วยชื่อย่อ แล้วเรียกใช้ได้ หลายหน

7 15/08/47Macro Language and the Macro Language คำสั่ง Macro ( ต่อ ) Macro Instruction Definition Format MACROStart of definition [ ]Macro name Sequence to be abbreviated MENDEnd of definition

8 15/08/47Macro Language and the Macro Language 8 ตัวอย่างภาษาแอสเซมลี้ที่เขียนซ้ำ ตัวอย่างที่ 1 : A1, DATA A2, DATA A3, DATA : A1, DATA A2, DATA A3, DATA : DATADC F’5’ : ซ้ำกัน สามารถ ทำเป็น Macro หนเดียวด้วยชื่อ ย่อ แล้วเรียก ใช้ได้หลายหน

9 15/08/47Macro Language and the Macro Language 9 เขียนโดยใช้ Macro SOURCE MACRO INCR A1, DATA A2, DATA A3, DATA MEND : INCR : INCR : DATADC F’5’ EXPANDED SOURCE : A1, DATA A2, DATA A3, DATA : A1, DATA A2, DATA A3, DATA : DATADC F’5’

10 15/08/47Macro Language and the Macro Language Features of a Macro Facility ตัวอย่างที่แล้ว ยังไม่มีประสิทธิภาพพอ กรณี ข้อมูลมีหลายชุด ที่แอดเดรสแตกต่างกัน

11 15/08/47Macro Language and the Macro Language Macro Instruction Arguments เพิ่ม Macro dummy arguments

12 15/08/47Macro Language and the Macro Language 12 ตัวอย่างที่ 2 : A1, DATA1 A2, DATA1 A3, DATA1 : A1, DATA2 A2, DATA2 A3, DATA2 : DATA1DC F’5’ DATA2DC F’10’ : คล้าย แต่ไม่เหมือน

13 15/08/47Macro Language and the Macro Language 13 เขียนโดยใช้ Macro SOURCE MACRO INCR &ARG A1, &ARG A2, &ARG A3, &ARG MEND : INCR DATA1 : INCR DATA2 : DATA1DC F’5’ DATA2DC F’10’ EXPANDED SOURCE : A1, DATA1 A2, DATA1 A3, DATA1 : A1, DATA2 A2, DATA2 A3, DATA2 : DATA1DC F’5’ DATA2DC F’10’

14 15/08/47Macro Language and the Macro Language 14 ตัวอย่างที่ 3 : LOOP1A1, DATA1 A2, DATA2 A3, DATA3 : LOOP2A1, DATA3 A2, DATA2 A3, DATA1 : DATA1DC F’5’ DATA2DC F’10’ DATA3DC F’15’ : คล้าย แต่ไม่เหมือน

15 15/08/47Macro Language and the Macro Language 15 เขียนโดยใช้ Macro SOURCE MACRO &LABINCR &ARG1,&ARG2,&ARG3 &LABA1, &ARG1 A2, &ARG2 A3, &ARG3 MEND : LOOP1INCR DATA1,DATA2,DATA3 : LOOP2INCR DATA3,DATA2,DATA1 : DATA1DC F’5’ DATA2DC F’10’ DATA3DC F’15’ EXPANDED SOURCE : LOOP1A1, DATA1 A2, DATA2 A3, DATA3 : LOOP2A1, DATA3 A2, DATA2 A3, DATA1 : DATA1DC F’5’ DATA2DC F’10’ DATA3DC F’15’ Argument ตรงตำแหน่ง

16 15/08/47Macro Language and the Macro Language 16 เขียนโดยใช้ Macro อีกรูปแบบ SOURCE MACRO INCR &ARG1,&ARG2,&ARG3, &LAB &LABA1, &ARG1 A2, &ARG2 A3, &ARG3 MEND : INCR DATA1,DATA2,DATA3,LOOP1 : INCR DATA3,DATA2,DATA1,LOOP2 : DATA1DC F’5’ DATA2DC F’10’ DATA3DC F’15’ EXPANDED SOURCE : LOOP1A1, DATA1 A2, DATA2 A3, DATA3 : LOOP2A1, DATA3 A2, DATA2 A3, DATA1 : DATA1DC F’5’ DATA2DC F’10’ DATA3DC F’15’

17 15/08/47Macro Language and the Macro Language การใช้คำสั่งเงื่อนไขในแมโคร 2 คำสั่งที่สำคัญคือ AIF และ AGO AIF เป็นคำสั่ง กระโดดไปทำ แบบมีเงื่อนไข AGO เป็นคำสั่ง กระโดดไปทำ แบบไม่มี เงื่อนไข.LABELNAME เป็นแอดเดรสที่คำสั่ง AIF และ AGO กระโดดไปทำ

18 15/08/47Macro Language and the Macro Language 18 ตัวอย่างที่ 4 การใช้คำสั่งเงื่อนไขใน แมโคร : LOOP1A1, DATA1 A2, DATA2 A3, DATA3 : LOOP2A1, DATA3 A2, DATA2 : LOOP3A1, DATA1 : DATA1DC F’5’ DATA2DC F’10’ DATA3DC F’15’ :

19 15/08/47Macro Language and the Macro Language 19 เขียนโดยใช้ Macro SOURCE MACRO &ARG0VARY &COUNT,&ARG1,&ARG2,&ARG3 &ARG0A1, &ARG1 AIF(&COUNT EQ 1).FINI A2, &ARG2 AIF(&COUNT EQ 2).FINI A3, &ARG3.FINIMEND : LOOP1VARY 3,DATA1,DATA2,DATA3 : LOOP2VARY 2,DATA3,DATA2 : LOOP3VARY 1,DATA1 : DATA1DC F’5’ DATA2DC F’10’ DATA3DC F’15’ EXPANDED SOURCE : LOOP1A1, DATA1 A2, DATA2 A3, DATA3 : LOOP2A1, DATA3 A2, DATA2 : LOOP3A1, DATA1 : DATA1DC F’5’ DATA2DC F’10’ DATA3DC F’15’

20 15/08/47Macro Language and the Macro Language การใช้แมโครย่อย ในแมโคร หลัก เพราะว่าคำสั่งแมโคร คือคำสั่งเดียว ที่ใช้แทน กลุ่มคำสั่งหลายคำสั่ง ดังนั้นเราจึงสามารถใช้คำสั่งแมโคร ใน ตัวกำหนดแมโครได้ MACRO ADD1 &ARG L 1, &ARG A 1,=F’1’ ST 1,&ARG MEND MACRO ADDS &ARG1,&ARG2,&ARG3 ADD1 &ARG1 ADD1 &ARG2 ADD1 &ARG3 MEND

21 15/08/47Macro Language and the Macro Language 21 SourceExpand Level1Expand Level 2 : MACRO ADD1&ARG L1, &ARG A1,=F’1’ ST1,&ARG MEND MACRO ADDS &ARG1,&ARG2, &ARG3 ADD1 &ARG1 ADD1 &ARG2 ADD1 &ARG3 MEND : ADDSDATA1,DATA2, DATA3 : DATA1DCF’5’ DATA2DCF’10’ DATA3DCF’15’ Expansion of ADDS : ADD1DATA1 ADD1DATA2 ADD1DATA3 Expansion of ADD1 : L1,DATA1 A1,=F’1’ ST1,DATA1 L1,DATA2 A1,=F’1’ ST1,DATA2 L1,DATA3 A1,=F’1’ ST1,DATA3 : DATA1DCF’5’ DATA2DCF’10’ DATA3DCF’15’

22 15/08/47Macro Language and the Macro Language คำสั่งแมโครที่ใช้นิยามแมโคร Definition Of macro DEFINE Definition Of macro &SUB MACRO DEFINE &SUB MACRO &SUB&Y CNOP0,4 BAL 1,*+8 DCA(&Y) L15,=V(&SUB) BALR14,15 MEND Macro name DEFINE Dummy macro name Align boundary Set Reg 1 Parameter list pointer Address of subroutine Transfer control to subroutine

23 15/08/47Macro Language and the Macro Language 23 การใช้งาน เรียกแมโครนี้ด้วยคำสั่ง เพื่อนิยามแมโครชื่อ COS DEFINE COS COS จะถูกขยายเป็นแมโครตัวใหม่คือ COS AR จากนั้นจะผลิตกลุ่มคำสั่งออกมาเป็น BALR1,*+8 DCA(AR) address of AR L15,=V(COS) V denotes address of external symbol BALR14,15


ดาวน์โหลด ppt 15/08/47Macro Language and the Macro Language 1 บทที่ 4 Macro Language and the Macro Processor.

งานนำเสนอที่คล้ายกัน


Ads by Google