You are on page 1of 13

"

" " 163-3-1213

11.31.32 :

5
:
.1

.
, ( ).
:
( )

]R[t]<-R[a
Ra

]]R[t]<-M[R[a
)(Ra

R[t]<-x
#x

]R[t]<-M[x
x

]]R[t]<-M[M[x
)(x

]]R[t]<-M[x+R[a
)X(Ra

]R[t]<-M[x+PC
)X(PC
a t x , .
* " ,
( ).

:
( ,)High learn
:

ld ra , c2
R ra M R rb c2 , c2 sign extended 2's complement number.
) ld ra , c2 (rb
: r 0
b

. R ra M c2 , c2 sign extended 2's complement number.


R ra R rb R rc
.2
addi r1,r3,1 .2
R ra R rb c2

sub\add ra , rb , rc

la ra , c2

: rb 0 . R ra c2

) la ra , c2 (rb

PC R rb rc

br(cond) rb , rc

( R ra PC ) PC R rb . rc
/ / /

br(cond) ra , rb , rc
shr/shl/shra/shc
stop

"

" " 163-3-1213

( )pseudo ops or assembler directive:SRC


( )program loader (.)executable code

.equ
EQUate
Cost: .equ 200 ( #define)C
.org 1000
.org
ORiGin
(
- X .)111110
.dw
Define Word
X: .dw 1 () ( Y )1=Y
X
* pseudo ops .
pseudo ops- :SRC

:
(
).
: SRC .
:
lar

0
32
)0(r1
r1, 8
r2, -1
r2
Loop2
32

r0, Loop1
la
r1,
la
r2,
Loop1:
ld
r3,
addi r1,
addi r2,
brnz r0,
lar
r0,
la
r2,
Loop2:
...

"

" " 163-3-1213

: assembler directive
;Define symbolic constant
);Next word will be loaded at address 1000 (decimal
;Reserve 1 word for variable X
;Program will at hex address 5000
;Load address of jump location if expression is false
;Get value of X into r1
;Branch to Over if r10
;Negate value

Cost: .equ 125


.org 1000
X:
.dw
1
.org 0x5000
lar r0,Over
ld r1, X
brpl r0,r1
neg r1,r1
Over: ...

SRC
Label: opcode operands ; comments
( ) ( ; ).
:
. SRC , .2
. .SRC
. ( ) B
() ( H)
. . (
) .
. r3+12 ).12(r3
load store
.
:
: ,Abstract RTN : .
: 4 4 (
).
:
: ( type ) ,
stop .
:Abstract RTN .
RTN : .
: ()
() .

"

" " 163-3-1213

:
Abstract RTN

R r1 M 80H
.
.
.

ld r1 ,80 H
.
.
.

0
.
.
.

:
RTN
( ) :

Execution Time=Clock Count


:Clock Count -Clock RTN -.
: (.)clock period
:
.1 SRC ()? ,? , .
.2 SRC ?
.3 ?SRC
.4 ? ?
.5 ? ?
.6 ? ?
.7 ? .
.8 ?
.9 ( 5?)6
.11 ? ?
.11 3 .
.12 ALU ? ?
.13 ?shift .
.14 arithmetic shift shift? ?circular shift
.15
shr ra,rb,rc and shr ra,rb, c3

"

" " 163-3-1213

80 H . 84 H SRC

. 100 H

1
2 .
3 .
Abstract RTN

R r1 M 80H

ld r1 ,80 H

R r2 M 84H

ld r2 ,84 H

sub r3 , r2 , r1

R r4 PC 16 32

lar r4 ,16

12

if R r3 0 : PC R r4

brmi r4 , r3

16

st r2 .100H

20

lar r5 ,8

24

br r5

28

st r1 ,100 H

32

stop

36

R r3 R r2 R r1

M 100H R r2
R r5 8 PC 36
PC R r5
M 100H R r1
* PC=16 R r4 PC 16 32

? ...

Abstract RTN

R r1 M 80H

ld r1 ,80 H

R r2 M 84H

ld r2 ,84 H

sub r3 , r2 , r1

lar r4 ,8

12

if R r3 0 : PC R r4

brpl r4 , r3

16

R r2 R r1 0

la r2 , r1 ,0

20

st r2 ,100H

24

Stop

28

R r3 R r2 R r1
R r4 PC 8 24

M 100H R r2

* 21

"

" " 163-3-1213

1
' .200H . '
,2 ' 1' . .200H

LSB . AND ()MASKING


0000 001 . 1 , 1 .
Abstract RTN

R r1 M 200H

ld r1 , 200 H

R r2 R r1 and 1

andi r2 , r1 ,1

R r3 PC 16 28

lar r3 ,16

if R r2 0 : PC R r3

brzr r3 , r2

12

addi r1 , r1 , 1

16

lar r4 ,8

20

br r4

24

R r1 R r1 / 2

shra r1 , r1 ,1

28

M 200H R r1

st r1 , 200 H

32

stop

36

R r1 R r1 1
R r4 PC 8 32
PC R r4

:
Abstract RTN

R r1 M 200H

ld r1 , 200 H

R r2 R r1 and 1

andi r2 , r1 ,1

R r3 R r1 1

addi r3 , r1 , 1

R r4 R r1 / 2

shra r4 , r1 ,1

12

lar r5 ,8

16

if R r2 0 : PC R r5

brzr r5 , r2

20

R r4 R r3

la r4 , r3 ,0

24

st r4 , 200 H

28

stop

32

R r5 PC 8 28

M 200H R r4

"

" " 163-3-1213

2
x1
x1 200H x2 .204H
x2

208H .20CH

' ' , x2 .
Counter .

Abstract RTN

R r3 1

la r3 , 1

R r1 M 200H

ld r1 , 200 H

R r2 M 204H

ld r2 , 204 H

R r3 R r3 1

addi r3 , r3 ,1

12

R r1 R r1 R r2

sub r1 , r1 , r2

16

R r4 PC 12 12

lar r4 , 12

20

if R r1 0 : PC R r4

brpl r4 , r1

24

R r1 R r1 R r2

add r1 , r1 , r2

28

M 20CH R r1

st r1 , 20CH

32

M 208H R r3

st r3 , 208H

36

stop

40

"

" " 163-3-1213

:
:3 1 .399
parity
411 .799
' :parity ,1 .-1
'
31 ( ) andi Mask
, 0000 001 , .

,
.1
! ! r0

Masking
R r6 28

R r5 0 28
1

:
?

Not - 1= 1....1
4
* ?4

la r1 , 0

ld r3 , 0 r1

la r7 , 0

andi r5 , r3 ,1

12

lar r6 ,8

16

brzr r6 , r5

20

addi r7 , r7 ,1

24

shr r3 .r3 ,1

28

lar r8 , 24

32

brnz r8 , r3

36

andi r7 , r7 ,1

40

la r5 , 0

44

lar r6 ,8

48

brzr r6 , r7

52

not r5 , r5

56

st r5 , 400 r1

60

addi r1 , r1 , 4

64

addi r9 , r1 , 400

68

lar r10 , 72

72

brnz r10 , r9

76

stop

80

" " 163-3-1213

"

Branch
. Andi
.
' r7 ,
2 A B , .

A , 1 .

la r1 , 0

ld r3 , 0 r1

la r7 , 0

andi r5 , r3 ,1

12

lar r6 ,8

16

brzr r6 , r5

20

not r7, r7

24

shr r3 .r3 ,1

28

lar r8 , 24

32

brnz r8 , r3

36

st r7 , 400 r1

40

addi r1 , r1 , 4

44

addi r9 , r1 , 400

48

lar r10 , 52

52

brnz r10 , r9

56

stop

60

, 40 56 .

"

" " 163-3-1213

: (-lar )
. ( ,
) .
:4

"

" " 163-3-1213

"
:

" " 163-3-1213

"

" " 163-3-1213

:5
.pseudo ops- ?
( )
, .
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;

cnt: .equ 8
.org 0
seq: .dc 1
next: .dc 1
ans: .dw cnt
.org 0x1000
lar r31,loop
la r0,cnt
la r1,seq
)loop: ld r2, seq(r1
)ld r3, next(r1
add r2,r2,r3
)st r2,ans(r1
addi r1,r1,4
addi r0,r0,-1
brnz r31,r0
stop

You might also like