ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
1
Macro Language and the Macro Processor
บทที่ 4 Macro Language and the Macro Processor 15/08/47 Macro Language and the Macro Language
2
จุดประสงค์การเรียนการสอน
4. แมคโคร 41 เข้าใจความรู้พื้นฐานเกี่ยวกับแมคโคร 411 เขียนโปรแกรม โดยใช้แมคโคร 412 เขียนโปรแกรมเรียกแมคโคร จากแมคโครภายใน 15/08/47 Macro Language and the Macro Language
3
จุดประสงค์การเรียนการสอน (ต่อ)
42 มีทักษะในการออกแบบตัวแอสเซมเบลอร์ ที่สามารถใช้ชุดคำสั่ง แมคโคร 421 อธิบายขั้นตอนการออกแบบแมคโครแอสเซมเบลอร์ 422 อธิบายข้อกำหนดของปัญหาของแมคโครแอสเซมเบลอร์ 423 อธิบายโครงสร้างข้อมูลของแมคโครแอสเซมเบลอร์ 424 อธิบายฐานข้อมูลของแมคโครแอสเซมเบลอร์ 425 อธิบายซิมโบลเทเบิ้ลของแมคโครแอสเซมเบลอร์ 426 อธิบายแมคโครแอสเซมเบลอร์ ในส่วน พาส -วัน 427 อธิบายแมคโครแอสเซมเบลอร์ ในส่วน พาส-ทู 15/08/47 Macro Language and the Macro Language
4
คำสั่งแมโคร Macro Instructions (หรือเรียกสั้นๆ Macro)
คำสั่งเดียว ใช้แทนคำสั่งกลุ่มหนึ่งหรือชุดหนึ่ง โดยปกติ จะประกอบด้วยคำสั่ง หลาย ๆ คำสั่ง ที่ผู้ทำโปรแกรมนำมารวมไว้ คำสั่งแมโครนี้จะมีการกำหนดเป็นชื่อคำสั่งไว้ในตอนต้นโปรแกรม เมื่อใดก็ตามที่มีการเรียกชื่อคำสั่งที่กำหนดไว้นี้ ก็จะเป็นการเรียกใช้กลุ่มคำสั่งที่ประกอบด้วยคำสั่งทั้งชุดนั้น คำสั่งแมโครนี้ เราสามารถเรียกใช้ได้ตลอดเวลาที่เรียกใช้โปรแกรมนั้นอยู่ หรือทุกแห่งที่ต้องการเรียกใช้คำสั่งกลุ่มนั้น 15/08/47 Macro Language and the Macro Language
5
ตัวแปลแมโคร macro assembler
เป็นโปรแกรมคอมพิวเตอร์ที่ใช้งานในการสร้างโปรแกรมแมโคร มีหน้าที่แปลภาษาที่ใช้ในแมโคร ให้เป็นภาษาแอสเซมบลี (assembly language) แต่ละข้อคำสั่งในโปรแกรมภาษาแอสเซมบลีนั้นใช้แทนคำสั่งภาษาเครื่อง (machine language) หลายคำสั่งได้ ฉะนั้นถ้าเขียนแมโครเก็บไว้ เมื่อเรียกมาใช้ก็จะทำให้สะดวก ไม่ต้องพิมพ์คำสั่งยาว ๆ 15/08/47 Macro Language and the Macro Language
6
Macro Language and the Macro Language
: A 1, DATA A 2, DATA A 3, DATA DATA DC F’5’ ซ้ำกัน สามารถทำเป็น Macro หนเดียวด้วยชื่อย่อ แล้วเรียกใช้ได้หลายหน 15/08/47 Macro Language and the Macro Language
7
Macro Language and the Macro Language
Macro Instruction Definition Format MACRO Start of definition [ ] Macro name Sequence to be abbreviated MEND End of definition 15/08/47 Macro Language and the Macro Language
8
ตัวอย่างภาษาแอสเซมลี้ที่เขียนซ้ำ ตัวอย่างที่ 1
: A 1, DATA A 2, DATA A 3, DATA DATA DC F’5’ ซ้ำกัน สามารถทำเป็น Macro หนเดียวด้วยชื่อย่อ แล้วเรียกใช้ได้หลายหน 15/08/47 Macro Language and the Macro Language
9
Macro Language and the Macro Language
SOURCE MACRO INCR A 1, DATA A 2, DATA A 3, DATA MEND : DATA DC F’5’ EXPANDED SOURCE 15/08/47 Macro Language and the Macro Language
10
4.2 Features of a Macro Facility
ตัวอย่างที่แล้ว ยังไม่มีประสิทธิภาพพอ กรณีข้อมูลมีหลายชุด ที่แอดเดรสแตกต่างกัน 15/08/47 Macro Language and the Macro Language
11
4.2.1 Macro Instruction Arguments
เพิ่ม Macro dummy arguments 15/08/47 Macro Language and the Macro Language
12
Macro Language and the Macro Language
ตัวอย่างที่ 2 : A 1, DATA1 A 2, DATA1 A 3, DATA1 A 1, DATA2 A 2, DATA2 A 3, DATA2 DATA1 DC F’5’ DATA2 DC F’10’ คล้าย แต่ไม่เหมือน 15/08/47 Macro Language and the Macro Language
13
Macro Language and the Macro Language
SOURCE MACRO INCR &ARG A 1, &ARG A 2, &ARG A 3, &ARG MEND : INCR DATA1 INCR DATA2 DATA1 DC F’5’ DATA2 DC F’10’ EXPANDED SOURCE A 1, DATA1 A 2, DATA1 A 3, DATA1 A 1, DATA2 A 2, DATA2 A 3, DATA2 15/08/47 Macro Language and the Macro Language
14
Macro Language and the Macro Language
ตัวอย่างที่ 3 : LOOP1 A 1, DATA1 A 2, DATA2 A 3, DATA3 LOOP2 A 1, DATA3 A 3, DATA1 DATA1 DC F’5’ DATA2 DC F’10’ DATA3 DC F’15’ คล้าย แต่ไม่เหมือน 15/08/47 Macro Language and the Macro Language
15
Macro Language and the Macro Language
Argument ตรงตำแหน่ง SOURCE MACRO &LAB INCR &ARG1,&ARG2,&ARG3 &LAB A 1, &ARG1 A 2, &ARG2 A 3, &ARG3 MEND : LOOP1 INCR DATA1,DATA2,DATA3 LOOP2 INCR DATA3,DATA2,DATA1 DATA1 DC F’5’ DATA2 DC F’10’ DATA3 DC F’15’ EXPANDED SOURCE LOOP1 A 1, DATA1 A 2, DATA2 A 3, DATA3 LOOP2 A 1, DATA3 A 3, DATA1 15/08/47 Macro Language and the Macro Language
16
เขียนโดยใช้ Macro อีกรูปแบบ
SOURCE MACRO INCR &ARG1,&ARG2,&ARG3, &LAB &LAB A 1, &ARG1 A 2, &ARG2 A 3, &ARG3 MEND : INCR DATA1,DATA2,DATA3,LOOP1 INCR DATA3,DATA2,DATA1,LOOP2 DATA1 DC F’5’ DATA2 DC F’10’ DATA3 DC F’15’ EXPANDED SOURCE LOOP1 A 1, DATA1 A 2, DATA2 A 3, DATA3 LOOP2 A 1, DATA3 A 3, DATA1 15/08/47 Macro Language and the Macro Language
17
4.2.2 การใช้คำสั่งเงื่อนไขในแมโคร
2 คำสั่งที่สำคัญคือ AIF และ AGO AIF เป็นคำสั่ง กระโดดไปทำ แบบมีเงื่อนไข AGO เป็นคำสั่ง กระโดดไปทำ แบบไม่มีเงื่อนไข .LABELNAME เป็นแอดเดรสที่คำสั่ง AIF และ AGO กระโดดไปทำ 15/08/47 Macro Language and the Macro Language
18
ตัวอย่างที่ 4 การใช้คำสั่งเงื่อนไขในแมโคร
ตัวอย่างที่ 4 การใช้คำสั่งเงื่อนไขในแมโคร : LOOP1 A 1, DATA1 A 2, DATA2 A 3, DATA3 LOOP2 A 1, DATA3 LOOP3 A 1, DATA1 DATA1 DC F’5’ DATA2 DC F’10’ DATA3 DC F’15’ 15/08/47 Macro Language and the Macro Language
19
Macro Language and the Macro Language
SOURCE MACRO &ARG0 VARY &COUNT,&ARG1,&ARG2,&ARG3 &ARG0 A 1, &ARG1 AIF (&COUNT EQ 1).FINI A 2, &ARG2 AIF (&COUNT EQ 2).FINI A 3, &ARG3 .FINI MEND : LOOP1 VARY 3,DATA1,DATA2,DATA3 LOOP2 VARY 2,DATA3,DATA2 LOOP3 VARY 1,DATA1 DATA1 DC F’5’ DATA2 DC F’10’ DATA3 DC F’15’ EXPANDED SOURCE LOOP1 A 1, DATA1 A 2, DATA2 A 3, DATA3 LOOP2 A 1, DATA3 LOOP3 A 1, DATA1 15/08/47 Macro Language and the Macro Language
20
4.2.3 การใช้แมโครย่อย ในแมโครหลัก
เพราะว่าคำสั่งแมโคร คือคำสั่งเดียว ที่ใช้แทน กลุ่มคำสั่งหลายคำสั่ง ดังนั้นเราจึงสามารถใช้คำสั่งแมโคร ในตัวกำหนดแมโครได้ MACRO ADD1 &ARG L 1, &ARG A 1,=F’1’ ST 1,&ARG MEND ADDS &ARG1,&ARG2,&ARG3 ADD &ARG1 ADD &ARG2 ADD &ARG3 15/08/47 Macro Language and the Macro Language
21
Macro Language and the Macro Language
Source Expand Level1 Expand Level 2 : MACRO ADD1 &ARG L 1, &ARG A 1,=F’1’ ST 1,&ARG MEND ADDS &ARG1,&ARG2, &ARG3 ADD1 &ARG1 ADD1 &ARG2 ADD1 &ARG3 ADDS DATA1,DATA2, DATA3 DATA1 DC F’5’ DATA2 DC F’10’ DATA3 DC F’15’ Expansion of ADDS ADD1 DATA1 ADD1 DATA2 ADD1 DATA3 Expansion of ADD1 L 1,DATA1 ST 1,DATA1 L 1,DATA2 ST 1,DATA2 L 1,DATA3 ST 1,DATA3 15/08/47 Macro Language and the Macro Language
22
4.2.4 คำสั่งแมโครที่ใช้นิยามแมโคร
Definition Of macro DEFINE &SUB MACRO DEFINE &SUB &SUB &Y CNOP 0,4 BAL 1,*+8 DC A(&Y) L 15,=V(&SUB) BALR 14,15 MEND Macro name DEFINE Dummy macro name Align boundary Set Reg 1 Parameter list pointer Address of subroutine Transfer control to subroutine 15/08/47 Macro Language and the Macro Language
23
Macro Language and the Macro Language
การใช้งาน เรียกแมโครนี้ด้วยคำสั่ง เพื่อนิยามแมโครชื่อ COS DEFINE COS COS จะถูกขยายเป็นแมโครตัวใหม่คือ COS AR จากนั้นจะผลิตกลุ่มคำสั่งออกมาเป็น BALR 1,*+8 DC A(AR) address of AR L 15,=V(COS) V denotes address of external symbol BALR 14,15 15/08/47 Macro Language and the Macro Language
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.