100% found this document useful (1 vote)
6 views68 pages

Assembly Programming and Computer Architecture for Software Engineers Brian Hall instant download

Ebook access

Uploaded by

thtqpuvwma635
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
6 views68 pages

Assembly Programming and Computer Architecture for Software Engineers Brian Hall instant download

Ebook access

Uploaded by

thtqpuvwma635
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 68

Assembly Programming and Computer Architecture

for Software Engineers Brian Hall download

https://textbookfull.com/product/assembly-programming-and-
computer-architecture-for-software-engineers-brian-hall/

Download full version ebook from https://textbookfull.com


We believe these products will be a great fit for you. Click
the link to download now, or visit textbookfull.com
to discover even more!

Software Architecture for Business Lina Khalid

https://textbookfull.com/product/software-architecture-for-
business-lina-khalid/

Nonneoplastic Dermatopathology 2nd Edition Brian J.


Hall

https://textbookfull.com/product/nonneoplastic-
dermatopathology-2nd-edition-brian-j-hall/

Mastering Assembly Programming 1st Edition Alexey


Lyashko

https://textbookfull.com/product/mastering-assembly-
programming-1st-edition-alexey-lyashko/

Software Architecture FundamentalsA Study Guide for the


Certified Professional for Software Architecture
Foundation Level iSAQB compliant 1st Edition Mahbouba
Gharbi
https://textbookfull.com/product/software-architecture-
fundamentalsa-study-guide-for-the-certified-professional-for-
software-architecture-foundation-level-isaqb-compliant-1st-
Beginning Julia Programming: For Engineers and
Scientists 1st Edition Sandeep Nagar

https://textbookfull.com/product/beginning-julia-programming-for-
engineers-and-scientists-1st-edition-sandeep-nagar/

Software Architecture for Big Data and the Cloud 1st


Edition Ivan Mistrik

https://textbookfull.com/product/software-architecture-for-big-
data-and-the-cloud-1st-edition-ivan-mistrik/

Computer Organization and Architecture Designing for


Performance 10th Edition William Stallings

https://textbookfull.com/product/computer-organization-and-
architecture-designing-for-performance-10th-edition-william-
stallings/

C Programming For Dummies (For Dummies (Computer/Tech))


Gookin

https://textbookfull.com/product/c-programming-for-dummies-for-
dummies-computer-tech-gookin/

Introduction to Software for Chemical Engineers 2nd


Edition Mariano Martín Martín (Editor)

https://textbookfull.com/product/introduction-to-software-for-
chemical-engineers-2nd-edition-mariano-martin-martin-editor/
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 [email protected].

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 [email protected].

Editor: Beth Lang Golub


Production Management: Kathy Bond Borie
Cover Design: Annie Clark
Cover Illustration: Hanah Leo

eTextbook ISBN: 978-1-943153-31-2


• Available from Redshelf.com and VitalSource.com

Printed Paperback ISBN: 978-1-943153-32-9


• Available from Redshelf.com and CreateSpace.com

For more information, visit


http://prospectpressvt.com/titles/hall-assembly-programming/

About the cover


Why the mountains on the cover? Mountains are both beautiful and forbidding, much like the two foundational topics addressed
throughout this book: Assembly Programming and Computer Architecture. They are the source of a challenging journey that opens your
eyes to a heightened view of computing. Why the metallic waterfall on the cover? That is just a metaphor for the deep dive into the
content that awaits.
Contents

Preface

Chapter 1 Language and Data Fundamentals


Welcome
Introduction
Computing Languages
Data Representation
Boolean Expressions
3-bit Computer Example
Summary
Key Terms
Code Review
Questions
Assignments

Chapter 2 Processor and System Architecture


Introduction
Architecture Overview
Processors
Input and Output
Summary
Key Terms
Questions
Assignments

Chapters 1 and 2 Supplement More Architecture Details


Program Loading
Memory Access Improvements
Support Processors
Pipelining and Multi-unit Processing
Input/Output System

Chapter 3 Assembly and Syntax Fundamentals


Introduction
Basic Elements
Data Definition
Working Examples
Summary
Key Terms
Code Review
Questions
Assignments

Chapter 4 Basic Instructions


Introduction
Data Movement and Arithmetic
Data Addressing and Transfer
Summary
Key Terms
Code Review
Questions
Assignments

Chapter 5 Intermediate Instructions


Introduction
Boolean Bitwise Operations
Branching
Repetition
Summary
Key Terms
Code Review
Questions
Assignments

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

Chapter 6 Supplement Program 6.3 x86_64 Implementation

Chapter 7 String Instructions and Structures


Introduction
Accessory Instructions
String Primitive Instructions
Structures
Summary
Key Terms
Code Review
Questions
Assignments

Chapter 8 Floating-Point Operations


Introduction
Floating-Point Representation
Floating-Point Implementations
Summary
Key Terms
Key Registers (32-bit, 64-bit)
Code Review
Questions
Assignments

Chapter 8 Supplement Chapter 8 Programs


Investment Calculator

Chapter 9 Inline Assembly and Macros


Introduction
Inline Assembly
Macros
Summary
Key Terms
Questions
Assignments

Chapter 10 Advanced Processor and System Architecture


Introduction
Processor and System Capabilities
Interrupts and System Calls
Summary
Key Terms
Code Review
Questions
Assignments

Chapter 10 Supplement Chapter 10 Programs and Resources


Programs
Resources

Chapter 11 Other Architectures


Introduction
CISC versus RISC
More Architectures
Quantum Architecture
Summary
Key Terms
Questions
Assignments

Chapter 12 Hardware and Electrical Components


Introduction
Foundations of Electricity
Electrical Components
Integrated Circuits
Popular Implementations
Summary
Key Terms
Questions
Assignments

Introduction to the Appendices


Welcome and Objective
Lost and Found

Appendix A Assembly Syntax Translation


Appendix B Environment Setup for Assembly Programming
Appendix C Disassembly
Appendix D Command-Line Debugging Assembly with GDB
Appendix E Linking Assembly and C++
Appendix F Functions and Stack
Appendix G Using CPUID
Appendix H ASCII and Decimal Arithmetic
Appendix I Intrinsics

Index
Preface

Mission of the text


Assembly Programming and Computer Architecture for Software Engineers is an educational
examination of Assembly programming and computer architecture. We approach these topics from a
practical point of view, addressing why and how questions throughout the text. We begin by laying the
foundation of computer language and computer architecture, and then we delve into Assembly
programming as a mechanism for gaining a better understanding of computer architecture, and how
Assembly can be used for software development.
Most of the existing books on computer architecture have one or more of the following
disadvantages: (1) based on a non-mainstream architecture; (2) written for computer and electrical
engineers as opposed to computer scientists and software engineers; (3) focused on a single platform-
specific development environment; (4) over-priced; and (5) lacking in practical content. We wanted
to give our students something better.

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.

Book Development and Pedagogical Approach


The notion to write a book arises every so often in an academic career, with one driver for book
ideas being the courses we teach. Both of us teach a course on computer architecture, which has been
a staple of computer science and software engineering programs for decades. We also teach in
programs where applied and practical skills are foremost.
During our doctoral studies, we made passing comments about writing a book together and at
some point we decided that doing so was a real possibility. Writing a book takes a lot of effort, thus
our collaboration was essential. So after several years teaching computer architecture and discussing
ideas with our wonderful Prospect Press partner, Beth Golub, we arrived at a basic but unique
concept. We would write a book for teachers, students, and professionals seeking educational content
for computer architecture that overcomes the previously stated disadvantages. Our book is based on
mainstream architecture(s), written for computer scientists and software engineers, written for
multiple development environments, well priced, and loaded with practical content.
Many hours, days, and weeks have been poured into this text and, in particular, the programs.
Writing Assembly code can be infuriating, compelling, and fun, as you are about to discover. Writing
about such a complex topic in a clear and efficient manner was also a particular challenge, as was
choosing what aspects to cover and when—a classic issue with computing content.
For many computing students, learning about computer architecture via Assembly programming is
an advantageous approach. While learning about architecture, useful programming skills are fostered.
We knew that a book based on such an approach would help in our courses and was likely to provide
a much-needed resource for similar institutions, educators, and students. We did our best and we hope
you enjoy learning about Assembly programming and computer architecture the way we enjoy
teaching the topics.

Organization and Objectives


CHAPTERS 1 AND 2 discuss computer language and computer architecture fundamentals.
CHAPTERS 3 THROUGH 5 introduce x86 and x86_64 Assembly syntax and a variety of instructions.
CHAPTERS 6 THROUGH 8 cover the more complex topics of functions, structures, and floating-point
operations.
CHAPTERS 9 AND 10 show advanced ways to use Assembly with high-level languages and system
software, as well as introduce other advanced aspects of computer and system architecture.
CHAPTER 11 explores architectures other than x86
CHAPTER 12 introduces basic hardware principles and components.

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:

John Doyle, Indiana University Southeast


Hai Jiang, Arkansas State University
Saad Khattak, University of Ontario Institute of Technology
Susan Lincke, University of Wisconsin - Parkside
Ray Toal, Loyola Marymount University

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

Language and Data Fundamentals

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)

