Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Save to My Library
Look up keyword or section
Like this
9Activity

Table Of Contents

Building your first application
Starting Paradigm Assembler
Command-line options
Indirect command files
The configuration file
Paradigm Assembler Ideal mode
Why use Ideal mode?
Entering and leaving Ideal mode
MASM and Ideal mode differences
Expressions and operands
Operators
Suppressed fixups
Operand for BOUND instruction
Segments and groups
Accessing segment data belonging to a group
Commenting the program
Comments at the end of the line
The COMMENT directive
Extending the line
Using INCLUDE files
Predefined symbols
Assigning values to symbols
General module structure
The VERSION directive
The NAME directive
The END directive
Displaying warning messages
Multiple error-message reporting
Terminology
Why use objects in Paradigm Assembler?
What is an object?
A sample object
Declaring objects
Declaring a base object
Declaring a derived object
Declaring a method procedure
The virtual method table
Initializing the virtual method table
Calling an object method
Calling a static method
Calling a virtual method
Calling ancestor virtual methods
More on calling methods
Programming form for objects
Constants
Numeric constants
Changing the default radix
String constants
Symbols
Symbol names
Symbol types
Simple address subtypes
Describing a complex address subtype
Expressions
Expression precision
Constants in expressions
Symbols in expressions
Registers
Standard symbol values
Simple symbol values
The LENGTH unary operator
The SIZE unary operator
The WIDTH unary operator
MASK unary operator
General arithmetic operators
Simple arithmetic operators
Logical arithmetic operators
Bit shift operators
Comparison operators
Simple arithmetic operators
Logical arithmetic operators
Bit shift operator
Comparison operators
Setting the address subtype of an expression
Obtaining the type of an expression
SEG expression
Determining expression characteristics
Describing the contents of an address
Implied addition
Specifying a 16- or 32-bit expression
x86 processor directives
8087 coprocessor directives
Coprocessor emulation directives
Directives
@Cpu
@WordSize
The MODEL directive
Symbols created by the MODEL directive
The @Model symbol
The @32Bit symbol
The @CodeSize symbol
The @DataSize symbol
The @Interface symbol
Simplified segment directives
The STARTUPCODE directive
The @Startup symbol
The EXITCODE directive
Defining generic segments and groups
The SEGMENT directive
l segment combination attribute
Segment combination attribute
Segment class attribute
Segment alignment attribute
Segment size attribute
Segment access attribute
The ENDS directive
The GROUP directive
Segment access attribute
The ASSUME directive
Segment ordering
Changing a module's segment ordering
The .ALPHA directive
The .SEQ directive
The DOSSEG directive
Changing the size of the stack
Defining enumerated data types
Defining bit-field records
Defining structures and unions
Opening a structure or union definition
Specifying structure and union members
Defining structure member labels with LABEL
Aligning structure members
Closing a structure or union definition
Nesting structures and unions
Including one named structure within another
Using structure names in expressions
Defining tables
Overriding table members
Defining a named type
Defining a procedure type
Defining an object
The TBLPTR directive
The STRUC directive
The $ location counter symbol
Location counter directives
The ORG directive
The EVEN and EVENDATA directives
The ALIGN directive
Defining labels
The : operator
The LABEL directive
The :: directive
Procedure definition syntax
Declaring NEAR or FAR procedures
Declaring a procedure language
Specifying a language modifier
Defining arguments and local variables
ARG and LOCAL syntax
The scope of ARG and LOCAL variable names
Preserving registers
Defining procedures using procedure types
Nested procedures and scope rules
Declaring method procedures for objects
Using procedure prototypes
Redefinable symbols
Block scoping
The LOCALS and NOLOCALS directives
MASM block scoping
MASM-style local labels
Simple data directives
Creating an instance of a structure or union
Initializing union or structure instances
Creating an instance of a record
Initializing record instances
Creating an instance of an enumerated data type
Initializing enumerated data type instances
Creating an instance of a table
Initializing table instances
Creating and initializing a named-type instance
Creating an instance of an object
Extended jumps
Additional 80386 LOOP instructions
Additional 80386 ENTER and LEAVE instructions
Additional return instructions
Additional IRET instructions
Extended PUSH and POP instructions
Multiple PUSH and POPs
Pointer PUSH and POPs
PUSHing constants on the 8086 processor
The PUSHSTATE and POPSTATE instructions
Extended shifts
Forced segment overrides: SEGxx instructions
Additional smart flag instructions
Additional field value manipulation instructions
The SETFIELD instruction
The GETFIELD instruction
Additional fast immediate multiply instruction
Calling procedures with stack frames
Calling procedures that contain RETURNS
Calling procedures that have been prototyped
Using macros
Text macros
Defining text macros with the EQU directive
String macro manipulation directives
The CATSTR directive
The SUBSTR directive
The INSTR directive
The SIZESTR directive
Text macro manipulation examples
Multiline macros
The multiline macro body
Using & in macros
Including comments in macro bodies
Local dummy arguments
The EXITM directive
Tags and the GOTO directive
General multiline macros
Invoking a general multiline macro
The < > literal string brackets
The ! character
The % expression evaluation character
Redefining a general multiline macro
Defining nested and recursive macros
The count repeat macro
The WHILE directive
String repeat macros
The % immediate macro directive
Saving the current operating state
General conditional directives syntax
IFxxx conditional assembly directives
ELSEIFxxx conditional assembly directives
ERRxxx error-generation directives
Specific directive descriptions
Unconditional error-generation directives
Expression-conditional directives
Symbol-definition conditional directives
Text-string conditional directives
Assembler-pass conditionals
Including conditionals in the list file
Publishing symbols externally
Conventions for a particular language
Declaring public symbols
Declaring library symbols
Defining external symbols
Defining global symbols
Publishing a procedure prototype
Defining communal variables
Including a library
The ALIAS directive
Listing format
General list directives
Include file list directives
Conditional list directives
Macro list directives
Cross-reference list directives
Changing list format parameters
Calling Paradigm Assembler functions from Paradigm C++
The framework
Linking assembly language modules with C++
Using Extern "C" to simplify linkage
Memory models and segments
Publics and externals
Underscores and the C language
The significance of uppercase and lowercase
Label types
Parameter passing
Returning values
Calling an assembler function from C++
Pascal calling conventions
Calling Paradigm C++ from Paradigm Assembler
Link in the C++ startup code
The segment setup
Performing the call
MASM mode expression grammar
Ideal mode expression grammar
Keyword precedence
Ideal mode precedence
MASM mode precedence
Keywords and predefined symbols
Directive keywords
Basic data types
Signed types
Floating-point types
New decision and looping directives
IF .ELSE. ELSEIF .ENDIF
.WHILE .ENDW
.REPEAT .UNTIL. UNTILCXZ
.BREAK .CONTINUE
Logical operators
Using flags in conditions
Macro repeat blocks with loop directives
REPEAT loops
FOR loops
FORC loops
New directives
ECHO directive
EXTERNDEF directive
OPTION directive
CASEMAP: NONE/NOTPUBLIC/ALL
DOTNAME/NODOTNAME
EMULATOR/NOEMULATOR
EXPR16/EXPR32
LJMP/NOLJMP
NOKEYWORD: <keywordList>
PROC: PRIVATE/PUBLIC/EXPORT
SCOPED/NOSCOPED
SEGMENT: USE16/USE32/FLAT
Visibility in procedure declarations
Distance in procedure declarations
SIZE operator in MASM mode
Compatibility issues
One-pass versus two-pass assembly
Environment variables
Microsoft binary floating-point format
Ideal mode operator precedence
MASM mode operator precedence
Macro operators
Error messages
l Information messages
l Error messages
Information messages
Warning and error messages
Index
0 of .
Results for:
No results containing your search query
P. 1
Pas Mug

Pas Mug

Ratings: (0)|Views: 2,807 |Likes:
Published by nousename123

More info:

Published by: nousename123 on Aug 29, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

12/16/2012

pdf

text

original

You're Reading a Free Preview
Pages 7 to 213 are not shown in this preview.
You're Reading a Free Preview
Pages 220 to 230 are not shown in this preview.
You're Reading a Free Preview
Pages 238 to 287 are not shown in this preview.
You're Reading a Free Preview
Pages 294 to 306 are not shown in this preview.

Activity (9)

You've already reviewed this. Edit your review.
1 hundred reads
1 thousand reads
Josh Witmer liked this
Balázs Barna liked this
Michael Napper liked this
marius_utica liked this

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->