Download ebooks file Assembly Programming and Computer Architecture for Software Engineers Brian Hall all chapters
Download ebooks file Assembly Programming and Computer Architecture for Software Engineers Brian Hall all chapters
com
https://textbookfull.com/product/assembly-programming-and-
computer-architecture-for-software-engineers-brian-hall/
OR CLICK BUTTON
DOWNLOAD NOW
https://textbookfull.com/product/software-architecture-for-business-
lina-khalid/
textboxfull.com
https://textbookfull.com/product/nonneoplastic-dermatopathology-2nd-
edition-brian-j-hall/
textboxfull.com
https://textbookfull.com/product/mastering-assembly-programming-1st-
edition-alexey-lyashko/
textboxfull.com
https://textbookfull.com/product/beginning-julia-programming-for-
engineers-and-scientists-1st-edition-sandeep-nagar/
textboxfull.com
https://textbookfull.com/product/software-architecture-for-big-data-
and-the-cloud-1st-edition-ivan-mistrik/
textboxfull.com
https://textbookfull.com/product/computer-organization-and-
architecture-designing-for-performance-10th-edition-william-stallings/
textboxfull.com
https://textbookfull.com/product/c-programming-for-dummies-for-
dummies-computer-tech-gookin/
textboxfull.com
https://textbookfull.com/product/introduction-to-software-for-
chemical-engineers-2nd-edition-mariano-martin-martin-editor/
textboxfull.com
Assembly Programming and Computer
Architecture for Software Engineers
Brian R. Hall
Champlain College, Burlington, VT
Kevin J. Slonka
Pennsylvania Highlands Community College, Johnstown, PA
Copyright © 2018 Prospect Press, Inc. All rights reserved.
No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic,
mechanical, photocopying, recording, scanning or otherwise, except as permitted under Sections 107 or 108 of the 1976 United States
Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy
fee to the Copyright Clearance Center, Inc. 222 Rosewood Drive, Danvers, MA 01923, website www.copyright.com. Requests to the
Publisher for permission should be addressed to the Permissions Department, Prospect Press, 47 Prospect Parkway, Burlington, VT
05401 or emailed to Beth.Golub@ProspectPressVT.com.
Founded in 2014, Prospect Press serves the academic disciplines of Computer and Information Systems by publishing innovative
textbooks across the curriculum including introductory, emerging, and upper level courses. Prospect Press offers reasonable prices by
selling directly to students. Prospect Press provides tight relationships between authors, publisher, and adopters that many larger
publishers are unable to offer in today’s publishing environment. Based in Burlington, Vermont, Prospect Press distributes titles
worldwide. We welcome new authors to send proposals or inquiries to Beth.Golub@ProspectPressVT.com.
Preface
Chapter 6 Functions
Introduction
Stack Memory Primer
x86 and x86_64 Calling Conventions
Implementations
Summary
Key Terms
Key Registers (32-bit, 64-bit)
Code Review
Platform Specific Notes
Questions
Assignments
Index
Preface
Audience
Assembly Programming and Computer Architecture for Software Engineers is primarily intended
for undergraduate students in computer science and software engineering programs. Prerequisites for
this book include introductory computing courses and a solid programming foundation up to and
including data structures, preferably in C/C++. Working professionals are also likely to find this book
helpful for independent learning and for writing both low-level and high-level code.
Chapter Objectives
Chapter 1: Describe computer language translation
Chapter 2: Identify computer and processor components
Chapter 3: Distinguish between Assembly syntaxes
Chapter 4: Perform basic arithmetic
Chapter 5: Control program flow
Chapter 6: Follow function calling conventions
Chapter 7: Use strings and structures
Chapter 8: Execute floating-point operations
Chapter 9: Integrate low-level and high-level code
Chapter 10: Issue system calls
Chapter 11: Compare computer architectures
Chapter 12: Build simple circuits and devices
Supplements
Chapters 1 and 2, Chapter 6, Chapter 8, and Chapter 10 have additional supplements that provide
programs and content for the respective chapters.
Appendices
The INTRODUCTION TO THE APPENDICES and APPENDICES A THROUGH I provide practical
information such as resources, translating between Assembly syntaxes, development environment
setup, disassembling, debugging, linking Assembly and C++, following calling conventions, using
CPUID, performing Decimal and ASCII arithmetic, and using intrinsics.
Resources
• Book website: http://www.prospectpressvt.com/titles/hall-assembly-programming/
• Book repository: https://github.com/brianrhall/Assembly
• Instructor resources: http://prospectpressvt.com/titles/hall-assembly-programming/instructor-
resources/
• Student resources: http://prospectpressvt.com/titles/hall-assembly-programming/student-
resources/
• Brian’s website: http://www.brianrhall.net
• Kevin’s website: http://www.kevinslonka.com
• For content-specific resources see the APPENDICES (particularly the INTRODUCTION TO THE
APPENDICES) and the WEB RESOURCES links at the beginning of each chapter.
Acknowledgements
We owe a debt of thanks to the people who have been supportive of our efforts in writing this book.
Thank you to the teachers who have led us to where we are in our careers. Thank you to Beth Golub
for giving us the opportunity to publish with Prospect Press and for her wonderful guidance
throughout the writing process. Thank you to our reviewers for taking time to provide valuable
feedback. They include:
Thank you to our colleagues and students for putting up with us clamoring so much about the book
over the past two years. And most of all, thank you to our families -- for Brian, Narine and Aven; for
Kevin, his fiancé, Kelli. Without your tolerance and willingness to sacrifice precious time together,
this work would have not been possible. Thank you.
Brian and Kevin
CHAPTER 1
Objectives
• Distinguish between computing languages
• Identify uses of Assembly programming
• Convert values between number systems
• Solve basic arithmetic problems
• Describe character storage methods
• Evaluate Boolean expressions
• Explain the basics of computer operation
Outline
1. Web Resources
2. Welcome
3. Introduction
4. Computing Languages
a. Language Relationships
b. Translation Pipeline
c. File and Utility Relationships
d. Why Assembly?
5. Data Representation
a. Number Systems
b. Integer Storage
c. Unsigned Integer Storage
d. Signed Integer Storage
e. Character Storage
6. Boolean Expressions
7. 3-bit Computer Example
8. Summary
9. Key Terms
10. Code Review
11. Questions
a. Short Answer
b. True/False
12. Assignments
Web Resources
Wikis
• https://en.wikibooks.org/wiki/X86_Assembly (Assembly Programming Overview)
• https://en.wikibooks.org/wiki/X86_Disassembly (Assembler and Disassembler Overview)
Developer
• http://www.unicode.org
• http://www.unicode.org/charts/PDF/U0000.pdf (ASCII)
• http://devimages.apple.com/llvm/videos/LLVM_Assembler_Infrastructure.mov (LLVM-MC
Overview)
Videos
• Video 1.1: Welcome (https://youtu.be/HBwgXY88hyc)
• Video 1.2: Signing Integers (https://youtu.be/vHijiZMbj9E)
• Video 1.3: A 3-bit Computer Example (https://youtu.be/gYczcmDywag)
ATTENTION: The GNU Assembler (GAS) is primarily a Linux-based assembler used by the
GNU project and has been developed since 1987. GAS is part of the GNU Binutils package and is
used to assemble the Linux kernel amongst other software. The Netwide Assembler (NASM) is a
Linux-based open-source assembler/disassembler for x86 and x86_64 that has been developed
since 1996 by very small team of developers. The Microsoft Macro Assembler (MASM) is a
proprietary assembler for Microsoft’s operating systems, which is packaged with Visual Studio.
MASM has been developed since 1981.
• For the sake of our students, we have focused on keeping this text educational, useful, and
affordable.
We hope you enjoy this book and find it beneficial in your education and career. Happy learning
and coding!
Brian
Kevin
Introduction
The purpose of this chapter is to introduce fundamental concepts of computer programs and computer
architecture. We cover relationships between computing languages and Assembly language’s place in
the language hierarchy. We discuss the basics of data representation, number systems, and Boolean
expressions. Additionally, we illustrate chapter concepts with a 3-bit computer system. This chapter
will prepare you for a deeper dive into a specific architecture, x86/x86_64 in CHAPTER 2, and for
understanding Assembly fundamentals beginning in CHAPTER 3.
Computing Languages
Language Relationships
As programmers, we live in a world of computer languages. Understanding where Assembly fits in
the computer language hierarchy is important. Typically, we write code in a high-level language,
which simply means that the statements are roughly English-like. Throughout this text we use the high-
level language C++ in examples. An example of the English-likeness of a high-level language would
be the if…else control structure.
High-level languages and the abstraction they provide are great for humans, but the statements
must be translated from high-level to machine-level for execution by a computer. Modern computer
processors are made up of billions of transistors that switch between allowing (1) or not allowing (0)
the flow of electrical current. A system based on two states is called a binary system. Processors
must be fed instructions in numeric binary form; so how do we get from high-level to Assembly to
machine-level?
Translation Pipeline
At this point, we want to illustrate the process of moving from high to low level. Using a practical
approach, we accomplish this by thinking of the process as a translation pipeline (Figure 1.2).
Figure 1.2 Translation pipeline
ATTENTION: The “virtual machine” concept is a more abstract way of thinking about levels in
machine organization and is used in classical examples. You may encounter the term in other texts
and explanations of multilevel design. Virtual machines can be implemented in hardware or
software.
A program written in a high-level language must be translated in order to run at a lower level.
Translation has two forms: (1) interpreting, which is translating line-by-line as the program executes,
and (2) compiling, which is translating all the code in a single step before execution. An example of a
high-level interpreted language is Python. An example of a high-level compiled language is C++.
A high-level language statement such as int x = y + 2; has a one-to-many relationship
with machine language; that is, each high-level statement corresponds to multiple Assembly and
machine instructions.
Assembly is an intermediate form in the translation pipeline. A high-level program is translated
into Assembly and the Assembly is further translated into machine language based on a processor’s
instruction set architecture. The process of Assembly code being translated into machine language is
often called encoding. The inverse process of machine language being translated into Assembly is
often called decoding.
Assembly language statements have a one-to-one relationship with machine language; that is, each
Assembly language instruction corresponds to a single machine language instruction. Machine
language instructions are typically represented in an intermediate numeric form such as hexadecimal,
which is then translated and implemented physically as binary on the hardware, what we call digital
logic.
Common 32-bit x86 ISA names Common 64-bit x86 ISA names
x86 x64
IA-32 x86_64
i386 Intel: IA-32e (past), Intel 64 (current)
AMD: AMD64
ATTENTION: The 32-bit version of the x86 instruction set is commonly known as IA-32 (Intel
Architecture 32-bit). IA-32 is synonymous with i386. The 64-bit version of the x86 instruction set
is commonly known as x64 or x86_64, but other names are used depending on manufacturer. The
64-bit version of x86 should not be confused with the 64-bit Intel Architecture (IA-64) used in the
Itanium line of processors as it is a completely different instruction set architecture. IA-32 and x64
are not compatible with IA-64.
Table 1.1 provides an example of the translation process. The high-level C++ statement sum =
5; assumes that an integer called sum exists. In Table 1.1, the statement is translated into Assembly
using the GNU Assembler (GAS), which uses AT&T syntax. The statement is further encoded into
machine language based on the instruction set architecture for an Intel 32-bit (IA-32) processor. The
machine language instruction is in hexadecimal form, which is digitally (physically) implemented in
binary.
Table 1.1 The translation process
Digital logic Binary (physical 1100 0111 0100 0101 1111 1000 0000 0101 0000 0000
implementation) 0000 0000 0000 0000
Next, we reinforce the translation process by presenting three encoded Assembly instructions in
Example 1.2. Here, the specifics are not the focus, but rather the concept. CHAPTERS 4 and 5 discuss
instructions in further detail.
Assume we have the 32-bit Assembly instruction: MOV eax, 5. If abstracted to a higher-level
statement, this is similar to saying something like variable = 5; but more specifically we are
saying to move (copy) the immediate value 5 to the eax register in Intel Assembly syntax. The MOV
instruction is an opcode and eax is a register, both of which are specified as part of the IA-32
instruction set architecture. The operation of moving an immediate value to the eax register has a
specific machine language counterpart, which encoded in hexadecimal is B8. The immediate value
operand becomes part of the instruction.
Example 1.2 Assembly instructions encoded into Intel 32-bit machine language
PROGRAMMING: Assembly code is not portable across processor families. For example, code
written for the x86 processor family will not run on processors such as SUN Sparc, IBM 370, and
ARM Cortex.
The x86/x86_64 processor family includes Intel processors such as Pentium, Core-Duo, and Core
i7, and AMD processors such as Athlon, Phenom, and Opteron. Both Intel and AMD implement the
x86 instruction set as part of their processor design, but the processor design techniques used to
implement the instruction set, also known as the microarchitecture, are very different.
Why Assembly?
An important and reasonable question that we must ask and answer is “Why learn Assembly?” What
is the benefit of knowing low-level details if we can write code in high-level languages? The answer
to these questions is multifaceted.
• Learning Assembly will enhance your understanding of computer operation. Assembly is a
mechanism by which a programmer can learn details of computer hardware, CPU components,
memory organization, and the interactions among these elements of computer architecture.
• Programmers make extensive use of a debugger, a utility for troubleshooting code, when
writing programs. Debuggers provide Assembly, disassembly, register, and memory
information so that the programmer can step through programs at a low level. Understanding
Assembly language and computer architecture will help with identifying and fixing code bugs.
• Knowledge of Assembly and computer operation helps a programmer make informed decisions
about implementation at high and low levels. A programmer can take advantage of the
hardware and optimize for efficiency.
• Knowledge of Assembly removes layers of abstraction from tasks such as bit manipulation and
function (procedure) calls.
• Some areas of software development rely on intimate knowledge of Assembly, such as
programming for embedded devices, programming device drivers, and system (OS)
programming.
Learning Assembly will give you a fuller understanding of how computers operate and how code
executes, which you can use to your advantage. Additionally, from the vantage point of an engineer
there is nothing quite as satisfying as talking directly to the processor.
LEARNING: Refer to the BUBBLE SORT EXAMPLE at the end of the chapter to consider
differences in file sizes and memory footprint for comparable programs written in Assembly and
C++.
Data Representation
Number Systems
Most computers operate physically in binary form. For example, a memory cell is either charged or
not charged, a location on disk is magnetized or not magnetized, a transistor in a CPU is either
allowing current flow or not allowing current flow. Therefore, binary (1s and 0s) is used to represent
data at the lowest level. However, binary is typically difficult for humans to interpret quickly, so
other number systems serve as shorthand representations of binary.
LEARNING: Fundamentally, binary is the only number system a computer understands with regard
to execution of machine language. So why is binary the number system of computing?
Answer: The reliability of binary representation and bi-stable environments.
Physical characteristics of binary hardware components:
• The component has two stable energy states, representing 0 and 1. Examples: full on/full
off, fully charged/fully discharged, positively charged/negatively charged, magnetized/non-
magnetized, reflects light/does not reflect light;
• The two states are separated by an energy barrier (they cannot become each other or be
confused);
• Possible to sense the state of the component;
• Possible to switch between the states.
Imagine the complexity of storing a value in a computer based on the decimal or hexadecimal
system. A component would have to be able to represent 10 or 16 different states. Using two states
makes it much easier to represent physical properties, which in a typical computer are electrical.
Reading and writing low-level code requires programmers to be adept at number systems and
formats. The most common formats are binary, octal, decimal, and hexadecimal. Each number system
has a base, which indicates the number of symbols available for a digit. Table 1.3 shows details of
common number systems. Decimal and hexadecimal are the most common number system formats
used in Assembly code.
Binary 2 01
Octal 8 01234567
Decimal 10 0123456789
Hexadecimal 16 0123456789ABCD EF
Integer Storage
To programmers, the binary number system means 0/1 or false/true. A binary digit is a bit. Bits are
combined into bytes to store data like integer (whole number) values. Table 1.4 presents the bits,
bytes, terms, and ranges associated with unsigned and signed integer storage. Unsigned means only
positive integers are represented, while signed means positive and negative integers are represented.
When multiple bits are combined, the leftmost bit is the most significant bit (MSB) and the rightmost
bit is the least significant bit (LSB). In the 1-byte example below, if the LSB (bit 0) is changed the
value is only altered by 1, but if the MSB (bit 7) is changed the value is altered by 128.
Unsigned Integer Storage
Two useful skills when dealing with number systems is the ability to convert between systems and the
ability to perform basic arithmetic like addition. Table 1.5 shows unsigned integer equivalents in
decimal, binary, and hexadecimal.
0 0 0000
1 1 0001
2 2 0010
3 3 0011
4 4 0100
5 5 0101
6 6 0110
7 7 0111
8 8 1000
9 9 1001
10 A 1010
11 B 1011
12 C 1100
13 D 1101
14 E 1110
15 F 1111
The following nine examples demonstrate ways to perform a variety of unsigned conversions and
additions:
ATTENTION: Decimal values can be converted to any other base in one of the following ways:
• Scale of basen (see Examples 1.3 and 1.8)
• Positional notation: decimal = (D(n-1) × B(n-1)) + (D(n-2) × B(n-2)) + … + (D1 × B1 )+(D0 × B0)
where B = base, D = digit, and n = number of digits (see Examples 1.4 and 1.9)
• Division (see Examples 1.5 and 1.10)
In Example 1.3, we show how to convert an 8-bit value between binary and decimal using a Base
2 scale. The conversion is 000101112 = 2310. Essentially, you add up the decimal values based on the
scale where a 1 exists in the binary sequence.
In Example 1.4, we show how to convert from binary to decimal using positional notation. The
conversion is 000101112 = 2310.
In Example 1.5, we show how to convert from decimal to binary using division. The conversion
is 4210 = 1010102. First, divide the decimal number (42) by the base (2), which results in a quotient
of 21 and a remainder of 0. Place the remainder (0) out to the right. The first remainder is the LSB.
Then, keep dividing the quotient by the base until nothing is left, placing the remainder to the right
after every division. The quotient of the final division (which will be a 0 or 1) is the MSB. The
binary sequence is constructed by concatenating the values in reverse order starting with the final
quotient as the MSB and the first remainder as the LSB.
Example 1.5 Decimal → binary (division)
In Example 1.6, we show how to calculate the number of bits needed to store a given decimal
value. For example, the value 4210 needs 6 bits of storage.
LEARNING: When calculating the number of bits needed to store a decimal value, you may be
tempted to use bits = ceiling(log2n), which would work for most values (like Example 1.6).
However, ceiling will result in an incorrect value when n is a power of 2, like the value 3210. So,
ceiling(log2 32 ) = 5 bits, which is incorrect. We would need 6 bits to store 3210, which is
1000002.
In Example 1.8, we show how to convert between hexadecimal, binary, and decimal.
Hexadecimal to binary is based on the rule that each hexadecimal digit is comprised of four bits. The
hexadecimal to decimal conversion can be accomplished using a Base 16 scale of 16n (like Example
1.3). The conversion is 00011010101101112 = 683910 = 1AB716.
In Example 1.9, we show how to convert from hexadecimal to decimal using positional notation.
The conversion is 1AB716 = 683910.
In Example 1.10, we show how to convert from decimal to hexadecimal using division. The
conversion is 803910 = 01F6716. The process is exactly the same as in Example 1.5, except we divide
by 16.
Exploring the Variety of Random
Documents with Different Content
The whole house, its innumerable corridors, its foyers and
promenades, the walls of the auditorium, the ceiling, the capitals of
the columns that support the dome, the dome itself—every inch of
the whole is dominated by a single decorative motif, a very shoddy,
cheap motif. This is a pendant, stalactite arch, borrowed from the
Moorish architecture of Spain, and reduced to the lowest terms of
mechanical rudeness. The theater is of concrete and stucco, and this
dull shape is repeated endlessly and tediously, as if it had been
scalloped out by a machine. Only in the dome, or when it is no more
than hinted at in certain wall surfaces, does this shape do anything
but bore and depress. On top of this, Poelzig had stained the walls of
many corridors and rooms in a yawping red, and turned the main
foyer into a ghastly sea-green cavern. The theater is nervous,
horrific, clangorous, glowering. There is nothing fountain-like. No
spirit wells up in beauty. There is no dignity and no glory.
The fault may not be Poelzig’s, but the lighting of the stage and
orchestra seems unfortunately handled. Some of the lights for the
inner stage are placed in front of the arch of the proscenium instead
of behind it, and thus they illuminate it, and emphasize something
that ought not to be there at all, let alone pointed out. The lights for
the orchestra originally came wholly from the lower edge of the
dome. It was necessary, however, to supply more, and they have
been placed in an ugly red hood, which sticks out from the
proscenium with no relation to the rest of the house. The lights in the
dome stab with a glorious brilliance; the great beams seem to
descend unendingly before they reach the tiny figures of the actors,
and spot them out of the darkness. But these lights make the first
mistake of trying to hide themselves, and the second mistake of not
succeeding in doing so. How much better it would be if they were
treated frankly as part of the theater; if their source were admitted; if
these lamps were hung in great formal chandeliers made a part of
the decorative design of the production. For Romain Rolland’s
Danton the astute Ernst Stern hung huge lanterns over the scene of
the revolutionary tribunal; it was a method that should have been
perpetuated.
The productions that Reinhardt made are no longer to be seen in
the Grosses Schauspielhaus, for repertory vanished from his
theaters along with Reinhardt. You hear, however, of many
interesting and beautiful things in Danton, in Œdipus, in Hamlet, in
Julius Cæsar, in Hauptmann’s Florian Geyer. But you see no such
things now, or at least we did not see them when we were in Berlin.
We saw the orchestra filled with seats—perhaps to swell the meager
seating capacity of three thousand which was all Poelzig could
include after he had wasted front space on rows of boxes and wide-
spaced chairs, and perhaps because the new directors feared to use
that glorious and terrible playing floor. We saw the forestage shrunk
to a platform jutting out perhaps twenty feet. We saw a tedious
performance of Die Versunkene Glocke, with the action shoved into
the realistic proscenium, with the scenic artist fooling about with
sloppily expressionist forms, and with the mountain spirit hopping
down the hillside with a resounding wooden thump. We saw
Hebbel’s Judith done with much more effectiveness, though without
real daring or vision.
The Inner Stage of the Grosses Schauspielhaus as set for the gates
of Holofernes’ palace. Designed by Ernst Schütte.
The balcony is a most useful feature. It was not accident that put a
balcony in the Elizabethan theater or made the Greeks use the
theologium. It serves a practical purpose, of course, in any scheme
of permanent setting, for it makes it unnecessary to build balconies
for scenes that especially call for them. A good deal more important
to the director is the movement up and down, as well as sideways
and back and forth, which it gives him. With the forestage, the main
stage, and the balcony, Copeau has almost as useful a base for
composing action in three dimensions as Jessner has in the steps
which he uses in various productions in Berlin.
Sheldon Cheney has called Copeau’s stage a “naked stage.” It is
a happy accident of language that, when you call it a concrete stage,
you describe the material of which it is made and the feeling of
sharp, definite statement which resides in everything done upon it.
The wall at the right of the audience is solid, the wall at the back, too;
the ceiling of the stage has some openings between steel girders,
but it is more like the floor than the “flies” of the average theater.
Only in the left wall of the stage are there any openings. Through
these the actors manage to exit into the next building. The floor of
the stage, except at the edges, is even more adamant. It will not
yield to pleas for atmosphere, illusion or any of the gewgaws of our
theater. It is solid concrete. Copeau wanted to give the actor’s feet a
sense of support which they cannot get from yielding and resounding
wood. At the sides is a small section in timber which permits the use
of a stairway to a lower room as in The S. S. Tenacity or Les Frères
Karamazov. In the forestage are two other openings, covered by
wooden and concrete slabs.
Jouvet’s lighting system is ingenious and philosophically sound, if
not altogether perfect. Practically all the light comes from four large
lamps hung in the auditorium. They replace footlights, borderlights,
and floods from the sides. Illumination from the auditorium itself is
essential to good stage lighting; the footlights are an unhappy
makeshift. David Belasco very wisely uses a battery of lamps hidden
in the face of the first balcony. In German theaters, the huge 6000-
candlepower bulbs developed since the war, tempt directors to
inefficient and distracting lighting from the ventilator above the main
chandelier in the roof of the auditorium. Neither the latter method nor
Belasco’s is wholly satisfactory in a theater that forswears
representation, a theater like the Grosses Schauspielhaus or the
Vieux-Colombier or the Redoutensaal in Vienna. Electric light on the
stage begins as an imitation of the real. If a table is illuminated by a
large light in the first border, there must be a lamp above the table in
such a position as to suggest that it is doing all the work. The next
step is to use light for illumination and composition—for beauty, in
fact—without bothering to try to make it seem to come from some
natural source in the setting. When such light comes from the
auditorium we may get composition, but we also get a throw-back to
the source of the light itself. The ray carries our eye up to some lens-
lamp trying unsuccessfully to hide in the bottom of the dome of the
Grosses Schauspielhaus, or in the top of the ceiling of the
Burgtheater. A new problem arises. It should be answered by making
the source frankly visible. The hoods themselves of large bulbs have
a shape that would make them interesting and not without
significance in the Grosses Schauspielhaus; or a new shape could
be supplied to harmonize with architecture or setting. In the
Redoutensaal we find glorious old crystal chandeliers lighting the
stage—an accidental result of the fact that the Viennese government
converted Maria Theresa’s ballroom into a playhouse. In the Vieux-
Colombier Jouvet makes no bones about admitting where his light is
coming from. He places the bulbs in octagonal lanterns, which, by
revolving on an axis, present different colored sides for the light to
pass through; the lanterns may also be moved in such directions as
to throw the light upon any desired part of the stage. These lanterns
are frankly visible; and, though they are not a pleasing shape, they fit
esthetically with the theory of this theater. Here is electric lighting
presented at last as the thing it really is, not as an imitation of
something else.
The greatest faults of the Vieux-Colombier over which Copeau had
control, and which he could easily have avoided, lie in the color and
quality of painting on the stage. The concrete and the cream of the
auditorium take warm lights; but in portions of the stage itself,
Copeau has used a cold gray that is surely unfortunate. Much that
you see is shoddy. If the paint chips off a corner, nobody bothers to
replace it. Rivet heads and structural iron show when they have no
relation to the shapes on the stage. Now it is a good thing not to
spend too much energy on the physical side of the theater, but there
is a difference between austerity and slovenliness.
Actual productions, animated by the actors and graced with some
of Jouvet’s scenic arrangements, do a great deal to make the stage
wholly attractive. The S. S. Tenacity, a realistic play with a French
café for its setting, makes interesting demands on this non-realistic
stage. The demands are met, and met successfully. There is a
counter at one side with racks for bottles, a wooden door in the arch
at the back, a table in the center, and above it—the mark of Realism
—a shaded lamp, from which a great deal of the stage light comes.
With the actors giving us the sense of French life which was missing
in the New York and Viennese productions, we have here a
performance which might almost be enclosed in a proscenium frame.
But there is in the acting, as in the setting, much that is non-realistic,
much that seems representational only by contrast with the
dominating spirit and physique of the theater and its people.
In the playlet that goes with The S. S. Tenacity, Mérimée’s Le
Carrosse du St.-Sacrement, we are back in a piece from the
romantic period, a comedy of clear and artificial vigor. A screen and
some hangings with a southern flash to them set the stage for
eighteenth-century Peru. Copeau himself has the same Punch-like
visage that he presents to you in his own study, but now he manages
to make you think him a Spanish puppet, an exasperated and wily
doll. The same Punch appears in Les Frères Karamazov, but a
Punch of the intellect, a tragic marionette dangling on the strings of
rationalism. At the end, when Ivan goes mad, you may see most
clearly the subtle exaggeration which is at the heart of the acting of
Copeau’s company. The whirling body, the legs that beat a crazy
tattoo on the floor, the twisting head and the boggling eyes, are none
of them copied from a candidate for the asylum. They are all an
explanation of what sort of lines in the figure of a crazy man would
strike the imagination, what angles and movements would most
sharply indicate lunacy.
Karamazov is effectively composed on this stage by a few
draperies for the first scene, a line of curtains hiding the whole stage
and begging the question in the second scene, a flight of steps for
the hall of the Karamazovs, and two heavy screens for the inn. There
is nothing so fine as the interminable steps that lead up from the
balcony at the Garrick to the wretched room of Smerdiakov; but
there is enough improvement in the very excellent acting seen in
New York, to make up for this. Jouvet’s father is gigantically good;
set beside his Aguecheek, it puts this young man among the most
interesting actors of Europe. Paul Œttly, as the eldest brother, plays
the striking scene in the inn of the gypsies with uncommon vigor, and
the stage direction sweeps the scene along to a burning climax. The
intensity of the actors in this play, added to the intensity of the play
itself, demonstrates how completely a formal theater of this kind, and
a type of acting which is a reasoned sort of explanation, rather than
a thing of life or of acting, can stand up beside the Realism of our
directors when it is at its best.
In Twelfth Night you find the company clear out of the shackles of
realistic or semi-realistic plays, and happy in the beautiful playhouse
of fantasy. And here the quality of exposition—which you may trace
back to Copeau’s profession of critic, and forward through the days
given to the reading and study and analysis of each new play—has
almost altogether disappeared. The playing is spontaneous, or it is
nothing. Suzanne Bing’s Viola is a-quiver with radiance and wonder.
Jean Le Goff’s Orsino is no such God-favored performance, but his
eyes are lit with an ecstasy of love-sickness. The comedians are far
from Englishmen; but their creations are immensely funny: Jouvet’s
gently gawking Aguecheek, Romain Bouquet’s shaven-headed,
almost Oriental Sir Toby, Robert Allard’s extraordinary clown, the
finest either of us had ever seen. It is interesting, for once, to see
Malvolio put in his place as a character, and not given the star’s
spotlight to preen in; it might be a more satisfactory arrangement if
Albert Savry could be funnier in his dry Puritanism.
Twelfth Night triumphs at the Vieux-Colombier by virtue of the spirit
of the actors, and the vision of the director. The costuming is bad—
an unsuccessful attempt to make Illyria, as it might well be, a land of
no time or place but Poetry; and the setting is no more than bright
and freakish in a Greenwich Village way. But in the costumes and up
and down the setting these players frisk, weaving patterns of beauty
and fun that link them into the true spirit of the play. The curtain is
there at convenient times to make the forestage into a neutral zone
for duke or sea captain, and between this forestage and the
balconied space behind there is room for all of Shakespeare’s play
to race along just as he wrote it. With the trap door in the forestage
to act as cellar, Malvolio can be incarcerated below-stairs and
happily out of sight—much as Shakespeare intended.
Copeau is a believer in gymnastics. (He is also a believer in
improvisation, a school of playwrights, and other things whose
absence makes him grow impatient with his theater). Through
months and years of strenuous labor, he is training half a dozen
young people of his own school to have bodies that are as well
under control as a gymnast’s. The performances of the Vieux-
Colombier draw on players not so well trained, but they show what
physical command can accomplish. Here you see acting that makes
you think again of sculpture and its relation to the new theater.
Copeau’s people can meet the test which the theater with a Greek
orchestra, like the Grosses Schauspielhaus, exacts. They can play
“in the round.” Their bodies can be seen from all sides, and still keep
expressiveness and beauty. They have learned to master their
bodies, as well as their voices, and they are able to make the lines of
arms and torsos and knees speak directly to the audience. When
Jouvet sharply underlines and almost caricatures the salient shape
of old Karamazov he is able to escape from ordinary representation,
which may or may not make its point, and he is able to push his
conception of the wicked, vital old man into almost direct physical
contact with the audience. I have often wondered when the actor
would learn the lesson of sculpture. There were centuries of almost
literal representation, with the inner expression of the artist and the
artist’s sense of Form struggling furiously to impose itself upon
Reality, and failing more often than succeeding. Then, with Rodin
came the sense that sculpture could make representation a distinctly
secondary matter. There could be expression first, and resemblance
afterwards, if at all. Idea, which is one sort of Form, enters the clay
with Stanislas Szukalsky. Expression and idea, poised in the human
body, begin to inform acting directly and openly in the company of
the Vieux-Colombier. The first presentational theater adds the
medium of the body to the medium of the voice.
CHAPTER XV
THE REDOUTENSAAL—A PLAYHOUSE OF PERMANENCE
When President Vetter had won his point he plunged briskly ahead
at the work of making over the ballroom into a very special kind of
theater without marring its beauty. Part of the old balcony came out,
mirrors replaced doors and windows down the sides of the hall, and
Oberbaurat Sebastien Heinrich set to work on the problem of
creating a permanent architectural setting for the stage which should
harmonize with the lovely room, yet stand out from it significantly
enough to center attention on the acting space. Meantime President
Vetter took another look at the Gobelins which had satisfied Maria
Theresa, and decided that they weren’t quite good enough; others
had to be found. Even now he is a little doubtful about those on the
right hand wall.
The work of the Oberbaurat is admirable. He has continued the
molding above the Gobelins, and made it the top of the curving wall
which is the background for the stage. This shell is broken at each
side by a casement, which holds either a door or a window, and two
masked openings. Through one of these, close to the front of the
stage, a curtain the height of the wall is run out to hide changes in
the screens and furniture upon the stage. At the back, where the
shell curves close to the old balcony of the ballroom, the State
architect has placed a pair of graceful steps, which meet at the top,
and provide, underneath, an exit to the rear. For lighting, there are
the foots in their unobtrusive trough, and small floods placed in the
gap where the curtain moves; but by far the larger part of the
illumination comes from the seven chandeliers in the ceiling of the
hall. The chandeliers towards the rear are sometimes turned half
down or even off, but essentially it is the same light which illumines
both players and audience.
This light and the formal and permanent character of the stage
stamp the Redoutensaal with a character as old as it is fresh. This
theater goes beyond Copeau’s Vieux-Colombier in the attempt to re-
establish in our century that active relationship between actor and
spectator which existed in the great theaters of other centuries, and
towards which the finest minds of the theater have been striving.
Here is a stage freed from all the associations of modern stage-
setting, innocent of machinery or illusions, essentially theatrical.
Actors must be actors upon its boards. They cannot try to represent
actual people; they can only present themselves to the audience as
artists who will give them a vision of reality.
This is comparatively easy in opera. There is no realistic illusion
about a valet who sings a soliloquy on his master’s more intimate
habits. People who quarrel in verse to a merry tune are most unlikely
to be mistaken for the neighbors next door. With music and the stage
of the Redoutensaal to aid them, the singers of the State Opera
manage to give a roughly presentational performance. In direction
there is nothing notable to be seen, unless it is the wedding scene of
Figaro with the Count striding up and down across the front of the
stage, opposed in figure and in action to the plaguing women above
upon the stairs. The acting possibilities of this stage, however, are
very great. Reinhardt saw them vividly in the summer of 1922, while
he was making preparations for his five productions in September:
Turandot by Gozzi, Stella and Clavigor by Goethe, Le Misanthrope
by Molière, and Dame Cobalt by Calderon. He saw the possibilities
and the difficulties of acting also, and he rejoiced that he was to have
old and tried associates like Moissi, Pallenberg and Krauss with him
once more when he began his experiment with a theater far more
exacting than the Grosses Schauspielhaus, and a technique of
acting very hard to regain after so many years of Realism.
So far as there must be indications of time and place upon this
stage, a beginning in experiment has been made. It has not been a
particularly good beginning, but it shows the opportunities for the
artist, and also the limitations. They are very nearly identical. It is the
business of the scene designer who works here to draw from the
Redoutensaal itself the motifs and colors which he shall add to the
permanent setting. It is his privilege, using only these things, to give
the scene just the fillip of interest which the play demands.
Alfred Roller, a veteran of the scenic revolt of fifteen years ago,
and, next to Reinhardt’s artist, Ernst Stern, the most distinguished
German scenic designer of his time, has made the screens and set
pieces for The Marriage of Figaro and The Barber of Seville. There is
little or no good to be said of his work in the latter piece. The screens
with which he indicates a room in the first act, and the bulky gate
which he sets down across the stairs in the second act, are bad as to
color, and quite at odds with the Redoutensaal. Obviously he could
have made so much more amusing a gate out of the permanent
stairs, and given his scene a Spanish stamp by a circle of vivid, tight-
packed flowers in the center. The Marriage of Figaro is much better,
though here again Roller could have done far better if he had turned
his eyes up to the walls above him. The first scene, the servant’s
room, is made by a row of antique screens of faded crimson placed
well down stage. Through a door in the central one, you see green
screens, which, in the second scene are to define the room of the
wife. With an excellent sense of climax, Roller proceeds from the
shallow stage of the first scene to the deeper stage of the second,
and finally sweeps in the whole permanent setting for the wedding in
the third scene. More than that, he calls the stairs and balcony into
play, and finally opens the great doors above the balcony to let us
see beyond to a room of crimson hangings and more crystal. The
last scene, the garden, is shoddily conceived, with a few
uninteresting potted trees, a bad painting of Schönbrunn in the exit
under the steps, and a sickly attempt at moonlight from the
floodlights and foots. Why not, you wonder, delicate, artificial, gilded
hedges along the walls, and fruit trees flattened on espaliers against
the steps?
Unquestionably the lighting problem in the Redoutensaal is not yet
solved. Reinhardt looks to solve it with a large light or two concealed
in the forward chandeliers. This may make the illumination of the
stage a little more flexible and expressive; but it is quite as likely that
the way to light the stage is without the least pretense at illusion. At
any rate footlights and lights from the side are distressing reminders
of the conventional theater.
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade
Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.
textbookfull.com