Assign4_ProgrammingLanguages.pdf
Transcript of Assign4_ProgrammingLanguages.pdf
-
1
. 3.
.
.
:
.
. 3.1
. 3.2
.
-
2
3.1
.
:
.
.
. MIPS
17 20
9 : 00000010001101000100100000100000.
3.1 .
(machine language)
.
. 3.2
.
,
.
-
3
3.1. 17
20 9
MIPS.
00000000101000010000000000011000
00000000100011100001100000100001
10001100011000100000000000000000
10001100111100100000000000000100
10101100111100100000000000000000
10101100011000100000000000000100
00000011111000000000000000001000
3.2.
MIPS.
000000 10000000000010011010010001
-
4
3.1 3.2
.
(assembly
language).
.
.
3.1 ,
MIPS : add 9$ 17$ 20$
3.3
3.2.
Swap:
muli $2, $5, 4
add $2, $4, $2
lw $15, 0($2)
lw $16, 4($2)
sw $16, 0($2)
sw $15, 4($2)
jr $31
3.3.
MIPS.
,
.
(assembler).
.
-
5
3.3, ,
3.2.
.
(subroutine libraries)
.
.
3.4.
, 3.4,
. 3.5
.
,
, .
.
. (linker),
,
(executable program).
(loader)
.
-
( )
-
6
3.5
,
, .
.
.
.
(macro-assembler).
.
, , ,
.
.
,
,
...
-
7
,
,
.
.
1/.3
.
2/.3
.
3/.3
.
.
.
;
3.2
.
:
,
-
8
.
.
(high level programming languages),
FORTRAN, COBOL, BASIC, PASCAL, LISP, PROLOG, C, C++,
JAVA . M
,
.. ,
, , . 3.6
C
3.3.
Swap ( int v[], int k ) ;
{ int temp;
temp = v[k] ;
v[k] = v[k+1] ;
}
3.6.
.
-
9
3.7.
. , (object)
. ,
(compiler).
.
-
-
10
3.7.
.
(interpreter).
.
.
.
,
.
,
.
,
.
.
. ,
. .
. ,
.
-
11
.
FORTRAN , COBOL
, LISP , JAVA
.
.
.
.
.
4/.3
.
5/.3
.
6/.3
.
1. D.A. Patteson, J. L. Hennessy, Computer Organization & Design, The
Hardware/Software Interface, Morgan Kayfmann, 1994.
3 ,
.
2. A. V. Aho, R. Sethi, J. D. Ullman, Compilers: Principles, Techniques and Tools,
Addison Wesley, 1986.
.
, ,
.
.
-
12
3. E. Horowitz, , 1984,
, ( 1993)
.
4. B. W. Kernighan, D. M. Ritchie, C,
, 1990.
C
.
C.
, .
5. S. R. Davis, JAVA, , 1996
JAVA
.
.
1/.3
O ,
.
.
.
2/.3
.
.
.
. ,
.
3/.3
. .
-
13
.
.
. ,
.
4/.3
. FORTRAN, COBOL, ALGOL, PL/I,
SIMULA, BASIC, PASCAL, Smalltalk, LISP, PROLOG, C, C++, JAVA.
,
.
3.2.
5/.3
/
.
.
.
.
6/.3
.
.
.
.
.
.
.
.