Programming the Macintosh in assembly language:
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Berkeley u.a.
Sybex
1986
|
Schriftenreihe: | The Sybex library
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | XXIII, 779 S. Ill. |
ISBN: | 0895882639 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV006537495 | ||
003 | DE-604 | ||
005 | 00000000000000.0 | ||
007 | t | ||
008 | 930210s1986 a||| |||| 00||| eng d | ||
020 | |a 0895882639 |9 0-89588-263-9 | ||
035 | |a (OCoLC)12954585 | ||
035 | |a (DE-599)BVBBV006537495 | ||
040 | |a DE-604 |b ger |e rakddb | ||
041 | 0 | |a eng | |
049 | |a DE-739 |a DE-83 | ||
050 | 0 | |a QA76.8.M3 | |
082 | 0 | |a 005.2/65 |2 19 | |
084 | |a ST 160 |0 (DE-625)143599: |2 rvk | ||
100 | 1 | |a Williams, Steve |e Verfasser |4 aut | |
245 | 1 | 0 | |a Programming the Macintosh in assembly language |
264 | 1 | |a Berkeley u.a. |b Sybex |c 1986 | |
300 | |a XXIII, 779 S. |b Ill. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a The Sybex library | |
650 | 7 | |a 68000 |2 inriac | |
650 | 7 | |a MACINTOSH |2 inriac | |
650 | 7 | |a programmation micro-ordinateur |2 inriac | |
650 | 4 | |a Assembler language (Computer program language) | |
650 | 4 | |a Macintosh (Computer) |x Programming | |
650 | 4 | |a Motorola 68000 (Microprocessor) |x Programming | |
856 | 4 | 2 | |m HEBIS Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=004165386&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
940 | 1 | |q TUB-nveb | |
999 | |a oai:aleph.bib-bvb.de:BVB01-004165386 |
Datensatz im Suchindex
_version_ | 1804120805461721088 |
---|---|
adam_text | Programming the
Macintosh
in Assembly Language
Steve Williams
San Francisco • Paris • Dusseldorf • London
CONTENTS
Introduction xxii
1 Chapter
Basic Concepts
WHAT IS PROGRAMMING? 1
Algorithms 2
Programming Languages 2
Flowcharts 3
HOW DOES A COMPUTER WORK? 5
Memory 5
Input/Output Devices 7
Central Processing Unit 7
CPU Organization 7
Stored Program Execution 9
Data Representation 11
Whafs in a K? 17
Operations on Binary Numbers 18
Extensions 24
SUMMARY 24
EXERCISES 24
Chapter 29
68000 Architecture
INTRODUCTION 29
REGISTER SET 30
Address Registers 30
Data Registers 31
Program Counter 32
Status Register 32
DATA ORGANIZATION IN MEMORY 34
Bytes, Words, and Longwords 35
BCD 36
Floating Point 36
ASCII 38
ADDRESSING MODES 38
Effective Address 39
Data Register Direct Addressing 40
Address Register Direct Addressing 41
Address Register Indirect Addressing 43
Address Register Indirect Addressing with Post-increment 44
Address Register Indirect Addressing with Pre-decrement 46
Address Register Indirect Addressing with Displacement 47
Address Register Indirect Addressing with Index 49
Absolute Short Addressing 51
Absolute Long Addressing 52
Program Counter with Displacement 54
Program Counter with Index 55
Immediate Mode 57
Status Register Addressing 58
STACKS AND STACK FRAMES 59
How a Stack Works 59
68000 Hardware Stack 60
Stack Implemented in Software 61
Stack Frames 62
SUMMARY 62
EXERCISES 64
INSTRUCTION CLASSES 67
Data Movement 68
Integer Arithmetic Operations 68
Logical Operations 69
Shift and Rotate Operations 69
Bit Manipulation Operations 70
Binary Coded Decimal Instructions 70
Program Control Instructions 70
System Control Operations 71
PROGRAM DEVELOPMENT MECHANICS 71
Editing 72
Backups 73
Assembling 75
Linking 75
EXEC 75
Debugging 76
Example—Summing the First Five Integers 78
68000 Instruction Set
INTRODUCTION 67
ix
DDT—68K 83
Example 84
INSTRUCTIONS 88
Effective Address Operands 88
ABCD Instruction 89
ADD Instruction 92
ADDA Instruction 95
ADDI Instruction 97
ADDQ Instruction 99
ADDX Instruction 101
AND Instruction 103
ANDI Instruction 105
ASL Instruction 108
ASR Instruction 111
Bcc (Conditional Branch) Instruction 114
BCHC Instruction 120
BCLR Instruction 122
BSET Instruction 124
BSR Instruction 126
BTST Instruction 128
CHK Instruction 131
CLR Instruction 133
CMP Instruction 135
CMPA Instruction 138
CMPI Instruction 140
CMPM Instruction 142
DBcc Instruction 144
DIVS Instruction 148
DIVU Instruction 150
EOR Instruction 152
EORI Instruction 154
EXG Instruction 156
EXT Instruction 158
ILLEGAL Instruction 160
JMP Instruction 161
JSR Instruction 163
LEA Instruction 165
LINK Instruction 167
LSL Instruction 170
LSR Instruction 172
MOVE Instruction 174
MOVE to CCR Instruction 176
MOVE to SR Instruction 178
MOVE from SR Instruction 180
MOVE USP Instruction 182
MOVEA Instruction 183
MOVEM Instruction 185
MOVEP Instruction 190
MOVEQ Instruction 193
MULS Instruction 195
MULU Instruction 197
NBCD Instruction 199
NEG Instruction 201
NEGX Instruction 203
NOP Instruction 205
NOT Instruction 206
OR Instruction 208
ORI Instruction 210
PEA Instruction 212
RESET Instruction 214
ROL Instruction 215
ROR Instruction 218
ROXL Instruction 221
ROXR Instruction 224
RTE Instruction 227
RTR Instruction 229
RTS Instruction 230
SBCD Instruction 231
See Instruction 234
STOP Instruction 237
SUB Instruction 238
SUBA Instruction 240
SUBI Instruction 242
SUBQ Instruction 244
SUBX Instruction 246
SWAP Instruction 248
TAS Instruction 249
TRAP Instruction 251
TRAPV Instruction 252
TST Instruction 253
UNLK Instruction 255
SUMMARY 25 6
EXERCISES 256
4 Chapter / 259
Simple Macintosh Programs
INTRODUCTION 259
THE HELLO WORLD PROGRAM 260
The Hello asm File 260
The Hello link File 261
The Hello job File 261
Running the Hello World Program 261
OUTPUT CONVERSION ROUTINES 262
Converting Binary to Hexadecimal 263
Converting Binary to Decimal 264
SUMMING THE FIRST FIVE INTEGERS 265
READING KEYBOARD INPUT 266
Input Conversion 269
DECIMAL TO HEX CONVERSION PROGRAM 270
FILE I/O 270
Operations on Files 271
File Information 273
File I/O Macros 276
FILE I/O EXAMPLE 282
The Dump Program Main Routine 283
The Open Files Routine 285
The DoFlnfo Routine 285
The DoFork Routine 289
The DumpAsc Routine 291
The Date Routine 292
The Dump Program Data Area 295
Sample Output 297
SUMMARY 298
EXERCISES 298
Advanced Concepts
INTRODUCTION 301
DATA ORGANIZATION 301
Records 301
Describing Records in Assembly Language 303
STORAGE ALLOCATION 304
Arrays 304
Linked Lists 305
DATA STRUCTURES 307
Stacks 307
Queues 307
Trees 309
ADVANCED PROGRAMMING CONCEPTS 311
Sorting 311
Searching 313
Recursion 316
ADVANCED ASSEMBLY LANGUAGE CONCEPTS 317
Macros 317
Conditional Assembly 319
Interfacing to High-Level Languages 322
Macintosh System Calls 342
SUMMARY 344
EXERCISES 345
Chapter O 347
The Macintosh Programming
Environment
OVERVIEW 347
The Desktop 348
QuickDraw 349
Macintosh Memory Management 365
xiv
Resources 371
Windows 375
Menus 379
Events 381
MACINTOSH PROGRAMMING RESTRICTIONS 387
Position Independent Code 387
Size Limitations 388
Heap Compaction Problems 388
SAMPLE APPLICATION 389
MacDoodle Menu Operations 389
Structure of MacDoodle 392
Event Code 396
Menu Code 396
Draw Code 414
MacDoodle Resource File Definitions 435
Run-Time Library Configuration 448
The Linker Command File 448
SUMMARY 450
EXERCISES 451
Exception Processing
INTRODUCTION 453
WHAT IS AN EXCEPTION? 453
General Exception Processing 454
Vectors 454
XV
WHAT HAPPENS DURING AN EXCEPTION? 457
RESET 457
BUSERR and Addressing Error Exceptions 458
Illegal Instruction Exceptions 460
TRAP Exceptions 461
Exceptions Used for Debuggers 462
Other Error Exceptions 463
Privilege-Violation Exceptions 463
Interrupts 464
SUMMARY 465
8 Chapter U 467
Run-Time Library Source
INTRODUCTION 467
PROGRAM INITIALIZATION 468
Initializing the Toolbox Routines 470
Opening the Resource File 470
Setting Up the Menu Bar 472
Creating a Window 473
Attaching Controls to a Window 474
Text Edit Initialization 475
Final Initialization 475
RUN-TIME LIBRARY CONVENTIONS 477
INTERACTION ROUTINES 478
ALERT 478
DIALOG 479
INPUT 480
PRINT 482
SCURSOR 484
SETVMIN, SETVMAX, SETWAL, SETHMIN, SETHMAX, and
SETHVAL 486
TRACK 487
THE EVENT SYSTEM 489
GETEVENT 490
CHKABORT 510
FILE ROUTINES 512
Macintosh I/O Parameter Block 513
Opening a File 515
Creating a Files 521
Closing a File 525
Transferring Data 525
Deleting a File 530
Getting and Setting File Information 530
MENU ROUTINES 534
CHECK and UNCHECK 534
ENABLE and DISABLE 536
STYLE 537
MISCELLANEOUS RUN-TIME LIBRARY ROUTINES 538
EXIT 538
QUIT 539
WTITLE 540
SUMMARY 540
EXERCISES 541
A Appendix r 545
Answers to Exercises
CHAPTER 1 545
CHAPTER 2 551
CHAPTER 3 552
CHAPTER 4 553
CHAPTER 5 557
CHAPTER 6 558
CHAPTER 8 563
B Appendix L/ 565
Macintosh Character Set
r
Appendix 577
Macro Library Summary
ALERT 571
CAUTIONALERT 572
CHECK 572
CHKABORT 572
CLOSE 573
CREATE 573
DELETE 573
DIALOG 574
DISABLE 574
ENABLE 574
ENDPROGRAM 575
EXIT 575
GETEVENT 575
GETFINFO 577
INPUT 577
NOTEALERT 578
OPEN 578
OPENR 578
PCREATE 579
POPEN 579
PRINT 580
PROGRAM 580
QUIT 581
READ 581
READLN 582
SCURSOR 582
SEEK 582
SETFINFO 583
SETHMAX 583
SETHMIN 584
SETHVAL 584
SETVMAX 584
SETVMIN 584
SETWAL 585
STOPALERT 585
STYLE 585
TRACK 586
UNCHECK 586
WRITE 586
WTITLE 587
Appendix LS 589
68000 Quick Reference
EFFECTIVE ADDRESS SUMMARY 589
OPERATION CODE SUMMARY 590
CONDITION CODE NOTATION 590
NUMERICAL INSTRUCTION SUMMARY 591
ALPHABETICAL INSTRUCTION SUMMARY 607
EXCEPTION VECTORS 622
BUSERR/ADDRESSING ERROR STACK FRAME (68000/68008) 623
Source Listings
INTRODUCTION 627
CHAPTER 4 627
CHAPTER 5 638
CHAPTER 6 647
CHAPTER 8 717
Index 772
BUSERR/ADDRESSING ERROR STACK FRAME (68010)
SPECIAL STATUS WORD FORMAT 624
Appendix E
|
any_adam_object | 1 |
author | Williams, Steve |
author_facet | Williams, Steve |
author_role | aut |
author_sort | Williams, Steve |
author_variant | s w sw |
building | Verbundindex |
bvnumber | BV006537495 |
callnumber-first | Q - Science |
callnumber-label | QA76 |
callnumber-raw | QA76.8.M3 |
callnumber-search | QA76.8.M3 |
callnumber-sort | QA 276.8 M3 |
callnumber-subject | QA - Mathematics |
classification_rvk | ST 160 |
ctrlnum | (OCoLC)12954585 (DE-599)BVBBV006537495 |
dewey-full | 005.2/65 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.2/65 |
dewey-search | 005.2/65 |
dewey-sort | 15.2 265 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01401nam a2200397 c 4500</leader><controlfield tag="001">BV006537495</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">00000000000000.0</controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">930210s1986 a||| |||| 00||| eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">0895882639</subfield><subfield code="9">0-89588-263-9</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)12954585</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV006537495</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakddb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-739</subfield><subfield code="a">DE-83</subfield></datafield><datafield tag="050" ind1=" " ind2="0"><subfield code="a">QA76.8.M3</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.2/65</subfield><subfield code="2">19</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 160</subfield><subfield code="0">(DE-625)143599:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Williams, Steve</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Programming the Macintosh in assembly language</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Berkeley u.a.</subfield><subfield code="b">Sybex</subfield><subfield code="c">1986</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XXIII, 779 S.</subfield><subfield code="b">Ill.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">The Sybex library</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">68000</subfield><subfield code="2">inriac</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">MACINTOSH</subfield><subfield code="2">inriac</subfield></datafield><datafield tag="650" ind1=" " ind2="7"><subfield code="a">programmation micro-ordinateur</subfield><subfield code="2">inriac</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Assembler language (Computer program language)</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Macintosh (Computer)</subfield><subfield code="x">Programming</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Motorola 68000 (Microprocessor)</subfield><subfield code="x">Programming</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">HEBIS Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=004165386&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="940" ind1="1" ind2=" "><subfield code="q">TUB-nveb</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-004165386</subfield></datafield></record></collection> |
id | DE-604.BV006537495 |
illustrated | Illustrated |
indexdate | 2024-07-09T16:47:55Z |
institution | BVB |
isbn | 0895882639 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-004165386 |
oclc_num | 12954585 |
open_access_boolean | |
owner | DE-739 DE-83 |
owner_facet | DE-739 DE-83 |
physical | XXIII, 779 S. Ill. |
psigel | TUB-nveb |
publishDate | 1986 |
publishDateSearch | 1986 |
publishDateSort | 1986 |
publisher | Sybex |
record_format | marc |
series2 | The Sybex library |
spelling | Williams, Steve Verfasser aut Programming the Macintosh in assembly language Berkeley u.a. Sybex 1986 XXIII, 779 S. Ill. txt rdacontent n rdamedia nc rdacarrier The Sybex library 68000 inriac MACINTOSH inriac programmation micro-ordinateur inriac Assembler language (Computer program language) Macintosh (Computer) Programming Motorola 68000 (Microprocessor) Programming HEBIS Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=004165386&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Williams, Steve Programming the Macintosh in assembly language 68000 inriac MACINTOSH inriac programmation micro-ordinateur inriac Assembler language (Computer program language) Macintosh (Computer) Programming Motorola 68000 (Microprocessor) Programming |
title | Programming the Macintosh in assembly language |
title_auth | Programming the Macintosh in assembly language |
title_exact_search | Programming the Macintosh in assembly language |
title_full | Programming the Macintosh in assembly language |
title_fullStr | Programming the Macintosh in assembly language |
title_full_unstemmed | Programming the Macintosh in assembly language |
title_short | Programming the Macintosh in assembly language |
title_sort | programming the macintosh in assembly language |
topic | 68000 inriac MACINTOSH inriac programmation micro-ordinateur inriac Assembler language (Computer program language) Macintosh (Computer) Programming Motorola 68000 (Microprocessor) Programming |
topic_facet | 68000 MACINTOSH programmation micro-ordinateur Assembler language (Computer program language) Macintosh (Computer) Programming Motorola 68000 (Microprocessor) Programming |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=004165386&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT williamssteve programmingthemacintoshinassemblylanguage |