Welcome (Video 1.1: https://youtu.be/HBwgXY88hyc)


Welcome to Assembly Programming and Computer Architecture for Software Engineers! The
purpose of this book is to provide an educational examination of Assembly programming and
computer architecture. Our goal is to approach these topics from a practical point of view. We
address questions of why and how throughout the text. The first two chapters lay the foundation of
computer language and computer architecture. The rest of the book uses Assembly programming to
help you gain a better understanding of computer architecture, and guides you in using Assembly for
software development. What makes this book unique is our multifaceted approach.
• This book is based on a dominant architecture in the computing market—x86 and x86_64—and
what you learn will be transferable to other architectures.
• The programming examples are unique in that we provide code for three common assemblers:
GAS, MASM, and NASM. This allows for learning on any OS platform: Mac, Windows, and
Linux. This approach also ensures code examples in both AT&T and Intel syntax.
• We provide context and examples in both 32 and 64-bit, both of which are useful for a
programmer.
• The Appendices provide practical information to help you learn and use the technologies
associated with Assembly and architecture.
• Chapter Supplements provide a deeper dive into topics as necessary.
• We provide links to wikis, developer resources, and videos to assist in further exploration of
topics.
• We use Attention notes, Programming notes, and Learning notes throughout the text to guide the
reader in beneficial ways.

ATTENTION PROGRAMMING LEARNING

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

Figure 1.1 Chapter roadmap

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.

Example 1.1 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.

PROGRAMMING: Some compilers, such as Microsoft’s C compiler, translate high-level code


directly to machine language, and creating Assembly is an option. Other compilers, such as GCC,
translate to Assembly first, then the Assembly code is translated to machine code.

Figure 1.3 Instruction set architecture


An instruction set architecture (ISA) is the programming-related aspect of computer architecture.
The ISA specifies the instructions, registers, memory architecture, data types, and other attributes
native to a particular processor that are available to a programmer. Think of an ISA as the language a
computer speaks. As shown in Figure 1.3, an ISA facilitates communication between software and
hardware.
We can think of instruction set architectures as complex or reduced. Complex instruction set
computing (CISC) architectures have instructions that are of varying length (in bytes) and are complex
in the sense that a single instruction may perform more than one task (e.g., access a memory location
and perform arithmetic). An alternative ISA design is reduced instruction set computing (RISC) in
which all instructions are the same length and perform only one task (e.g., access a memory location).
x86 and x86_64 are CISC architectures, while the majority of other ISAs are RISC architectures.
CISC attributes of x86 will be shown when instructions are discussed in more detail in CHAPTERS 4
AND 5. Also, when disassembly examples are provided, such as in CHAPTERS 6 and 11, the varying
length and complexity of instructions will be evident. You can also see variable length instructions in
the CHAPTER 1 PAGE 7 PROGRAMMING note on relocatable machine language.
PROGRAMMING: Disassembly is the Assembly code output produced by a disassembler after
decoding an object file containing machine language (i.e., decoding machine language bit
sequences into Assembly instructions). Most assemblers, compilers, debuggers, and development
environments, such as NASM (ndisasm), GDB, LLVM, Xcode, and Visual Studio provide
disassembly options. Independent disassemblers are also available such as Capstone, IDA,
objdump, and otool. To learn how to disassemble object files, see APPENDIX C:
DISASSEMBLY.

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

Level Language Code

High-level C++ sum = 5;


language

Assembly GNU Assembler, AT&T movl $0x5, -0x8(%ebp)


language syntax

Machine IA-32 C745F805000000


language

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

Machine language is numeric, so it is helpful to understand number systems, specifically hexadecimal


and binary. Machine language is also specific to a processor. Processor families understand a
common machine language, so code written for x86 or x86_64 processors will run on any processor
that is part of that family.

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.

Figure 1.4 File and utility relationships

File and Utility Relationships


Considering file and utility relationships in relation to the translation pipeline is also helpful. Figure
1.4 illustrates the language levels in relation to files, and also the role of computer utilities that
translate one language into another.
The role of a compiler is to translate high-level source code into the intermediate form of
Assembly based on the processor’s instruction set. The role of the assembler is to encode Assembly
code into object code, which is relocatable machine language formatted for a specific operating
system (OS) platform. Table 1.2 lists common object file formats by OS platform. The role of the
linker is to combine multiple object files and static libraries into a single executable file. The role of
the loader is to take the executable instructions contained in the executable file produced by the
linker, along with dynamic libraries, and load the machine code into memory for execution by the
central processing unit (CPU).
PROGRAMMING: What do we mean by “relocatable” machine language? When Assembly code
is assembled into object code, the code is in a generic form with the first instruction starting at
address 0x0h and subsequent instruction addresses are offsets based on the preceding instructions’
sizes in bytes. When the program is actually loaded into memory, the first instruction will have a
legitimate address, with the subsequent instruction addresses based on the offsets.

Table 1.2 Common object file formats by OS platform

Windows macOS Linux

COFF, PE, Win32, Win64 Mach-o ELF, a.out (deprecated)

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.

Table 1.3 Number systems

Number System Base Digits

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.

Table 1.4 Integer storage sizes

Bits Bytes Term Unsigned range Signed range

8 bits 1 byte byte 0 to 28 – 1 -27 to 27 – 1

16 bits 2 bytes word 0 to 216 – 1 -215 to 215 – 1

32 bits 4 bytes doubleword 0 to 232 – 1 -231 to 231 – 1

64 bits 8 bytes quadword 0 to 264 – 1 -263 to 263 – 1

80 bits 10 bytes tenbyte 0 to 280 – 1 -279 to 279 – 1

128 bits 16 bytes double quadword 0 to 2128 – 1 -2127 to 2127 – 1

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.

Table 1.5 Number system unsigned equivalents

Decimal Hex Binary

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:

1. Binary ↔ decimal: using a scale of 2n, where n = bits -1


2. Binary → decimal: using positional notation
3. Decimal → binary: using division
4. Calculating number of bits for a decimal value
5. Binary addition
6. Hexadecimal ↔ binary ↔ decimal
7. Hexadecimal → decimal: using positional notation
8. Decimal → hexadecimal: using division
9. Hexadecimal addition

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.

Example 1.3 Binary ↔ decimal (scale 2n)

In Example 1.4, we show how to convert from binary to decimal using positional notation. The
conversion is 000101112 = 2310.

Example 1.4 Binary → decimal (positional notation)

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.

Example 1.6 Calculating bits for a decimal value

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.7, we show binary addition. The rules are simple.

0+0=0 0 + 1 or 1 + 0 = 1 1 + 1 = 0, carry the 1 1 + 1 + 1 = 1, carry the 1


Example 1.7 Binary addition

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.

Example 1.8 Hex ↔ binary ↔ decimal

In Example 1.9, we show how to convert from hexadecimal to decimal using positional notation.
The conversion is 1AB716 = 683910.

Example 1.9 Hexadecimal decimal (positional notation)

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.
Discovering Diverse Content Through
Random Scribd Documents
míg csak be nem sötétedik és megjelenik a hirnök: «tessék
vacsorálni jönni».

Odasietett és kezét nyujtotta.

Most is úgy volt. A fiatalokat kikergették az öregek. Még a kártya-


szoba (pedig az immunis hely) sem védte meg Noszty Ferit.
– Eredj ki öcsém. Jégre magyar! – dirigálta Palojtay. – A mi
kártya-asztal elfér, adjuk át whistező öreg hölgyeknek és uraknak. A
ferbli majd csak a vacsora után jön. Addig te még menyasszonyt is
találhatsz magadnak!
Hát el is ment az új szolgabiró s meglepte, elkápráztatta a
tündéri kép, mely a Mamut-szemen elébe tárult a keresztül-kasul
sikamló fiatalság, a strucztollas és virágos női kalapok szinpompája,
a sehol véget nem érő fehérségben, mint egy illanó, összefolyó és
szétszakadozó virágerdő.
Megállt a jégtábla szélén és az összképben gyönyörködött, midőn
látja, hogy egy mellette elrohanó hölgy elesett a felkarczolt, szinte
porzó tükörlapon.
Odasietett és kezét nyujtotta, hogy fölemelje. «Köszönöm», –
mondá a nőcske gépiesen s csak akkor nézett lovagjára, mikor már
fölkelt. Összerezzent s egyszerre kék lett az arcza. Minden vér
elszállt abból, csak a fagy ereje maradt rajta, az pedig kék szint ad a
vér nélkül.
Feri is csak most ismerte fel. Tóth Mari volt.
– Nem ütötte meg magát? – kérdé.
– Oh nem, – rebegte és reszketett. – Egy kicsit meglazult a
korcsolya-szijj, azért estem el.
– Megengedi, hogy megigazítsam. Noszty Ferencz vagyok, az új
szolgabiró – mutatta be magát mosolyogva, – a kit most sokan
szidnak.
De még ki se mondta egészen s a leány még nem ért rá felelni,
mikor mint a villám, két korcsolyázó gavallér termett ott, nyilván
bizalmas emberei. Az egyik báró Krackner (a Mezernyén lakó
nyugalmazott tábornok fia), már messziről kiabálta:
– Így kell a kis gonosznak! Isten büntetése. Megszökött előlünk.
A másik Sipos István volt, a bontóvári fiatal törvényszéki elnök,
csinos ember és nagy stréber. Azonfelül pompás korcsolyázó, a ki
mielőtt megállt volna Mari előtt, egy művészi pirouettet vágott ki, a
mi a korcsolya-sportban olyan virtus, mint mikor a legszebb irású
hivatalnok kacskaringós manu propriát vagy czirádát kanyarít ki a
neve végén pont helyett.
– Maga is itt látta? – kérdé Tóth Mari.
– Hogyne! Hiszen nem vak az ember, hogy a csillaghullást se
vegye észre. Úgy nézem, megoldódott a korcsolyája.
S abban a szempillanatban már le is kuporodott, féltérdre
ereszkedve és igazgatni kezdte a szíjjakat, mire az ehhez készülődő
Noszty Ferencz szerényen félre állott.
– Sapristi! – duzzogott a kis báró, kit soványsága miatt «Keszeg
báró»-nak neveztek a bakfischkörökben, – mindig elszedi ez az
ember előlem a legjobb falatokat. Pedig én voltam itt az első egy
lóhosszat. Az enyém volna a korcsolyamegigazítás joga.
– Ne haragudj, kis báró, – kérlelte kedélyesen az elnök, – inkább
vegyük úgy, hogy a te nevedben igazítom fel a Mari kisasszony
korcsolyáját.
– Az nem megy.
– Dehogy nem. Ha a király nevében igazítom az emberek ügyeit-
bajait, miért ne igazíthatnám a korcsolyákat Krackner báró nevében?
– Azért, mert én nem vagyok király.
– De a kinek igazítom, az királyné.
– Ugyan, ugyan! szégyeneljék magukat! Hát nem tudnak valami
okosabbról beszélni? – feddette őket Mari. – Bárcsak királyné volnék!
– No, ugyan mit csinálna?
– Nyomban fölmenteném mind a kettőjüket a szolgálattételtől.
Vidáman mosolyogtak ez évelődésre, pedig volt benne egy kis
komolyság is. A kisasszony olyanformán érezte, hogy az urak gyors
megérkezése valami kellemes helyzetből zökkentette ki, de mindez
csak zavarosan jelentkezett fejecskéjében. A feltünő hasonlatosság
lepte meg, de még azzal se volt tisztában, hogy valóságos
hasonlatosság-e az, vagy csak emlékeztetés a somlyói vadászra. És a
hang is, csodálatos, mintha a hang is az lenne. Meglehet,
képzelődés, beteges érzékek, homályos álmok űznek vele csalfa
játékot. Noszty Ferencznek, az új szolgabirónak mondta magát. A
Nosztyak nagy urak, templomok patrónusai. Hatalmas középületek,
romban heverő várfalak beszélnek róluk, a köztermekben
felfüggesztett ősi arczképek, buzogányos, pánczélos lovagok viselik
ezt a nevet. S maga ez a Noszty Ferencz, mint a náluk megfordult
vendégek elbeszéléseiből tudja, előkelő, finnyás úrfi, volt huszártiszt,
a ravasz, hatalmas képviselőnek a fia, mit keresett volna a pápai
csizmadiák és mesterlegények közt? Bolondság ilyesmit elképzelni és
mégis sokért nem adta volna, ha csak egy perczig hagyják még vele
beszélni, csak még egyszer nézhette volna meg jól, csak még egy-
két szavát hallhatta volna. Mindezek torlódtak össze fejében, s
szivébe nyilallott ez a vágy, nem birt tőle szabadulni.
De hasztalan, vége volt, elmult, mint a füst, az érdekes idegen
eltünt a sok bámész tarka-barka úri nép közt s tekintetével nem
merte kutatni, nehogy a gavallérok észrevegyék, a kik már az imént
is szinte bántó módon szorították hátra, mintha bosszankodnának, a
miért fölemelte, mintha valami olyanba ütötte volna az orrát, a mi az
övék.
Ohó, drága uracskák! Még nem vagyunk annyira! Kezét mérgesen
ökölre szorította. De ki vette volna azt észre? Hiszen a keze muffban
volt.
A két gavallér közrevette, mindenik egy-egy karját fogva, elvitték
onnan, sebesen röpülve tova hármasban, mint a nyíl. Az volt a
helyzet, hogy Tóthné a két ifjúra bízta Marit, Mari pedig azzal
pajkoskodott, hogy meg akart tőlük szökni, természetesen csak
játékból. Egy ilyen megszökésnél esett le az imént, – a két
«zsandár» megfogta és erőszakkal utaztatta fel és le a nagy
jégmezőn. Csak mikor már elfáradtak, hagyták, hogy egy kicsit
kifújja magát és hogy ők egy kicsit udvarolhassanak. Mari azonban
kedvetlenül felelgetett arra a tömérdek badarságra, a mit az
aranyifjúság udvarlásnak nevez. Minden jel oda mutatott, hogy most
is meg akar szökni, de most már talán nem is egészen játékból.
A két zsandár minden mozdulatát, minden tekintetét leste, – a
tekintetének pedig nem birt parancsolni, hogy ne kutasson,
valahányszor a tónak a kastély-kert mögötti széléhez ért, a hol a
vendég urak és hölgyek, paraszt menyecskék, suhanczok nézték a
festői látványt.
– Keres valakit? – kérdé a gyanakodó Krackner.
– Azt hiszem, – felelte gépiesen.
– Hogyan? Maga nem tudja, ha valakit keres, hogy bizonyosan
keresi-e?
– A mamát nézem, – dadogta zavarral.
– A mamát? Hiszen a mama bent ül a meleg kályha mellett s azt
mondotta, hogy semmi szín alatt sem jön ki. Azért bízta ránk magát,
hogy őrizzük.
– Akkor legalább mulattassanak!
– Hiszen mulattatnánk mi, de ha nem akar mulatni.
– Az csak annak a jele, hogy nem nagyon találékonyak és hogy
én meg már nagyon fáradt vagyok.
– Hahó, van egy ötletem! – kiáltott fel a báró. – Várjanak egy
kicsit!
Egy iramodással átröpült a túlsó partra, a hol Krackner báróné
üldögélt, egy számára kihozott öreg karszékben, az iringázó leányait
tartva szemügygyel.
– Kelj fel mama, add ide a székedet, – mondá a bárónőnek.
– Minek az neked? kérdé a tábornokné, a lorgnettjén nézve meg
a fiút.
– Kell a karriéremhez, – felelte nyeglén a fiatal úr. Eredj, te rossz
fiú! Mindig áldozatokat kívánsz tőlem!
S ezzel felkelt, Arthur pedig megfogta a karszéket s mint valami
pelyhet, hajtotta maga előtt, mig csak oda nem ért Marihoz.
– Üljön bele kisasszony, ha fáradt. Voltunk eddig lovagok, leszünk
ezután lovak, tolni fogjuk. Hát nem jó ötlet ez tőlem?
Mari beilleszkedett a karszékbe, a két udvarló pedig
belefogódzott hátúl s mint a szánkót szokás, csúsztatta maga előtt,
hol lassan, hol sebesen, a mint parancsolva volt, biztatva egymást:
Gyi Lámpás, Ráró!
Közben még beszélgetni is lehetett.
– Hallotta-e, hogy nagy főispáni bál lesz a farsangon? ujságolta a
biró.
– Ah! – mondá Tóth Mari unottan.
– Még pedig kettő is, – sietett jólértesűltségét bizonyítani a báró
is, – egy úgynevezett általános bál, melyre meg lesz híva minden
jobb család a megyében, tudja, egy afféle «jó kabátok bálja», a
másik pedig egy szűkebb körű, melyre csak az arisztokratikusabb
családok kapnak meghivót. Ez lesz az igazi. Sapristi, erre elmegyünk.
Lábnak Patikárius Pestről, gyomornak Sacher Bécsből.
– Ott úgy látszik, olyanok lesznek, a kiknek csak lábuk és
gyomruk van.
– Hahaha! – kaczagott a kis báró. – Maga ma ballábbal kelt fel,
szép kisasszony és sapristi, az epécskéjét rajtunk, az arisztokráczián
tölti ki… hahaha. Nagyon kedves.
– A főispánné már meg is érkezett tegnapelőtt, – egészíté ki a
legfrissebb hireket Sipos István. – Nagy fogadtatás volt a vasútnál.
– Szép asszony? – kérdé a bárócska. – Láttad?
– Átkozottul szép.
– A Nosztyak mind szépek, keskeny lábaik és picziny füleik
vannak.
– Úgy? A főispánné tehát Noszty-leány – kérdé Mari.
– Noszty Vilma.
– Úgy gondolom, egyetlen leány – mondotta Mari, pedig tudta,
hogy egy fivére van.
– Dehogy. Egy fivére is van. Az új szolgabiró, Noszty Ferencz.
– Miféle ember?
– Nem valami jó firma – jegyezte meg az elnök.
– Melyikük ismeri?
Egyikük se jelentkezett.
– Pedig itt van a társaságban Palojtayéknál.
– Melyik az? – érdeklődött Krackner.
– Én nem fogom megmutatni. Majd kitalálhatja a keskeny lábáról
és a kicsiny füleiről, melyek a Nosztyék tulajdonát képezik.
– Magának nagyon rossz nyelve van, kisasszony.
– Nekem? Miért?
– Mert ezzel körülbelül mindazt elsorolta, a mivel még birnak a
Nosztyak.
– Tönkre mentek?
– Valami háromszáz holdja van még az öregnek, de tele
adóssággal s az is haszonbérbe van adva tizenkét évre.

Á
– Hop! Tisztelt lovak! – kiáltott fel most Mari élénken. – Álljunk
meg, – azaz forduljunk jobbra! Ott valami történik.
– Csakugyan, tartsunk arra!
Biz ott csata volt. A Palojtayék vendégei, a kiknek nem volt
korcsolyájuk, hanem csak nézni jöttek a fiatalságot, apránként
megúnták magukat, mint a Mátyás hadai a Duna jegén. Ebben a
nagy semmittevésben, üres locsogásban valamelyik pajzán
menyecske (ha jól tudom, a csintalan Pataky Istvánné) egy
hógomolyát gyúrt és megdobta vele a viczeispánt, a ki fiatal korában
udvarolt neki, mire az alispán, mint udvarias, gavallér ember,
hasonlóan egy hógolyóval visszadobta a szép asszonyt. Hiszen csak
felelni is kell az ilyenre és végre csupa tréfa az egész. A viczispánnét
azonban, noha ma van először úri társaságban, mióta Rágányosék
mulatsága palotahölgygyé avatta, megmarta erre a zöldszemű
szörnyeteg, s szemet szemért, ha a férjemuram úgy tesz, eb ura
fakó, ő sincs fából, nosza hamar ő is gyúrt egy hógalacsint és a
daliás Ulrik János főcsendbiztost szemelte ki incselkedési tárgyúl.
Lett nagy nevetés ezekre a jelképes udvarlásokra s uczu neki, egy
bolond százat csinál, az egész társaság elkezdte egymást
hólabdákkal paskolni. Mint a ragadós nyavalya, elharapódzott
boldogra, boldogtalanra, keresztül-kasul, össze-vissza röpködtek a
hólabdák, mintha fehér galambok szállnának, kergetőznének és
egymást kereszteznék a levegőben, valóságos konfettijáték
kerekedett ki belőle, ámbár annak akkor még hirét sem hallották
Bontómegyében. Sikongatás, panasz, vidámság, kaczaj támadt
nyomában, a kezük beledermedt, a toillettek megnedvesedtek,
némelyiknek a szemébe csapódott a hógalacsin s tele lett még az
inggallérja is hó-pihével, de mindegy, azért ők mégis jól mulattak.
Kis vártatva Marit is oda szállították lovagjai, lecsatolta a
korcsolyáját s elvegyült a csintalankodók közé. Szerette volna lerázni
a két gavallért, de azok sehogy sem akartak elmaradni s ha egy
kicsit odább mentek is, csak azért tették, hogy megdobálják. Ámor
ma letette tegzét s más szerszámhoz nyúlt. Innen-onnan is jött egy-
egy löveg, mely neki szólt. Egyszer aztán, mikor azt hitte, hogy nem
figyelik, ő is kihúzta kezét a nyakán lógó muffból s lehajolt, hogy
golyóbist csináljon.
Lopva indította el szemeit megkeresni a fiatal szolgabirót, épen
az alispánnal beszélgetett.
Már-már meglóbázta kezét, mikor az az ötlete támadt, hogy
odaállt a kövér Rajcsányiné háta mögé s onnan védett helyről követi
el a rettenetes merényletet.
Feje zúgott, szive hangosan dobogott, a míg egyre hajtogatta
magában: «A macska fél, de én nem félek.» Végre aztán csakugyan
elhajította labdáját s rémülten pillantott oda, hogy mi történt. Hát biz
az szerencsésen a Noszty Feri mellét érte, talán épen a szive táján.
Ki hitte volna, hogy olyan jól tud czélozni.
Noszty elmosolyodott, leverte mellényéről a havat és tovább
folytatta a beszélgetést az alispánnal, mintha semmi se történt
volna. Oh Istenem, milyen borzasztók a férfiak!
Mari aztán úgy elszomorodott ettől, hogy bekisértette magát a
két ugrifüles által a házba és ott leült a mamája mellé, megterhelt
lelkiismerettel, hogy megint több titka, több bűne van egygyel. Pedig
nem tett valami nagyon rosszat. Hiszen a többiek is mind így
vihánczoltak, bolondoztak. Igaz, hogy ismeretlen embert dobott
meg, de hát a többi leányok is elkövettek efféle pajkosságokat.
Legfeljebb illetlenség, a mit csinált. Sőt az se, mert ezzel vélte
megköszönni, hogy az új szolgabiró fölsegítette, mikor leesett. Aztán
nem vette azt észre senki. Ő sem. Nem is hederített rá. Látszik,
komoly ember. Pedáns hatósági közeg, szolgabiró, a kihez
instancziával kell járulni és nem hógolyókkal. De ha látták volna is,
hát mi volna benne? A golyó el is tévedhetett. Érhette volna a
szolgabirót arra az esetre is, ha valaki másnak van szánva, ha
példáúl a viczeispánt akarta volna eltalálni.
Ilyen mindenféle mentségeket talált, és a mint ezek már teljesen
megnyugtatták, akkor vette észre, hogy voltaképen nem
mentségeket keresett. Valami mást, a mit nem talált meg.
Ezalatt gyorsan lehanyatlott a nap, de mit is ténferegne fent
sokáig, mikor úgyis csak a fele napszámját végzi; nem melegít,
pusztán világít, s azt is csak kedvetlenűl.
A gyertyák és lámpák kigyúltak bent, az estével a szél is felkelt és
belevegyítette dúdolását a pecsenyék sistergésébe a Palojtay-portán,
a vendégek lassankint besereglettek a szobákba s mint a hogy a
teremtéskor szétválasztattak bölcsen a vizek a szárazföldtől, Fruzina
mama is külön kergette az ifjúságot az öregektől, hogy ne lássák az
egymás gyengéit; ezek maradtak pletykázni és disputálni a balra eső
szobákban, amazok pedig bevonultak «hogy tetszik»-et játszani
jobbra, míg a közbűl eső pajtányi ebédlőben nagy
tányércsörömpöléssel iregtek-forogtak tatárarczú tenyeres-talpas
szolgálók, rakván egymás mellé a terítékeket, a hogy a tekintetes
asszony megparancsolta, jó sűrűn.
Feri nem csatlakozott az ifjúsághoz, pedig tudta, hogy Mari
köztük van. Tudott az idegeinek parancsolni, hiszen elsőrendű
játékos volt. S most jutott élete legérdekfeszítőbb játszmájához.
Összes érzékei, tehetségei meghatványozódtak, még a lábujjaival is
gondolkozott, – a hogy a nagy kártyásokról mondják. A «ferbli» két
nagy regulája vezette. Az egyik el nem árúlni tudni az arczczal, hogy
milyen «blatt» van a kézben. A másik elévülhetlen regula, hogy a
ferblit két kártyából kell megjátszani, vagyis addig, míg nincs minden
kártya kiosztva. A játék csak odáig ér valamit, a többi már csak
bamba szerencse. A két első kártyából, szóval «blind»-re
«kóstáltatni», vagy «javítani», ha az ember sokat akar «behúzni».
«Javítani» vélt hát a helyzeten, ha visszatartja magát s nem
közeledik szembeszökő módon a leányhoz. Sokkal hazardabb volt,
hogysem mindjárt a «zsinór» után nyúljon. A taktika adja meg a
győzelmek borsát, savát. A katona is, a játékos is taktikával dolgozik.
Ez az igazi, ehhez tartotta magát. A fiatalok közt különben sem
voltak ismerősei, úgy hogy egyelőre csak alárendelt szerepet
játszhatott volna Mari jelenlétében e roszúl öltözött vidéki majmok és
falusi backfischek közt, kikkel nem lehetett egyébről társalogni, mint
jelentéktelen helyi eseményekről: hogy Kracknerék feldőltek a múlt
héten a szánkóval és Matild baronesznek az a szép kék blousea a
csipkedudorokkal, tönkrement, úgy hogy föl nem veheti többé, hogy
a szeles Rápoltiné kiejtette tegnap a bölcsőből a kis gyerekét, azért
nem jöhetett ma, mert a baba beteg lett és alighanem rámegy a
szegény kis lélek.
Feri inkább künn maradt az asszonyok közt, katona-históriákkal
mulattatta Fruzina mamát és környezetét, a «századokat». A
gunyoros Findzsa asszony nevezte el így, minthogy a háziasszony
körűl a legidősebb hölgyek, egykori leányismerősei sorakoztak, de
ott legyeskedett a dévaj öreg úr, Podwolski gróf is; csizmáján
hetykén recsegett a talp, mert csikorgósra varratta még most is, s
gavallérosan pengett a sarkantyú. A gróf csupa vidámság, csupa
derű volt, bár már túl lehetett a hetvenen. Falun akadnak még ilyen
életerős öreg urak. A feje fehér volt, mint a friss hó, az arcza piros,
mint a rózsa s a beszéde csintalan, hetykélkedő, nagyzoló, mint
valami kvietált huszárőrmesteré olyan helyen, a hol elvetheti a
sulykot.
– Hát te öcsém mért nem hordod el innen az irhádat? –
zsörtölődött a gazda Ferivel. – Mit udvarolsz itt a feleségemnek?
Mars be a leányokhoz!
– Nem lehet, kedves bátyám. Nem illenék. Hiszen én most
voltaképen nászúton vagyok az új hivatalommal.
– Ördög kell neked nem hivatal. De ha kellene se manipulálj
elhasznált bélyegekkel.
Ezt a gonosz czélzást elértette Kaprinczy Balázsné és fölvette a
keztyűt az érettebb női nem nevében.
– Mi is voltunk nyiló virágok valamikor s komám uram se volt
fogatlan farkas, mint most. De ha hervadtak vagyunk is immár, azért
ezt bizony nem érdemeltük, mert az elszáradt levendulának is van
illata, forgós teremtette, és az öreg pemetefű is jó orvosság az olyan
krákogó öreg salabakternek, mint a komám.
– Hiszen épen azért mondom, – nevetett Palojtay, – mert Noszty
öcsém még nem krákogó salabakter.
– Noszty? – rikkantott bele Podwolsky gróf. – Hohohó! Noszty!
Melyik Noszty? Mert annyi Noszty van, mint a hány tarka kutya a
világon.
Az öreg gróf roppant örömet tudott mutatni, ha valami új
ismerősre bukkant, a mi nem csoda, mert ritkán esett meg vele,
ismervén már az egész világot. Birtokát még jóformán mint
fiatalember vitalitiumba adta s azóta mint vendég vagy utas
csavarog a földtekén; egy nap Kairóban van, a jövő héten
disznótoron valami magyar faluban, a honnan a következő nap
elutazik Monacóba és felteszi a croupiernél a mindennapi
Napoleonját, egyformán fütyürészve s félrecsapott kalappal
ballagván haza esténkint a Casinóból, akár nyert, akár vesztett.
– Noszty Ferencz vagyok, – felelte Feri, elnyelve a bosszúságot,
hogy a Nosztyakról oly félvállról szólott.
– Ferencz? Én is Ferencz, te is Ferencz, a császár is Ferencz. Mit
tudom én abból, melyik malacz ki ökre?
Mindezt szeretetreméltó bonhomiával mondta, testének minden
izma és porczikája mozgott, a szemei hamiskásan nevettek, a
homloka ragyogott, a szája szélesre szétnyilt és a tömött bajusza
szálankint élni és ingerkedni látszott.
Feri elképedve nézett rá, mintha sértené a szó, de enyhíté a
kedves, ennivaló mórikálás hozzá; gondolkozott, hogy mit feleljen,
de nem is kellett, Fruzina mama mondta helyette:
– Palinak, követünknek a fia.
– Szervusz öcsém, agyagos, – kiáltá erre kitörő lelkesedéssel,
mind a két kezét barátságosan, bensőségesen megrázva. – Hja, hja,
– folytatá ezután elábrándozva és a nyelvével csettentve, – huj, de
szép fejér teste volt az anyádnak!
Noszty Ferencz minden vére fejébe tolult, első gondolata volt,
hogy felugrik és arczúl üti a tisztes hajú aggastyánt, de az olyan
ártatlanúl nézett le rá, mint egy gyermek, szép kék szemei szinte
ugráltak az örömtől, a hangja csengett-bongott az elevenségtől és a
kandallóban is azon mód szerint pittegtek-pattogtak, játszadoztak a
tűzszikrák, mintha az ő szavait kisérnék és vele együtt
pajkoskodnának.
– És honnan tudja azt maga? – kérdé a fiatalember fojtott, tompa
hangon. Olyan sötét, nehéz volt minden szava, mint egy felhő,
melyben villám lakik.
Mindenki érezte a helyzet kínos voltát s szorongva, elsápadva
várták a kitörést. A fiatalember melle hullámosan emelkedni kezdett,
orrczimpái lüktettek. Oly csend lett, mint a kriptában, csak a szivek
dobogását lehetett hallani.
– Na! Honnan tudja?
Mindenki érezte a puskaporral telített hangból a készülődő
robbanást, csak maga az öreg úr nem.
– Hogy honnan? – pattant fel kedélyesen hahotázva, nagy
kedvteléssel ringatván magát a csipőin. – No nézd csak! Hiszen egy
hajszál híjja, vagy annyi se, hogy nem én vagyok az édes apád,
ebugatta és ebadta.
A vér lassankint szökött vissza fejéből, most már megfordítva,
halotti sápadtság borította el arczát, s hogy remegő kezeinek munkát
adjon, egy czigarettát sodort a jobbkezével, miközben a ballal
bajuszát morzsolta, tépegette, nagy izgatottan.
Mindenki feléje fordúlt, mit fog tenni. Az emberek összenéztek,
mintha mondanák: Ez mégis roppant tapintatlanság az öregtől.
Szegény fiatalember, hogy háborog, hogy küzd magával! Kényes egy
helyzetben van.
– No, mit morogsz, hékás? Mért nem szólsz? – piszkálta kedves
kötekedéssel Podwolsky, a sarkantyúit összeütve.
– Azon gondolkozom, – felelte Noszty epés humorral, a
szemöldjeit felhúzva, – hogy apagyilkos legyek-e ezentúl, vagy pedig
ne legyek gentleman?
Bravó, bravó! Kitört a derűltség és a taps mindenünnen Az egész
társaság mintegy lidércznyomástól szabadúlt. A «századok»
összedugták a fejeiket és úgy dicsérték. Szellemesen felelt meg!
Kedves fiatalember. Egy püspök se felelhetett volna meg bölcsebben
ennek a Podwolskinak, ennek a bolondos öreg gyereknek, a kinek
minden szabad. Mert ha valami vitézi pose-ba vágja magát,
nevetségessé válik, ha pedig rá se hederít az öreg gróf
csacsogásaira, czinikus hírbe keveredik, szóval vagy krakéler lett
volna, vagy czinikus, így azonban pompásan ütött ki, apagyilkos se
lett és megmaradt mégis gentleman. Hiába no, sokat tesz a finom
nevelés!
Még Tóthné is odajött, a hol egy gyűrűben vették körül Ferit az
öreg asszonyok, magyarázva neki a Podwolski csintalan
szabadszájúságát. Bizony nagy Isten csodája, hogy még be nem
verték eddig a fejét.
– Ha már eddig be nem verték, ezután már könnyebben elkerüli,
– vélte az öreg Palojtay. – Ne hadd magad, öreg Ferkó!
Nem is hagyta az magát, sőt csak most kezdte megmagyarázni,
mikép értette a dolgot.
– Hát úgy történt, hogy az öreg Balikán főispán volt akkoriban,
mikor én fiatalember voltam. Felmegyek a megyeházára az
előszobájába, hát ott találom azt a tacskót, Noszty Palit, akkor
megyei aljegyző volt, és még egy csomó ügyes-bajost. Azt kérdi, mi
járatban vagyok. Mondom neki, egy kis beszédem volna a
főispánnal. «Most az alispán van bent, meséli, utána majd én
jönnék, de szivesen engedem át a helyemet.» Megköszöntem neki
és körülbelül így szóltam: «Félek, hogy soká várakoztatnálak, mert
azt hiszem, hosszabban veszem igénybe idejét, reménylem, te nem
sokáig beszélsz bent?» «Oh, semmi esetre sem», felelte. «Micsoda
ügyben mégysz be?» «Bagatelle, mondá, mindössze megkérdezek
tőle valamit.» «Akkor hát eredj be előbb te, nekem az
kényelmesebb.» Be is ment a lurkó és örömtől sugárzó arczczal
lépett ki egy pár percz múlva. Közvetlen utána a főispán elé járulok
és ünnepélyesen megkérem tőle a leánya kezét, természetesen a
nagyobbikét, mert a kisebbik tatár herczegnő, a mostani Homlódyné,
még a bábúival játszott. A főispán fölszisszent meglepetésében s
bosszúsan csóválta a fejét. «Ejnye, ejnye, elkéstél Ferkó öcsém,
épen most igértem oda Noszty Palinak a leányomat. Hogy nem
tudtál tíz perczczel előbb jönni!» Hát tudtam volna biz én, sőt maga
Noszty ajánlotta fel, hogy menjek be előbb és ha szót fogadok neki,
most akkor az én fiam volna ez a fattyú.
S édes szeretettel, szinte büszkeséggel feledte a szemét deli
alakján.
– Nem is volna rossz, – jegyzé meg Tóthné asszony, szokása
szerint összecsucsorítva száját, ha beszélt, – most már kész
szolgabiró fia volna a gróf úrnak.
– Csakhogy ahhoz nyilván még hozzá szólt volna a Balikán
kisasszony is, – kötekedett az öreggel Palojtay, – Noszty Pál különb
legény volt ám akkor, mint te.
– Ritka szép ember lehetett, – erősítette Tóthné, – megvan az
arczképe, gondolom, abból az időből, mikor először választották
követnek, mentében, kardosan, kócsagos kalpaggal, mint valami
mesebeli király. Ott függ a vizitszobában, vagy tán nem is a vizit-
szobában. Oh, hogy romlik, mohosodik az ember esze, szomorú az.
No, bizony elfelejtettem, hogy hol van felakasztva. Persze, tizennégy
szoba, nem győzi az ember észben tartani. És mennyi tömérdek
takarítás jár azzal! Oh, Istenem, Istenem, minek is élünk? Talán csak
azért, hogy a szekrényeket letörülgessük. De bizony Isten,
alighanem a kasznárunk lakásában lóg a kép.
Egyszerre derűltebb, világosabb lett a szoba s üdébb a levegője;
mintha édes, tavaszi áram lopóznék be az ablakon, pedig hát nem
lehet, hisz téli este van s az ablaktáblák le vannak téve, nem a
tavasz jött, hanem Tóth Mari szaladt be a mamájához, annak a
suhogó szoknyái csinálták azt a langyos csiklandozó szelet, mely a
tavasz bűbájának adja ki magát.
Bár háttal állt Tóthné, tünődve, hogy hol is van voltaképen a
Noszty-arczkép, mégis megérezte a leánya közelgését, legott hátra
fordult:
– Mi bajod, báránykám?
– Nekem semmi, hanem a szoknyám kiszakadt a ránczaiból,
igazitsa meg, mama. De van-e gombostűje?
– No, az volna szép, ha nem lenne, mikor apádnak ezer
részvénye van a chicagói gombostűfabrikában, vagyis talán
Dawenportban van az a gyár és ha jól emlékszem, nem gombostűket
készít, hanem czérnát.
– Nem tudom, mama.
– No, nem tesz semmit. Hogy is mondta csak boldogúlt
keresztapád olyankor, ha valamit nem tudott? Borzasztó az, hogy
most már mindent elfelejtek. Így ni, most már rendben van a ruhád.
Föl nem foghatom, hogyan szakadhatott ki. Talán valami szögben.
Vagy pedig ráült valaki és te hirtelen fölkeltél. Kétségtelenűl vagy az
egyik vagy a másik. Ámbátor bizonyosan lehetnek még többféle
esetek, csak az eszünkbe nem jutnak. De nini, nem tudod fiam, épen
arról beszéltünk, hogy a Noszty Pál arczképe melyik szobánkban
van?
– A melyikbe viszszük, mamácska, mert egy poháron van
kifestve.
– Igaz, persze, egy poháron. Hogy is tévedhettem annyira! –
sopánkodott, egyenesen Ferihez intézve a szót, mindamellett
kegyelettel őrizzük atyjaura potraitját. Ő valóban csinos ember volt,
ámbár nincs szerencsém személyesen ismerni, legalább tudtommal
nem, mert nem lehetetlen egyébként, hogy láttam is valahol… de ne
szaladj, kérlek. Leányom, Mari – Noszty Ferencz, új szolgabiránk…
Ugy-e már nagy leányom van, szolgabiró úr?
Mari gyöngén elpirúlt és egyetlen mozdulatra se volt képes, Feri
meghajtotta magát.
– Volt már szerencsém találkozni a kisasszonynyal, – mondá, –
csak azt nem tudtam, hogy a nagyságos asszony leánya.
– Ah, és hol?
– A jégen.
– Szeretem, hogy rám ismert, – vette fel a szót Tóth Mari, fojtott,
reszketeg hangon, – így legalább meg is köszönhetem, hogy
segítségemre volt.
– Miféle segítségedre? – kottyant bele Tóthné.
– Elestem, mama.
– Oh, te szerencsétlen gyermek! És ezt meg sem mondod nekem.
Mutasd hamar, hol ütötted meg magadat? Istenem, Istenem.
– Sehol se, mama! Nem fáj semmim.
De Tóthné mégis megrémült és a kezeit kezdte tördelni.
– Mit tudod te azt? Oh jaj, hogy is küldhettelek egyedül? Mit
mondjak az apádnak, ha megtudja?
– Ugyan, ugyan, legyen eszed, édes Tóthném, – csillapította
Kaprinczyné. – Hiszen hallod, hogy semmije se fáj. Mit akarsz
egyebet?
– Hogy semmije se fáj? – vágott közbe Tóthné, a ki csökönyös
volt, ha valami irányban megindúlt. – Az semmit se bizonyít,
édesem. Hányszor van az, hogy valaki fájdalmat érez, pedig
voltaképen semmije se fáj s az orvos azt mondja: «maga egyszerű
hippokonder, menjen haza és ne gondoljon a betegségére többet,
mely csak az idegek csalóka játéka». Nálunk New-Yorkban épen a
tőszomszédunkban lakott egy előkelő özvegyasszony, mrs. Schmitt, a
ki azt érezte, hogy egy béka van a gyomrában, és mindennap elájult
kétszer-háromszor a béka alkalmatlankodásaitól. Ő maga, Schmitt
asszony, azt állította, hogy kis korában itta meg a békát s az ott nőtt
meg a gyomrában; valami ilyest állított. De megállj csak, lelkem, mit
is mondtam? Most jut eszembe, hogy voltaképen egér volt a
gyomrában és ez megzavar most, mert most már persze ha
agyonütnek se tudom, mit mondott, miképen kerűlt bele az egér, –
minthogy azt természetesen be nem vehette vízben, mint a hogy
bevehette volna a kis békát. Nem emlékszel, Marikám, hogy mit
mondott? Hogy nem? Eredj, golyhó, tudod te jól, csak nem akarsz
rajtam segíteni! Ilyenek ezek a gonosz gyerekek, ha megnőnek,
kinevetnek bennünket. Elég az hozzá, bent érezte az egeret és váltig
jajveszékelt, hogy mardossa és harapja. A doktor persze nevette az
egészet, mert az egérhistóriában egy perczig se hitt. Alkalmasint
nem mrs. Schmitt, hanem az egér miatt, mert az egér szívesebben
húzódik meg egy hombárban, vagy egy ócska padlásszobában, mint
a mrs. Skhmitt gyomrában, bármennyire előkelő és tiszteletreméltó
hely légyen az különben, mert a lady egy tábornoknak volt az
özvegye. A doktor ennélfogva egy egeret fogatott valahol s úgy tett,
mintha belőle űzné ki, valamely hókusz-pókuszokkal, pedig az ő
manchettája alul szaladt ki a kis egérke a kellő pillanatban, a miben
aztán meg is nyugodott az asszony és semmiféle marást vagy
harapást nem érzett belső részeiben ezentúl.
– Jó, jó, – jegyezte meg Fruzina mama, – de mi köze ennek a
Mari eleséséhez, kedves Tóthné?
– Épen ez az, – végezte be Tóthné, – hogy ha lehetnek
fájdalmak, a melyekhez nincsenek betegségi okok, viszont lehetnek
betegségi okok, a melyekhez nincsenek fájdalmak. Ma már annyi
mindenféle betegség van, hogy megbolondul bele az ember, ha rájok
gondol.
– Nem csodálom, – elegyedik közbe Palojtay, – hogy annyi a
képzelt betegség, mikor ezeknek olyan jó termőföldjük van, mint a
szülők fantáziája. Ne hallgass anyádra, Mari hugom, sőt menekülj,
mert még látleletet talál követelni a megütött helyekről s erre
magam is vállalkoznám…
Mint a héja, hirtelen lecsapott rá Fruzina mama.
– Ejnye, Pista! Mikor nő be már a fejed lágya? Hogy nem
szégyenled magad megpirítani azt a szegény gyermeket az ízetlen,
durva ötleteiddel.
Palojtay erre a szájára ütött, behúzta a fejét engedelmesen a
vállai közé, s látván, hogy Tóth Mari fut el onnan, mint az elriasztott
őzike, egy fürge mozdulattal áthajolt a felesége feje fölött a tükör
alatti márványasztalhoz, melyen egy cserépben kinyilt kamélia
piroslott, egy bimbó s egy rózsa kandikáltak ki a húsos levelek közűl
(a figyelmes Podwolsky hozta Fruzina mamának), nosza leszakította
nagy hamar a rózsát és intett a szemöldjeivel Nosztynak:
– Szaladj csak utána, kérlek és add át nevemben, engeszteld ki,
én magam most már nem merek a szeme elé kerülni.
TIZENNYOLCZADIK FEJEZET.
(Csiga-biga nyujtsd ki szarvacskádat!)
Feri se mondatta kétszer, röpült, mint a nyíl, utána, és még előbb
érte utól, mintsem a fiatalság közé nyitott volna a negyedik szobába.
Már a harmadikban elfogta, a hol egy pár középkorú menyecske
dominózott fiatalabb férfiakkal.
– Várjon csak, kisasszony, várjon csak!
Mari visszafordult a hangra (tudta már, kié), el se bámult, mikor
meglátta, csak megállt szó nélkül, elsápadt és mereven bámult rá.
– Talán a mama kíván vissza? – kérdé tétovázón, miután némileg
összeszedte magát.
Feri maga is bizonyos lámpalázt érzett, nem tudta, miként kezdje.
– Nem, nem.
Tehát?
Ez a kérdés azonban nem volt kifejezve hangban, csak a Mari
szemeiből lehetett kiolvasni.
– Ösmeri kisasszony a czinkotai kántor históriáját?
Mari a fejével biczentett, miközben bársonyos szempillái
lecsukódtak. Jaj Istenem, mit fog hallani?
– Én is mondhatnám, – folytatá Feri, – most azt gondolja, hogy a
voglányi szolgabiró áll előtte, pedig…

É
Mari remegni kezdett. Tehát mégis ő volna? Édes Szűz Mária,
Boldog Asszony anyácskám, ne hagyj el! Balkezével egy öreg
karszék faragott szerecsenyfejét fogta meg, hogy el ne essék, mert
szédült, jobbjával a csontlegyezőjét terjesztette ki az arcza elé.
– Pedig a Palojtay István uram követe áll most maga előtt, a kit
azzal bízott meg küldője, hogy engesztelje ki, hogy bocsánatot
kérjen előbbi tréfás kifejezéseért, mert azzal ijesztették meg, hogy
maga megneheztelt. S ezt úgy akarja jóvá tenni, hogy ezt a szép
rózsát küldi. Azzal bízott meg, hogy engesztelés jeléül tűzzem be a
hajába.
Mari elmosolyodott. Tehát mégsem ő. S ezzel egyszerre visszatért
a ruganyossága, bátorsága. De a mosolyába belevegyült egy kis
méla szomorúság, a miért nem ő.
– Mit? Maga akarja megtűzni? Hát még mi? Hogy a hajam közt
babráljon? No és még mivel bízta meg a kedves Pista bácsi? – kérdé
élénken nevetve.
– Sajnos, ezzel az én szerepem véget ért, – hajtá meg magát
tréfás czeremóniával.
– De teljes sikerrel, mert elfogadom a rózsát, betűzöm a hajamba
és otthon esetleg le is préselem.
– És nem haragszik?
– Sőt. Egyebet se szándékozom csinálni, mint egész este
haragudni. Hiszen «haragszom rád»-ot játszunk odabent. Nem tart
velünk?
– Nincsenek ismerőseim és nem is szokásom a játékból való
harag, – felelte Noszty szomorúan.
– Pedig olyan mord tekintettel méreget, mintha én rám is
haragudnék.
Feri ábrándosan rázta meg fejét:
– Oh dehogy, inkább félek magától.
– Hát olyan rettenetes vagyok?
– Isten ments! A mit mord tekintetnek gondol, az inkább
bizonyos szomorúság, a mely elfog.
– Ha engem lát? No, maga szépeket mond nekem.
– Bizonyára úgy van ez, de nem a maga személye miatt,
hanem…
– Hanem? – kérdé a leány merészen.
Feri úgy tett, mintha megrestelné, hogy olyan czéltalan
okvetetlenkedésbe bocsátkozott.
– Eh, bolondság. Nem érdemes, hogy beszélgessünk róla.
Biztosítom, kisasszony, hogy nem érdekli.
– Ohó, követ úr! Így nem szabadul. Ön felpiszkálta az alvó
szörnyeteget, a kiváncsiságomat, most már ki kell azt elégítenie.
Csak halljuk most már.
– Hát az az egész, ha már mindenáron kívánja, hogy
megmondjam, – szólt Noszty látható kedvetlenséggel, – hasonlit
valakihez, a kire nekem nem jó gondolni.
A szegény Mari megint elvesztette elfogulatlanságát. Újra kigyult
az arcza, elhomályosodtak a szemei, szive hangosan dobogott, és
olyan ügyetlennek érezte magát, mintha üvegből lenne a lába: se
szólni nem tudott, se elmozdulni nem mert.
– Tehát szent a béke Pista bácsival? – szólt Noszty, mintegy az
elbocsátást várva.
Csak a szemeivel intett és az ajkszögleteit vonta össze egy
bucsúmosolyra, de azt is csak félig, egész mosoly nem lett belőle,
mindössze két vagy három rizskásaszerű hófehér fog villant meg a
piros ajkak közül.
Feri visszament a vén emberek közé, egykedvű, közömbös
arczczal, mint egy diplomata; ha a cselszövő Máli néni látja most,
bizonyosan megczirógatja az orczáit (hja, a Noszty-vér nem tagadja
meg magát.) Mari pedig a fiatalság szobájába nyitott be, de egyik
sem volt ott lelkileg, a hol a testével. Különösen Mari sokat adott
volna egy félórai magányért, hogy átgondolja, meghányja mindazt, a
mi lelkét foglalkoztatta. A Noszty legutolsó szavai mint valami
vérpezsdítő fluidum járták át egész lényét. Azt mondta, nem jó
gondolnia valakire, a ki ő hozzá hasonlít. Hátha a somlyói leánykát
érti? Hátha mégis a somlyói vadász ő? S ebben az esetben az előbbi
nyilatkozatában benne van a szerelmi vallomás is.
Ideges nyugtalanság fogta el, de nem a kellemetlen, lehangoló
idegesség, ellenkezőleg, olyanforma volt, mintha láthatatlan
szellemek mézbe mártogatnák a lelkét, de voltak a méznek keserű
rétegei is.
«Ha csakugyan a vadász volna, – mondá magában, – csak nem
lenne olyan csacsi, hogy rám ne ismerne. Nem, ő nem a vadász.»
«Azaz, hogy mit beszélek, – felelte kis vártatva önmagának –
hiszen én magam is csak olyan csacsi vagyok, hogy nem ismerem fel
határozottan. Lehet biz az, hogy a vadász.»
«Igaz azonban, hogy én mégis legalább ismergetem őt, fürkészek
utána, gyanakszom a személyében, míg ő, úgy látszik, nem is gondol
arra az eshetőségre; ha ő volna, lehetetlen, hogy ne gyanakodnék,
mert az arczom az, a termetem is az, mosolyom, szemem, hangom,
mind az, – tehát mégse a vadász.»
«Vagy ha mégis a vadász, no, akkor ugyan csekély benyomást
tettem rá.»
(És szinte már olyasvalamit kívánt az istenektől, hogy inkább ne
legyen hát a vadász.)
Szegény kis Mari! Egy láthatatlan mérleg himbálózott
gondolatában folytonosan s ezer apró dolgot és megfigyelést rakott
a serpenyőkre, hol ide tett valamit, hol amoda, megint átrakta és a
mérleg szüntelen hullámzott, mozgott és nem állt meg eredményt
mutatni. Bolondság, bolondság! Nem lehet a ködöt meg a virágillatot
megmérni.
Ebből a sok kombinálásból, találgatásból és fejtörésből nemcsak
hogy semmi haszon nem volt, hanem ellenkezőleg, kár, mert olyan
szórakozottan játszott és ferdén felelgetett, hogy mindennemű
ékszereit, karpereczét, gyürűjét, kis ezüst gyüszűjét zálogba szedték
el s miután már az se futotta, még a kamélia rózsáját is oda kellett
adni a hajából a végrehajtónak, a bontóvári törvényszéki elnöknek, a
ki már törte is a fejét a kegyetlenebbnél kegyetlenebb kiváltási
módokon, mikor egyszerre megszólalt a kis harang a vacsorához, s
ki-ki szerezvén párt, a minőt lehetett, megkeresték helyeiket a nagy
ebédlőben.
Mondani is fölösleges, hogy óriási vacsora következett, a melyben
mindenki megtalálta az izléséhez és a gyomra állapotához való
ételeket, a becsináltaktól kezdve a franczia konyha mártásai és
könnyed omlette soufléei között, elvegyítve félig véres angol húsokat
és puddingokat, valamint a szokásos nemzeti csemegéket:
malaczpecsenyét, töltöttkáposztát, túróslepényt, hurkakolbászt,
melyek magyar embereknek és isteneknek valók, de inkább
isteneknek, lévén az ételek halálosak, az istenek pedig
halhatatlanok. Az ételeknél még csak a toasztokban volt nagyobb
bőség s ezek nagy része Palojtayné egészségére zengett, úgy hogy
Fruzina mama alig győzött koczczintgatni ürmösös poharával.
De mindez nem sokat érdekelte Marit. Az estének az az általános
nevezetessége, hogy a Palojtayné nem tudom hányadik
születésnapja, csak a felületen úszott, külön-külön mindenféle más
nevezetességek tolakodtak elő vagy bujtak ki. Mari előtt például az a
jelentéktelen esemény dagadt meg nagygyá, hogy a
malaczpecsenyénél, a mint egyszer lopva ráemelte tekintetét
Nosztyra, a ki rézsut átellenben ült az asztalnál két szép menyecske,
Pázsith Gusztiné és Gyurtsányiné között, épen abban a pillanatban
röpült a Noszty tekintete is Mari felé (vagy hogy mindig ott
kujtorgott már azelőtt is) szóval nagy összeütközése lett ebből két
égő planétának, hirtelen mindenik elkapta a maga tekintetét s Mari
azonfelül elpirult és a tányérjára nézett, mint egy bűnbánó
Magdolna, miközben ekképen elmélkedett:
– Ha elszomorítja az én arczom látása, hát ugyan minek nézeget?
A Feri környékén egy kis feleselés támadt. Klementy szerkesztő a
vad toasztok során Tóth Mihályt is felköszöntötte, de annál az ékes
mondatnál, hogy tekintsünk vissza a multba, közbemordult Kaby
Józsi:
– Én ugyan nem tekintek, mert ott minket megvertek.
– Van ott elég dicsőség följegyezve a történelemben, – folytatá a
szónok.
– Egyetlen egy trükk van, az, hogy Zsigmond királyt becsuktuk
Siklós várába, – disputált Kaby. – Hogy jött ki onnan, azt szeretném
én tudni.
S fenyegetőleg rázta meg az ökleit.
– Bizonyosan valamelyik Noszty eresztette ki jó pénzért, – hasadt
ki valahonnan egy gunyoros hang.
Feri szemeiben, ki eddig hallgatagon ült két csinos szomszédnője
közt, villám gyúlt ki. Hamarporú ember volt, fölszisszent s
harsányan, fenyegetőn mondá:
– Valaki mostan kőbe hágott. (És háborgó tekintetét
körülhordozta a patkós asztalon.) Ki volt az?
Szép volt így felindulva, mint egy fölriasztott tigris, kit nyíl hegye
ért. Marinak legalább nagyon tetszett.
Síri csend következett. Senki se felelt.
– Egy német van köztünk, – csóválta a fejét Kaby Jóska és
röhögött.
Klementy ezentúl háborítlanúl folytatta toasztját, mely abban
csúcsosodott ki, hogy a modern kornak másféle hősei vannak, mint
azelőtt; a Lehelek, a Botondok, Kinizsiek kora lejárt, éljenek a Tóth
Mihályok, a kik nem a törököt verik meg, hanem a zsidót, ősi földet
szereznek becsületes munkájukkal és azt úgy művelik, hogy a
legöregebb gazdák is bámulják.
Tóth Mihály, a ki valamivel lejebb ült, a leányával átellenben,
láthatólag röstelkedett, a szeleburdi szerkesztő dicséretei általában
gyanús természetűek s legott megindúl nyomukban a találgatás,
mennyibe kerültek. Tisztes, deresbe vegyülő haju öreg úr volt,
kemény, határozott vonásokkal, keveset beszélt, de mindég
higgadtan. Magas, kidudorodó homloka, tiszta fényű szemei kiváló
értelmet árultak el, csak az esetlen mozdulatain látszott a
mesterember.
– No, no, – szólt csendesen, s igyekezett mindjobban elbújni a
nagy testű mezernyei tiszteletes asszony válla mögé, kinek lovagjáúl
volt odaültetve.
Mindamellett sokan felálltak Klementyn kívül is, s odajárultak
koczczintani a kevésbé rátartó urak közül, még Noszty is:
– Noszty szolgabiró vagyok.
– Azt vettem észre, – mosolygott Tóth Mihály.
– A másik pólus, – folytatá Feri, – a munka emberét kívánja
megtisztelni a munkátlanság embere.
– Munkátlanság! – kottyant bele Klementy. – A hogy vesszük. Ki
szereti a munkát? Bolond, a ki szereti. Nem igaz, mi? Appellálok
minden okos emberre. Lám a méhek a legmunkásabb állatkák, de
még azok se szeretik a munkát. Azt hallom, kivittek egy köpüt
Braziliába, s látván, hogy ott örökös nyár van, gondolták magukban,
minek dolgozzunk – és nem dolgoznak többé.
– Ejnye, ejnye, Klementy, – pirít rá Findzsa asszony, miután már
a Tóth Mihály körüli diskurzus általánossá vált, – mi lelte, hogy ma
így antalkodik? Előbb dicsőíti a munkát, most meg már leszólja a
sárga földig.
– Mert én sokoldalú ember vagyok, – védekezett sunyi ábrázatát
mind a két kezével megvakarva, – és csak Noszty úrra értettem, a ki
nyári éghajlat alatt született.
– Csakhogy az én nyaram csak az én tavaszomig tartott, – felelte
Feri némi keserűséggel, – és ezentúl bizony már nekem is munkával
kell megkeresnem a mindennapi kenyeremet.
– Nem szakad meg abba a méltóságos úr, – nevetett a
szerkesztő.
– Ugyan hagyja, kedves szerkesztő úr, ne méltóságozzon engem.
– Kérem, kérem, császári királyi kamarás, tehát méltóságos.
(Hm, tehát kamarás, – sóhajtott Mari, – azért olyan rátartó.)
– Az csak a kriptának szól, – felelte Noszty szerényen, – a családi
csontoknak. Nekem magamnak inkább csak a «tekintetes» titulus jár,
s ezt is azzal a tudattal kell viselnem, hogy más alkalmasabb,
erőteljesebb emberre volt szabva.
– Ujhuj! – rikkantott közbe a pofitos Kaby Jóska, a ki ide figyelt
félfüllel, máskor lőnye ember, de ha bort lát, szaporamalom. – Ne
resteld! Mit restelled? Vármegye kenyerét a ki kapja, az marja. Én se
restelném, ha én húztam volna ki alólad a gyékényt, hát punktum.
Csak egyet ismerj el, bruderkám, hogy hunczut a német. A miért én
viszont elismerem, hogy az a jó, mert ha a német nem volna
hunczut, nem tudnánk kire haragudni s a nélkül rég belénk
penészedett volna a nemzeti virtus.
Erre aztán úgy illett, hogy Noszty, mint fiatalabb, átsétáljon a
tulsó oldalra és a Kaby Józsi poharát megérintse a maga poharával.
– Kellemes fiatal embernek látszik, – jegyezte meg Tóth Mihály
Nosztyra, a szomszédasszonyhoz fordulva.
– Hm, – felelte a tiszteletesné csókaszemével a fiatal emberre
pislogva. – Azt hallottam, hogy egy kicsit lacsuha természetű. Az
apja se egészen kóser ember. És milyen gőgös, kivált az
országgyűlési cziklusok közepén. Egy «Pesti Naplót»-t hord szüntelen
zsebében s mikor valaki olyan jön szembe az utczán, a kit nem akar
megismerni, kiveszi, beletemeti a fizimiskáját és az olvasást mímelve
megy el az ember mellett.
Többé-kevésbbé efféle semmiségek mondattak és történtek az
asztalnál s természetesen sokáig ki nem elégíthették az igényeket,
kivévén az emberiség «tisliző» részét. A mindkét nembeli ifjúságnak
a talpa viszketett, tánczra készülődének, az öreg urak a
kártyaszobába vágytak, a tantuszaikhoz, s türelmetlenül lesték,
mikor bont asztalt az elnöklő Fruzina mama. Bontana is, ha a locsi-
fecsi Podwolski pontot tudna csinálni; szines szerelmi kalandjai
egymásba fonódnak, mint a szederindák.
Végre azonban mégis fölemelkedik a háziasszony s az a bizonyos
suhogás támad, mint mikor egy nagy madárcsapat felrebben.
Hangzanak is mindjárt a vezényszavak. «Ki az asztalokkal!» zsibong
az ifjúság. «Előre uraim, a miből élünk!» sorakoznak csatarendbe a
kártyások. Csak az örök szomjúság rabszolgái várják gyámoltalanul,
hogy melyik szobát teszi meg a háziúr «kredencz»-nek, a hova aztán
be lehet húzódni iszogatni, disputálni, csibukozni, sőt még dalolni is.
Feri az öreg urakhoz csatlakozott s leült az egyik tarokasztalnál
gibicznek, a Tóth Mihály háta mögé (ki tudja, mire lesz az jó
valamikor). Ott különben hasznát is vették, mert az egyik partner,
Palojtay, váltig futkározott, hol ide hívták, hol oda hívták rendet
csinálni, s ilyenkor, mert az idő pénz, hogy folytonossági hiány ne
legyen a játékban, ő helyettesíté a házigazdát. Egész este nem
mozdult, anekdottákat mondott, savanyúvizes bort töltött a
játékosoknak és kiszolgálta őket. Szóval hasznos ember volt,
megbecsülték, s a mikor Tóth uram valami nagyobb játékot akart
kimondani, «ultimót», vagy «szólót», mindég hátrafordult, a mint ez
már illendő dolog a rokonszenves gibiczczel szemben, s csak ha az
jóváhagyólag intett a szempilláival, kiáltotta ki nagy élénkséggel:
– Solo, ha vizet iszom is!
Pedig a nagy teremben, a hol a táncz folyt, erősen várta
«valaki». Ha tudta volna, talán otthagyta volna a hatalmas skiz
szürke hiveit, vagy hogy talán tudta és azért nem hagyta ott.
A csillár gyertyái már körömhegyig égtek a nagy teremben, új
gyertyákat raktak fel a cselédek, hullámzott a sokaság, a mamák
bóbiskoltak a szögletekben, a tánczosok nagyrészt már kifáradtak és
újak szilajodtak neki. A pletykázó szobákból, a kredenczből
bekukkantak az unatkozók, csak ő nem mutatkozott, a kit Tóth Mari
várt. Különös ember! Gőgös-e, vagy világgyűlölő? Valóságos rejtély.
Bizonyosan befogatott már és elment. A mennyire az udvarlóitól
tehette (nem nagyon tehette, mert körüldöngték, mint a méhek a
jázmint), mindég figyelte az ajtókat, jöttek-mentek az emberek, de ő
nem mutatkozott. Szeretett volna kérdezősködni felőle, de nem
mert. Fruzina mama bizonyosan tudja, mert ő tőle nyilván
elbucsúzott, de Isten ments meg Fruzina mama előtt szóba hozni,
gyík szeme van, mindjárt leolvasná velök a titkos gondolatait. Ámbár
iszen azok se olyanok, hogy szégyenkeznie kellene miattok, ha csak
nincs alattuk még egy réteg: a legtitkosabb gondolatok.
Nincs, nincs. Oh dehogy! Semmi sincs. Mindössze tánczolni
szeretne a méltóságos kamarás úrral. Egy kis ártatlan kiváncsiság az
egész. Úgy rémlik neki, hogy a csárdástánczáról holt bizonyossággal
meg tudná állapítani, ő volt-e a somlyói vadász, vagy nem, mert ez a
bolondos kérdés még mindég ki nem párolgott a fejéből, nem is akar
és nem is fog, talán örökön örökké megmarad a gyanúja és
boszantani fogja. Mert hátha alakoskodik a kamarás úr? S oh, milyen
bosszúság, az ő (a Mari) szeme is csalódhatik az arczban,
emlékezete a hangban, – hanem ha tánczolhatna vele egyet! Minden
hazudhat, csak a láb nem, mely egyforma rithmusban igazodik a
muzsikához.
Hogy ez a kivánsága nem teljesült, udvarlóival éreztette, a kik
hosszú orral szóródtak szét. Az elnököt megsértette valamivel,
duzzogva befogatott és hazament, a kis báró pedig a mamájához
sietett panaszkodni:
– Mari rosszul bánik velem. Úgy látszik, semmi se lesz a
reményeidből. Hagyj nekem békét ezzel az arany békával. Én holnap
visszamegyek Pestre.
– Persze. Az orfeumi dámádhoz. No hallod, abból semmi se lesz.
Hát miből következteted, hogy rosszul állnak az ügyeid?
– Azt mondta megvet, ne kerüljek többé a szeme elé
– És miért?
– A miért, azt mondja, én kiáltottam közbe a vacsoránál, hogy
Zsigmond királyt valamelyik Noszty bocsátotta ki a siklósi börtönből
jó pénzért, s aztán mikor Noszty fenyegetőleg jelentkezésre szólította
föl a közbeszólót, meglapultam, mint a gonosz a fűben.
– Miért is nem jelentkeztél?
– Majd bolond vagyok, hogy felaprított volna az a tigris pofájú.
– Igaz, igaz – mondta a bárónő megsimogatva fiacskája szöszke
fürtjeit – de látod, az ilyen éretlen leányok szeretik a hősöket,
magokba falják a regényekből. Legalább eltagadtad volna, hogy te
kiáltottál közbe.
– Az ám. Hiszen akartam én. De ráismert a hangomról.
– Te! Ha az a te hangodat száz közül megismerte, holott én se
ismertem meg, akkor az bizonyosan szeret téged. Légy nyugodt,
megbékültök.
S ezzel fölkelt és fölkereste Tóthnét, hogy fia ügyét
megfeljebezze nála. Tóthnénak, ki egy csoportban beszélgetett, igen
jól esett, hogy a báróné bizalmasan félrehivta és hogy az egész világ
látja, a mint az ablakmélyedésben tárgyalnak együtt. Egy két mézes-
mázos szó elég volt s Tóthné jól fel volt húzva, a milyen jól csak fel
lehet húzni egy hibátlan szerkezetű ketyegő órát.
– Oh Istenem, – mondta a befejezett beszélgetés után
visszatérve csoportjához, – milyen más ez az arisztokráczia! Milyen
finomak ezek a nők! Még a hangjuk is olyan lágy, mint a brüsszeli
csipke. Csak azt nem értem, hogy miért hiányzik elől a két felső
szemfoga és hogy nem csináltat helyettük álfogakat. Párisban
ismertem egy Lambelle nevű grófnőt, annak is épen ez a bizonyos
foga hiányzott. Talán divat. De ezer bocsánat, meg kell keresnem a
leányomat.
Föltette a lorgnette-jét némi előkelő reminisczencziák szerint s
körülnézett, de csakhamar visszafordult.
– Oh nem, nem. Talán még sem divat. A Lambelle grófnő fogát a
hátas lova rugta ki s nem föltehető, hogy a ló tudta volna a divatot…
Ámbár azt mondta a komornyik, hogy igen magas vérű ló volt. Az úr
meglőtte szegény párát… Oh, még most is sirhatnék, ha a szegény
lovacskára gondolok.
E közben megpillantotta Marit, a csillár alatt.
– Szent ég – kiálta hozzá tipegve. – Mind a ruhádra csepegnek
ezek a gyertyák. Azt gondolod, hogy Worth úr ingyen adja a ruhákat.
Gyere csak, gyere, gonosz gyermek, hadd mossam meg a fejedet. A
bárónő panaszkodik, hogy rosszul bánsz a fiával.
– Azzal az apalin szívüvel – mondá a leány fitymáló hangon.
– Már akármilyen szívű, de ez a szív hozzád húz. Én nem
mondom, hogy borulj az ölébe és ez nem is valami elegáns dolog,
azt se mondom, hogy menj hozzá férjhez, mert tudod, hogy az apád
milyen bogaras, de legalább szépen bánj vele, mert minden esetre
megtiszteltetés, hogy egy arisztokrata…
– Pakfon arisztokráczia – dünnyögte ajkait elbiggyesztve.
– Az arany veled vegyülne hozzá.
– Nem szokás az aranyat pakfonnal vegyíteni, mama.
– Neked ma valami bajod van, Mari.
– A fejem fáj mamácska.
– Talán haza akarnál jönni.
– Azt hiszem, jó volna, ha hazamennénk.
– Eredj hát, keresd meg az apádat valahol a kártyázók közt és
figyelmeztesd a hazamenetelre. Majd otthon beszélünk a dologról.
Mari végig ment a szobákon és sok kérdezősködés után végre
ráakadt a szobalabirintusban a kártyabarlangra s élénken elpirult,
mikor betoppanva ott látta Nosztyt az apja mellett, kéklő füstfelhőbe
takarva.
– A mama küldött, apuska, hogy már haza akarna
menni.

– Engem keresel? – mosolygott rá az öreg Tóth olyan


szeretetteljes pillantással, mint a minővel a pagátot veszi észre az
ember.
– A mama küldött, apuska, hogy már haza akarna menni.
– Ohó! Az lehetetlen!
– Miért apa?
– Mert két ultimó van rajtam és egy solo.
A leány ráemelte szemeit, hogy hol van hát rajta az a két ultimó,
a mitől nem mozdulhat, s úgy tett, mintha csak most venné észre
Nosztyt.
– Hát maga nem tánczol?
– Nem! – felelte kurtán.
– Nem is szokott?
– Nem igen.
– Sohase tánczolt?
– De igen, egyszer-másszor.
– Eredj csak fiacskám innen a füstből, – szólt az öreg Tóth, –
mondd meg a mamának, hogy várjatok még. És talán te is fordulj
még egy-kettőt, míg itt a kártya fordul.
Mari hidegen biczczentett a fejével Noszty felé, sarkon fordult,
szoknyái megsziszegtek s azzal szapora léptekkel elhagyta a szobát,
de kis vártatva visszatért ijedt arczczal.
– No, mi baj megint?
– Nem merek kimenni, – mondotta szégyenlősen.
– Hogy-hogy? – kérdezte Tóth úr szórakozottan, a kártyáit
rendezve.
– Egy nagy kutya fekszik a szomszéd szoba küszöbén. Olyan
csunya! És rám vicsorítja a fogait, mikor át akarom lépni.
– Hát kergesd el! Mondjad neki, hogy «csiba te».
– Hiszen kértem már, de nem akar elmenni.
– Oh, te bolondos kis fruska! – nevetett Tóth úr, hogy a szemei is
bele nedvesedtek – Kontra! Harmadik vétel!
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.

Let us accompany you on the journey of exploring knowledge and


personal growth!

textbookfull.com

You might also like