Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 30 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
30
Dung lượng
810,5 KB
Nội dung
Chapter 17 Programming Tools TheArchitectureofComputerHardwareandSystems Software: AnInformationTechnologyApproach 3rd Edition, Irv Englander John Wiley and Sons 2003 Programming Tools Overview Editors Assemblers Debuggers Compilers Linkers Loaders Interpreters Integrated Development Environments (IDEs) combine several ofthe above programming tools Chapter 17 17-2 The Program Translation Process Terms, terms, and more terms! Source Translato r Object Linker Loader Executable Chapter 17 17-3 Visual Basic IDE Chapter 17 17-4 Program Text Editors Word processors format the appearance ofthe text Text editors Format the spacing between words for legibility Ideal for structured languages Text is the same font size Examples DOS – Edit Windows – Notepad, Wordpad Unix / Linux – ed, vi, emacs IDEs MS Visual C++, Symantec Visual Cafe Chapter 17 17-5 Programming Language Categories Machine Language Binary coded instructions Assembly Language Symbolic coded instructions Procedural Languages procedural statements or arithmetic notation Four-generation Languages Natural language and nonprocedural statements Object-oriented Languages Combination of objects and procedures Chapter 17 17-6 Assembly Language When to use When speed or size of program is critical Hybrid approachHardware Drivers Can use specialized instructions Disadvantages Inherently machine specific Architectures may become obsolete Lack of programming structure Chapter 17 17-7 Assemblers Binary code = machine code Hex code Assembly Language Mnemonic names op codes Labels memory addresses Comments Symbol table Operations table Memory Relocation Cross Assembler Chapter 17 17-8 What Does This Program Do? 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 IN STO 99 IN STO 98 IN STO 97 SUB 98 BRP 10 LDA 98 BR 11 LDA 97 STO 96 SUB 99 BRP 16 LDA 96 BR 17 LDA 96 OUT COB Chapter 17 901 399 901 398 901 397 298 811 598 611 597 396 299 816 599 617 596 902 000 ;input three numbers and save ;subtract number in 98 from that in 97 ;number in 97 larger ;number in 98 larger, restore 98 ;restore 97 ;store larger of (97, 98) in 96 ;subtract number in 99 from larger ;number in 96 larger ;number in 99 larger, restore 99 ;restore 96 17-9 LMC Program in Java Use instructions in a more understandable language static int max (int x[]) { for (i=1; i