This document discusses user-defined functions in C programming. It defines user-defined functions as functions created by the user as opposed to library functions. It covers the necessary elements of user-defined functions including function definition, function call, and function declaration. Function definition includes the function header with name, type, and parameters and the function body. Function calls invoke the function. Function declarations notify the program of functions that will be used. The document provides examples and discusses nesting of functions and recursive functions.
This document discusses stacks and vectors in Java. It explains that Vector is a subclass of AbstractList that contains synchronized methods, while Stack is a subclass of Vector that implements a LIFO data structure. It also presents an example of implementing a stack using a linked list, and describes how stacks can be used to evaluate expressions by using two stacks for operands and operators.
This document provides instructions for homework 2 of CMSC 350, which asks students to create a generic doubly linked list class with methods like insert, remove, and peek at the head, tail, and specific elements. It also asks students to test their program using the class from homework 1 and discuss when program performance begins to degrade. Students are to submit their Java file(s), test plan, and demonstration of compilation and tests running successfully.
This document discusses nullable types in C#. It explains that nullable types allow variables to contain normal values as well as null. For example, a Nullable<Int32> can hold any integer or null. The document provides an example demonstrating nullable types, showing how variables can be initialized to null or other values. It also covers the null coalescing operator, which returns the first non-null value of its operands or a default value if all are null.
Introduction User Defined Functions in C,
Categories of Functions,Call by Value,
Call by Reference,Actual arguments,Formal arguments ,Direct Recursive and
Indirect Recursive functions
The document discusses macro language and macro processors. It defines macros as single line abbreviations for blocks of code that allow programmers to avoid repetitively writing the same code. It describes key aspects of macro processors including macro definition, macro calls, macro expansion, macro arguments, and conditional macro expansion. Implementation of macro processors involves recognizing macro definitions, saving the definitions, recognizing macro calls, and replacing the calls with the corresponding macro body.
Macros allow programmers to define single instructions that represent a block of code. A macro processor performs macro expansion by replacing macro calls with the corresponding sequence of instructions defined in the macro. Key features of macro facilities include the ability to define macros with arguments and perform conditional macro expansion. A two-pass macro processor first recognizes and saves macro definitions, then identifies macro calls and performs argument substitution and expansion.
This document discusses user-defined functions in C programming. It defines user-defined functions as functions created by the user as opposed to library functions. It covers the necessary elements of user-defined functions including function definition, function call, and function declaration. Function definition includes the function header with name, type, and parameters and the function body. Function calls invoke the function. Function declarations notify the program of functions that will be used. The document provides examples and discusses nesting of functions and recursive functions.
This document discusses stacks and vectors in Java. It explains that Vector is a subclass of AbstractList that contains synchronized methods, while Stack is a subclass of Vector that implements a LIFO data structure. It also presents an example of implementing a stack using a linked list, and describes how stacks can be used to evaluate expressions by using two stacks for operands and operators.
This document provides instructions for homework 2 of CMSC 350, which asks students to create a generic doubly linked list class with methods like insert, remove, and peek at the head, tail, and specific elements. It also asks students to test their program using the class from homework 1 and discuss when program performance begins to degrade. Students are to submit their Java file(s), test plan, and demonstration of compilation and tests running successfully.
This document discusses nullable types in C#. It explains that nullable types allow variables to contain normal values as well as null. For example, a Nullable<Int32> can hold any integer or null. The document provides an example demonstrating nullable types, showing how variables can be initialized to null or other values. It also covers the null coalescing operator, which returns the first non-null value of its operands or a default value if all are null.
Introduction User Defined Functions in C,
Categories of Functions,Call by Value,
Call by Reference,Actual arguments,Formal arguments ,Direct Recursive and
Indirect Recursive functions
The document discusses macro language and macro processors. It defines macros as single line abbreviations for blocks of code that allow programmers to avoid repetitively writing the same code. It describes key aspects of macro processors including macro definition, macro calls, macro expansion, macro arguments, and conditional macro expansion. Implementation of macro processors involves recognizing macro definitions, saving the definitions, recognizing macro calls, and replacing the calls with the corresponding macro body.
Macros allow programmers to define single instructions that represent a block of code. A macro processor performs macro expansion by replacing macro calls with the corresponding sequence of instructions defined in the macro. Key features of macro facilities include the ability to define macros with arguments and perform conditional macro expansion. A two-pass macro processor first recognizes and saves macro definitions, then identifies macro calls and performs argument substitution and expansion.
The document discusses macro processors and macro expansion. Some key points:
- A macro is a shorthand notation that allows a programmer to write a block of code once then invoke it multiple times by calling the macro.
- When a macro is invoked, the macro processor replaces it with the body of statements defined in the macro, substituting any arguments for parameters.
- This expands the code without analyzing the meaning of the statements, in a way that is machine independent.
- The example shows how a macro definition declares parameters with & and how expansion substitutes arguments for parameters in the body when the macro is invoked.
Macros allow programmers to define abbreviations for sequences of instructions. A macro definition specifies the macro name and the sequence of instructions to be abbreviated. When a macro is called, it is expanded by replacing the macro name with the defined sequence of instructions. Macros can call other macros, requiring macro processors to handle nested macro expansion. Macro processors implement macros using a single or double pass approach to first save macro definitions and then expand macro calls by substituting argument values.
This document discusses macros and macro processing. It defines macros as units of code abbreviation that are expanded during compilation. The macro processor performs two passes: pass 1 reads macros and stores them in a table, pass 2 expands macros by substituting actual parameters. Advanced features like conditional expansion and looping are enabled using statements like AIF, AGO, and ANOP. Nested macro calls follow a LIFO expansion order.
The document discusses macro processors and their functions. It covers:
- The basic functions of a macro processor including macro directives, prototypes, and expansion.
- One-pass and two-pass macro processing algorithms. One-pass can handle nested macros recursively.
- Data structures for storing macro definitions and arguments during expansion.
- Techniques for handling nested macros, generating unique labels, and conditional and looping expansion.
- Machine-independent features like concatenation, null arguments, and keyword parameters.
System software - macro expansion,nested macro callsSARASWATHI S
This document discusses macro expansion and nested macro calls in system software. It covers:
1. Macro expansion involves replacing a macro call with code from its body by substituting actual parameters for formal parameters.
2. Macro expansion can be performed by a macro assembler or preprocessor. A macro assembler performs full assembly while a preprocessor only processes macro calls.
3. Key aspects of macro expansion include the order of model statement expansion and lexical substitution of formal parameters with actual values. Nested macro calls follow a last-in, first-out expansion order.
The document provides information about macro processors and their basic functions:
- A macro processor allows programmers to define macros which represent commonly used code segments and replace macro invocations with the corresponding code.
- The key functions of macro processors are macro definition, macro invocation, and macro expansion where arguments are substituted.
- A one-pass macro processor uses a single pass and three data structures - definition table, name table, and argument table - to handle macro definitions and expansions including nested macros.
The document discusses macro processors, compilers, and interpreters. It provides details on:
- The phases of a compiler including lexical analysis, syntax analysis, semantic analysis, intermediate code generation, code optimization, and code generation.
- Macro processors which take source code with macro definitions and calls and replace calls with macro bodies. This includes details on macro expansion, formal/actual parameters, and nested macro calls.
- The design of a macro preprocessor which accepts assembly code with macros and removes macros to generate assembly without macros.
- How compilers translate programs written in a source language into an equivalent program in a target language through various analysis and synthesis phases.
Introduction, Macro Definition and Call, Macro Expansion, Nested Macro Calls, Advanced Macro Facilities, Design Of a Macro Preprocessor, Design of a Macro Assembler, Functions of a Macro Processor, Basic Tasks of a Macro Processor, Design Issues of Macro Processors, Features, Macro Processor Design Options, Two-Pass Macro Processors, One-Pass Macro Processors
The document discusses code generation for expressions. It describes determining an evaluation order based on operator precedence, selecting instructions based on operand type and addressability, and using register descriptors to track partial results in registers. Register descriptors indicate which operand is in each register. Partial results are saved to a temporary memory location when registers are occupied. The code generation routine generates code based on the operand descriptors.
A macro processor allows programmers to define macros, which are abbreviations for blocks of code. The macro processor performs macro expansion by replacing macro calls with the corresponding block of instructions defined in the macro. It uses a two pass approach where the first pass identifies macro definitions and saves them to a table, and the second pass identifies macro calls and replaces them with the saved definitions, substituting any arguments.
A macro processor allows programmers to define macros, which are single line abbreviations for blocks of code. The macro processor performs macro expansion by replacing macro calls with the corresponding block of instructions defined in the macro. It uses a two pass approach, where the first pass identifies macro definitions and saves them to a table, and the second pass identifies macro calls and replaces them with the defined code, substituting any arguments.
This document discusses macros in system programming. It defines a macro as a unit of specification for program generation through expansion. A macro definition consists of a macro prototype statement, model statements, and preprocessor statements. A macro is called by writing its name in an assembly statement's mnemonic field along with actual parameters. During macro expansion, the macro call statement is replaced by a sequence of assembly code generated from the model statements with formal parameters replaced by actual parameters. There are two types of expansions - lexical expansion replaces character strings, while semantic expansion can generate different code depending on parameter usage. An example demonstrates defining, calling, and expanding a simple macro in C.
The document discusses the design of a two-pass macro preprocessor. In pass one, macro definitions are identified and stored in a macro definition table along with their parameters. A macro name table is also created. In pass two, macro calls are identified and replaced by retrieving the corresponding macro definition and substituting actual parameters for formal parameters using an argument list array. Databases like the macro definition table, macro name table, and argument list array are used to store and retrieve macro information to enable expansion of macro calls. The algorithm scans the input sequentially in each pass to process macro definitions and calls.
This document discusses nested macros in system programming. It defines a macro as a unit of program specification that allows code expansion. A macro can contain a call to another macro, known as a nested macro call. Nested macro calls are expanded following the LIFO (last-in-first-out) rule, where the innermost macro call is expanded first. The document provides an example of a nested macro call in C code and how the macros would expand to generate the final code.
The document discusses database design and normalization. It begins by describing different design alternatives such as using larger or smaller schemas. It then covers first normal form (1NF), which requires attributes to be atomic and domains to be indivisible. Second normal form (2NF) and third normal form (3NF) are introduced to further reduce anomalies. The document also discusses functional dependencies, normal forms like Boyce-Codd normal form (BCNF), decomposition using functional dependencies, and closure of attribute sets. Overall, the document provides an overview of relational database design principles and normalization techniques.
This document contains a question bank on macro processors. It discusses basic macro processor functions such as macro definition, expansion, and invocation. It describes how a macro represents a commonly used group of statements that can be substituted during expansion. The document also covers macro processor algorithms, data structures, machine-independent features, and differences between macros and subroutines.
A macro processor is a system software. Macro is that the Section of code that the programmer writes (defines) once, and then can use or invokes many times.
Task Perform addition subtraction division and multiplic.pdfacsmadurai
Task: Perform addition, subtraction, division, and multiplication, of rational numbers on MIPS Mars
Programming Simulator by writing a code and print the answers (using macros) from the pictures
provided. Also, when you write the code make sure you follow this format,
format:
.macro print_int (%x)
li $v0, 1
add $a0, $zero, %x
syscall
.end_macro
print_int ($s0)
print_int (10)
Intro Settings Syscalls IDE Debugging Command Tools History Limitations Exception Handlers
Macros Acknowledgements MARS home Writing and Using Macros .macro, .end_macro,.eqv and
.include directives are new in MARS 4.3 Introduction to macros Patterson and Hennessy define a
macro as a pattern-matching and replacement facility that provides a simple mechanism to name
a frequently used sequence of instructions [1]. This permits the programmer to specify the
instruction sequence by invoking the macro. This requires only one line of code for each use
instead of repeatedly typing in the instruction sequence each time. It follows the axiom "define
once, use many times," which not only reduces the chance for error but also facilitates program
maintenance. Macros are like procedures (subroutines) in this sense but operate differently than
procedures. Procedures in MIPS assembly language follow particular protocols for procedure
definition, call and return. Macros operate by substituting the macro body for each use at the time
of assembly. This substitution is called macro expansion.. They do not require the protocols and
execution overhead of procedures. As a simple example, you may want to terminate your program
from a number of locations. If you are running from the MARS IDE, you will use system call 10,
exit. The instruction sequence is pretty easy 1i$v0,10syscal1 but still tedious. You can define a
macro, let's call it done, to represent this sequence [ begin{array}{l} text { macro done } text { i1 } $
text { vo, } 10 text { syscali } text { +end_macro } end{array} ] then invoke it whenever you wish
with the statement done At assembly time, the assembler will replace each occurrence of the
statement done with the two-statement sequence 1i$v0,10syscali This is the macro expansion.
The runtime simulator is unaware of macros or macro expansion. If running MARS from the
command line, perhaps you want to return a termination value. This can be done with syscall 17,
exit2, which takes the termination value as an argument. An equivalent macro, let's call it
terminate would be macro terminate (stermination_value) ii $a0, itermination_value li $v0,17
syscali .end_macro This macro defines a formal parameter to represent the termination value. You
would invoke it with the statement terminate (1) to terminate with value 1. Upon assembly, the
statement terminate (1) would be replaced byterninate (1) to terminate with value 1. Upon
assembly, the statement terainate (1) would be replaced by the three-statement sequence The
argument value, 1, is substituted wherever the formal parameter teermi.
This document provides questions from various semesters and specializations of SMU MCA and MBA programs. It directs students to email or call for fully solved assignments. The questions given are only for reference and students are advised to check samples by mailing, calling, or searching blog archives. The document contains questions from subjects like programming, operating systems, data structures, algorithms, databases, software engineering and more. It provides contact details to obtain solved assignments for various semesters of MCA and MBA programs.
Literature Review Basics and Understanding Reference Management.pptxDr Ramhari Poudyal
Three-day training on academic research focuses on analytical tools at United Technical College, supported by the University Grant Commission, Nepal. 24-26 May 2024
The document discusses macro processors and macro expansion. Some key points:
- A macro is a shorthand notation that allows a programmer to write a block of code once then invoke it multiple times by calling the macro.
- When a macro is invoked, the macro processor replaces it with the body of statements defined in the macro, substituting any arguments for parameters.
- This expands the code without analyzing the meaning of the statements, in a way that is machine independent.
- The example shows how a macro definition declares parameters with & and how expansion substitutes arguments for parameters in the body when the macro is invoked.
Macros allow programmers to define abbreviations for sequences of instructions. A macro definition specifies the macro name and the sequence of instructions to be abbreviated. When a macro is called, it is expanded by replacing the macro name with the defined sequence of instructions. Macros can call other macros, requiring macro processors to handle nested macro expansion. Macro processors implement macros using a single or double pass approach to first save macro definitions and then expand macro calls by substituting argument values.
This document discusses macros and macro processing. It defines macros as units of code abbreviation that are expanded during compilation. The macro processor performs two passes: pass 1 reads macros and stores them in a table, pass 2 expands macros by substituting actual parameters. Advanced features like conditional expansion and looping are enabled using statements like AIF, AGO, and ANOP. Nested macro calls follow a LIFO expansion order.
The document discusses macro processors and their functions. It covers:
- The basic functions of a macro processor including macro directives, prototypes, and expansion.
- One-pass and two-pass macro processing algorithms. One-pass can handle nested macros recursively.
- Data structures for storing macro definitions and arguments during expansion.
- Techniques for handling nested macros, generating unique labels, and conditional and looping expansion.
- Machine-independent features like concatenation, null arguments, and keyword parameters.
System software - macro expansion,nested macro callsSARASWATHI S
This document discusses macro expansion and nested macro calls in system software. It covers:
1. Macro expansion involves replacing a macro call with code from its body by substituting actual parameters for formal parameters.
2. Macro expansion can be performed by a macro assembler or preprocessor. A macro assembler performs full assembly while a preprocessor only processes macro calls.
3. Key aspects of macro expansion include the order of model statement expansion and lexical substitution of formal parameters with actual values. Nested macro calls follow a last-in, first-out expansion order.
The document provides information about macro processors and their basic functions:
- A macro processor allows programmers to define macros which represent commonly used code segments and replace macro invocations with the corresponding code.
- The key functions of macro processors are macro definition, macro invocation, and macro expansion where arguments are substituted.
- A one-pass macro processor uses a single pass and three data structures - definition table, name table, and argument table - to handle macro definitions and expansions including nested macros.
The document discusses macro processors, compilers, and interpreters. It provides details on:
- The phases of a compiler including lexical analysis, syntax analysis, semantic analysis, intermediate code generation, code optimization, and code generation.
- Macro processors which take source code with macro definitions and calls and replace calls with macro bodies. This includes details on macro expansion, formal/actual parameters, and nested macro calls.
- The design of a macro preprocessor which accepts assembly code with macros and removes macros to generate assembly without macros.
- How compilers translate programs written in a source language into an equivalent program in a target language through various analysis and synthesis phases.
Introduction, Macro Definition and Call, Macro Expansion, Nested Macro Calls, Advanced Macro Facilities, Design Of a Macro Preprocessor, Design of a Macro Assembler, Functions of a Macro Processor, Basic Tasks of a Macro Processor, Design Issues of Macro Processors, Features, Macro Processor Design Options, Two-Pass Macro Processors, One-Pass Macro Processors
The document discusses code generation for expressions. It describes determining an evaluation order based on operator precedence, selecting instructions based on operand type and addressability, and using register descriptors to track partial results in registers. Register descriptors indicate which operand is in each register. Partial results are saved to a temporary memory location when registers are occupied. The code generation routine generates code based on the operand descriptors.
A macro processor allows programmers to define macros, which are abbreviations for blocks of code. The macro processor performs macro expansion by replacing macro calls with the corresponding block of instructions defined in the macro. It uses a two pass approach where the first pass identifies macro definitions and saves them to a table, and the second pass identifies macro calls and replaces them with the saved definitions, substituting any arguments.
A macro processor allows programmers to define macros, which are single line abbreviations for blocks of code. The macro processor performs macro expansion by replacing macro calls with the corresponding block of instructions defined in the macro. It uses a two pass approach, where the first pass identifies macro definitions and saves them to a table, and the second pass identifies macro calls and replaces them with the defined code, substituting any arguments.
This document discusses macros in system programming. It defines a macro as a unit of specification for program generation through expansion. A macro definition consists of a macro prototype statement, model statements, and preprocessor statements. A macro is called by writing its name in an assembly statement's mnemonic field along with actual parameters. During macro expansion, the macro call statement is replaced by a sequence of assembly code generated from the model statements with formal parameters replaced by actual parameters. There are two types of expansions - lexical expansion replaces character strings, while semantic expansion can generate different code depending on parameter usage. An example demonstrates defining, calling, and expanding a simple macro in C.
The document discusses the design of a two-pass macro preprocessor. In pass one, macro definitions are identified and stored in a macro definition table along with their parameters. A macro name table is also created. In pass two, macro calls are identified and replaced by retrieving the corresponding macro definition and substituting actual parameters for formal parameters using an argument list array. Databases like the macro definition table, macro name table, and argument list array are used to store and retrieve macro information to enable expansion of macro calls. The algorithm scans the input sequentially in each pass to process macro definitions and calls.
This document discusses nested macros in system programming. It defines a macro as a unit of program specification that allows code expansion. A macro can contain a call to another macro, known as a nested macro call. Nested macro calls are expanded following the LIFO (last-in-first-out) rule, where the innermost macro call is expanded first. The document provides an example of a nested macro call in C code and how the macros would expand to generate the final code.
The document discusses database design and normalization. It begins by describing different design alternatives such as using larger or smaller schemas. It then covers first normal form (1NF), which requires attributes to be atomic and domains to be indivisible. Second normal form (2NF) and third normal form (3NF) are introduced to further reduce anomalies. The document also discusses functional dependencies, normal forms like Boyce-Codd normal form (BCNF), decomposition using functional dependencies, and closure of attribute sets. Overall, the document provides an overview of relational database design principles and normalization techniques.
This document contains a question bank on macro processors. It discusses basic macro processor functions such as macro definition, expansion, and invocation. It describes how a macro represents a commonly used group of statements that can be substituted during expansion. The document also covers macro processor algorithms, data structures, machine-independent features, and differences between macros and subroutines.
A macro processor is a system software. Macro is that the Section of code that the programmer writes (defines) once, and then can use or invokes many times.
Task Perform addition subtraction division and multiplic.pdfacsmadurai
Task: Perform addition, subtraction, division, and multiplication, of rational numbers on MIPS Mars
Programming Simulator by writing a code and print the answers (using macros) from the pictures
provided. Also, when you write the code make sure you follow this format,
format:
.macro print_int (%x)
li $v0, 1
add $a0, $zero, %x
syscall
.end_macro
print_int ($s0)
print_int (10)
Intro Settings Syscalls IDE Debugging Command Tools History Limitations Exception Handlers
Macros Acknowledgements MARS home Writing and Using Macros .macro, .end_macro,.eqv and
.include directives are new in MARS 4.3 Introduction to macros Patterson and Hennessy define a
macro as a pattern-matching and replacement facility that provides a simple mechanism to name
a frequently used sequence of instructions [1]. This permits the programmer to specify the
instruction sequence by invoking the macro. This requires only one line of code for each use
instead of repeatedly typing in the instruction sequence each time. It follows the axiom "define
once, use many times," which not only reduces the chance for error but also facilitates program
maintenance. Macros are like procedures (subroutines) in this sense but operate differently than
procedures. Procedures in MIPS assembly language follow particular protocols for procedure
definition, call and return. Macros operate by substituting the macro body for each use at the time
of assembly. This substitution is called macro expansion.. They do not require the protocols and
execution overhead of procedures. As a simple example, you may want to terminate your program
from a number of locations. If you are running from the MARS IDE, you will use system call 10,
exit. The instruction sequence is pretty easy 1i$v0,10syscal1 but still tedious. You can define a
macro, let's call it done, to represent this sequence [ begin{array}{l} text { macro done } text { i1 } $
text { vo, } 10 text { syscali } text { +end_macro } end{array} ] then invoke it whenever you wish
with the statement done At assembly time, the assembler will replace each occurrence of the
statement done with the two-statement sequence 1i$v0,10syscali This is the macro expansion.
The runtime simulator is unaware of macros or macro expansion. If running MARS from the
command line, perhaps you want to return a termination value. This can be done with syscall 17,
exit2, which takes the termination value as an argument. An equivalent macro, let's call it
terminate would be macro terminate (stermination_value) ii $a0, itermination_value li $v0,17
syscali .end_macro This macro defines a formal parameter to represent the termination value. You
would invoke it with the statement terminate (1) to terminate with value 1. Upon assembly, the
statement terminate (1) would be replaced byterninate (1) to terminate with value 1. Upon
assembly, the statement terainate (1) would be replaced by the three-statement sequence The
argument value, 1, is substituted wherever the formal parameter teermi.
This document provides questions from various semesters and specializations of SMU MCA and MBA programs. It directs students to email or call for fully solved assignments. The questions given are only for reference and students are advised to check samples by mailing, calling, or searching blog archives. The document contains questions from subjects like programming, operating systems, data structures, algorithms, databases, software engineering and more. It provides contact details to obtain solved assignments for various semesters of MCA and MBA programs.
Similar to Presentation on macros and macro processor (20)
Literature Review Basics and Understanding Reference Management.pptxDr Ramhari Poudyal
Three-day training on academic research focuses on analytical tools at United Technical College, supported by the University Grant Commission, Nepal. 24-26 May 2024
Advanced control scheme of doubly fed induction generator for wind turbine us...IJECEIAES
This paper describes a speed control device for generating electrical energy on an electricity network based on the doubly fed induction generator (DFIG) used for wind power conversion systems. At first, a double-fed induction generator model was constructed. A control law is formulated to govern the flow of energy between the stator of a DFIG and the energy network using three types of controllers: proportional integral (PI), sliding mode controller (SMC) and second order sliding mode controller (SOSMC). Their different results in terms of power reference tracking, reaction to unexpected speed fluctuations, sensitivity to perturbations, and resilience against machine parameter alterations are compared. MATLAB/Simulink was used to conduct the simulations for the preceding study. Multiple simulations have shown very satisfying results, and the investigations demonstrate the efficacy and power-enhancing capabilities of the suggested control system.
Introduction- e - waste – definition - sources of e-waste– hazardous substances in e-waste - effects of e-waste on environment and human health- need for e-waste management– e-waste handling rules - waste minimization techniques for managing e-waste – recycling of e-waste - disposal treatment methods of e- waste – mechanism of extraction of precious metal from leaching solution-global Scenario of E-waste – E-waste in India- case studies.
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECTjpsjournal1
The rivalry between prominent international actors for dominance over Central Asia's hydrocarbon
reserves and the ancient silk trade route, along with China's diplomatic endeavours in the area, has been
referred to as the "New Great Game." This research centres on the power struggle, considering
geopolitical, geostrategic, and geoeconomic variables. Topics including trade, political hegemony, oil
politics, and conventional and nontraditional security are all explored and explained by the researcher.
Using Mackinder's Heartland, Spykman Rimland, and Hegemonic Stability theories, examines China's role
in Central Asia. This study adheres to the empirical epistemological method and has taken care of
objectivity. This study analyze primary and secondary research documents critically to elaborate role of
china’s geo economic outreach in central Asian countries and its future prospect. China is thriving in trade,
pipeline politics, and winning states, according to this study, thanks to important instruments like the
Shanghai Cooperation Organisation and the Belt and Road Economic Initiative. According to this study,
China is seeing significant success in commerce, pipeline politics, and gaining influence on other
governments. This success may be attributed to the effective utilisation of key tools such as the Shanghai
Cooperation Organisation and the Belt and Road Economic Initiative.
KuberTENes Birthday Bash Guadalajara - K8sGPT first impressionsVictor Morales
K8sGPT is a tool that analyzes and diagnoses Kubernetes clusters. This presentation was used to share the requirements and dependencies to deploy K8sGPT in a local environment.
2. Introduction
• Macro instructions are single line abbreviations for groups of
instructions.
• It allows the programmer to write shorthand version of a
program.
• The macro processor replaces each macro invocation with the
corresponding sequence of statements.
4. Macro Instructions
• Example 1 :-
.
.
.
A 1,DATA Add contents of DATA to register 1
A 2,DATA Add contents of DATA to register 2
A 3,DATA Add contents of DATA to register 3
.
.
.
A 1,DATA Add contents of DATA to register 1
A 2,DATA Add contents of DATA to register 2
A 3,DATA Add contents of DATA to register 3
.
.
.
DATA DC F’5’
.
.
.
5. Macro Instructions
• We attach a name to a sequence by means of a macro
instruction definition.
• Which is Formed in the following manner :
MACRO Start of Definition
[ ] Macro Name
______
______ Sequence to be abbreviated
______
MEND End of Definition
6. Example
.
Source Expended Source
MACRO
INCR
A 1,DATA
A 2,DATA
A 3,DATA
MEND
.
. .
. .
INCR
. A 1,DATA
. A 2,DATA
. A 3,DATA
.
INCR .
. A 1,DATA
. A 2,DATA
. A 3,DATA
DATA DC F’5’
.
.
.
7. Macro Instruction Arguments
• Example 2:
.
.
.
A 1,DATA 1
A 2,DATA 1
A 3,DATA 1
.
.
A 1,DATA 2
A 2,DATA 2
A 3,DATA 2
.
.
.
DATA 1 DC F’5’
DATA 2 DC F’10’
.
.
.
8. Macro Instruction Arguments
• The instruction sequences are very similar but not identical.
• It can be considered to perform the same operation with a
variable parameter or argument.
• It is specified on the macro name line and distinguished by
the ampersand (&).
9. Macro Instruction Arguments
Example :-
Source Expended Source
MACRO
INCR &ARG
A 1,&ARG
A 2,&ARG
A 3,&ARG
MEND
.
. .
. .
INCR DATA1
. A 1,DATA 1
. A 2,DATA 1
. A 3,DATA 1
.
INCR DATA2 .
. A 1,DATA 2
. A 2,DATA 2
. A 3,DATA 2
DATA1 DC F’5’
DATA2 DC F’10’
.
.
.
10. Macro Calls Within Macros
• Macro calls are available to use in other Macros.
• It is called nested macros.
• Macro calls within Macros can involve several levels.
11. Macro Calls Within Macros
• Example 3 :-
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