Macro Language and the Macro Processor

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
โครงสร้างของภาษา C ในโปรแกรมที่พัฒนาด้วยภาษา C ทุกโปรแกรมจะมีโครงสร้างการพัฒนาไม่แตกต่างกัน ซึ่งประกอบด้วย 6 ส่วนหลัก ๆ โดยที่แต่ละส่วนจะมีหน้าที่แตกต่างกัน.
Advertisements

ชนิดของข้อมูลในโปรแกรม Interactive C
Introduction to C Introduction to C.
ความรู้เบื้องต้นเกี่ยวกับภาษา c
โครงสร้างโปรแกรมภาษา C
2.2.3 การแก้ไขแอดเดรส โดยการใช้อินเด็กรีจิสเตอร์
BC322 ครั้งที่ 6 Text file BC322 : computer Programming (Week6)
ประเภทของโปรแกรมคอมพิวเตอร์
Intermediate Representation (รูปแบบการแทนในระยะกลาง)
โครงสร้างการควบคุมการทำงานของโปรแกรม Program control structures
รหัสระหว่างกลาง (Intermediate code)
Functional Programming
Structure Programming
2.2 ภาษาเครื่อง (Machine language)
ภาษา SQL (Structured Query Language)
แผนผัง FlowChart Flow Chart คือ ขั้นตอนที่นำผลที่ได้จากการกำหนดและการ วิเคราะห์ปัญหามาเขียนเป็นแผนภาพหรือสัญลักษณ์ ประโยชน์ของผังงาน -ช่วยลำดับขั้นตอนการทำงานของโปรแกรม.
ภาษาคอมพิวเตอร์.
วิชา การเขียนโปรแกรมบนเว็บ (Web-based Programming)
วิชา การเขียนโปรแกรมบนเว็บ (Web-based Programming)
เนื้อหา ประเภทของโปรแกรมภาษา ขั้นตอนการพัฒนาโปรแกรม
การประกาศตัวแปร “ตัวแปร” คือสิ่งที่เราสร้างขึ้นมาเพื่อใช้เก็บค่าต่างๆและอ้างอิงใช้งานภายในโปรแกรม ตามที่เรากำหนดขึ้น การสร้างตัวแปรขึ้นมาเราเรียกว่า.
บทที่ 13 Pre-processor directive & macro Kairoek choeychuen
บทที่ 5 โหลดเดอร์ (Loader) Loader.
Use Case Diagram.
Surachai Wachirahatthapong
Operating System ฉ NASA 4.
C Programming Lecture no. 6: Function.
SCC : Suthida Chaichomchuen
PROCEDURE <<โปรแกรมย่อย>>
Addressing Modes Assembly Programming.
Computer Architecture and Assembly Language
บรรณารักษชำนาญการพิเศษ
Chapter 2 Database systems Architecture
บทที่ 17 คำสั่งตารางและการสร้างแมคโคร
ไวยากรณ์ของภาษาการทำโปรแกรม (1) (Syntax of programming languages)
โครงสร้างข้อมูลแบบคิว
การออกแบบฐานข้อมูลและการบริหารธุรกิจ
ความสัมพันธ์เวียนบังเกิด
ฟังก์ชัน ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ ศูนย์คอมพิวเตอร์
การเขียนเว็บเพจด้วยภาษา php ศูนย์คอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
การใช้งาน access เบื้องต้น
บทที่ 3 การวิเคราะห์ Analysis.
คำสั่งควบคุมการทำงานของ ActionScripts
อินเทอร์เน็ตInternet
Chapter 16 / Unit 77 : VB : Subprogram & Function Senior Cybernaut ศูนย์การศึกษาต่อเนื่องแห่ง จุฬาลงกรณ์มหาวิทยาลัย SL102017/04C /ISSUE2.
ตัวแปรกับชนิดของข้อมูล
เสรี ชิโนดม ฟังก์ชัน เสรี ชิโนดม
Week 6 : การบริหารโครงการ
ระบบคอมพิวเตอร์และการประมวลผล
วิทยา กรระสี (วท.บ. วิทยาการคอมพิวเตอร์)
ตัวแปร Array แบบ 1 มิติ การเขียนโปรแกรมแบบวนซ้ำ
Chapter 3 - Stack, - Queue,- Infix Prefix Postfix
BCS 121 บท 5 การโปรแกรมเชิงวัตถุ (Object-Oriented Programming)
หลักการเขียนโปรแกรม ( )
โครงสร้างข้อมูล Queues
การแก้ปัญหาโปรแกรม (Flowchart)
สาขาวิชาเทคโนโลยี สารสนเทศ คณะเทคโนโลยีสารสนเทศ และการสื่อสาร.
โครงสร้าง ภาษาซี.
คอมพิวเตอร์และระบบปฏิบัติการเบื้องต้น
Assembly Languages: PDP8
ความรู้พื้นฐานเกี่ยวกับการโปรแกรมคอมพิวเตอร์
สื่อการสอนด้วยโปรมแกรม “Microsoft Multipoint”
เรื่อง การพัฒนาบทเรียนคอมพิวเตอร์ช่วยสอน วิชาการใช้โปรแกรมกราฟิก
1 Functions กนกวรรธน์ เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา.
1. บทนำเกี่ยวกับอินเทอร์เน็ต อินเทอร์เน็ตมีจุดเริ่มต้นมาจากเหตุผล ทางการทหาร เนื่องจากในยุค สงครามเย็น เมื่อประมาณ พ. ศ 2510 ระหว่างฝ่ายคอมมิวนิสต์ และฝ่ายเสรี
โครงสร้างข้อมูลแบบ สแตก (stack)
บทที่ 5 การเขียนรายงานโครงงานคอมพิวเตอร์
2 มิ. ย 2547 โดย วชิราวุธ ธรรมวิเศษ 1 บทที่ 1 แนะนำเทคโนโลยีจาวา Introduction to Java Technology.
รายการ (Lis t) [3] ผู้สอน อาจารย์ ยืนยง กันทะเนตร สาขาวิชาเทคโนโลยีคอมพิวเตอร์เคลื่อนที่ คณะเทคโนโลยีสารสนเทศและการสื่อสาร Website : ict.up.ac.th/yeunyong.
ใบสำเนางานนำเสนอ:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

เขียนโดยใช้ 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

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

ตัวอย่างที่ 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

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

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

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

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

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