Computer Science, asked by pksingh7792, 1 year ago

Program on fibonacci series in assembly with description

Answers

Answered by dg717818gmailcom
0
cls
a=1
b=1
for I= 1 to 10
print a;b
let c = a+b
print c
a=b
b=c
next I
end
Answered by pratiknarahari2003
0

Program –

MEMORY ADDRESS  MNEMONICS  COMMENT

2000  LXI H, 3050  H <- 30, L <- 50

2003  MVI C, 08  C <- 08

2005  MVI B, 00  B <- 00

2007  MVI D, 01  D <- 01

2009  MOV M, B  M <- B

200A  INX H  M <- M + 01

200B  MOV M, D  M <- D

200C  MOV A, B  A <- B

200D  ADD D  A <- A + D

200E  MOV B, D  B <- D

200F  MOV D, A  D <- A

2010  INX H  M <- M + 01

2011  MOV M, A  M <- A

2012  DCR C  C <- C – 01

2013  JNZ 200D  Jump if ZF = 0

2016  HLT  END


Explanation – Registers A, B, C, D, H, L are used for general purpose.


   LXI H 3050: assigns 30 to H and 50 to L.

   MVI B, 00: assigns 00 to B.

   MVI C, 08: assigns 08 to C.

   MVI D, 01: assigns 01 to D.

   MOV M, B: moves the content of B in M.

   INX H: increment M by 1.

   MOV M, D: moves the content of D in M.

   MOV A, B: moves the content of B in A.

   ADD D: add the content of D and A. Store the result in A.

   MOV B, D: moves the content of D in B.

   MOV D, A: moves the content of A in D.

   INX H: increment M by 1.

   MOV M, A: moves the content of A in M.

   DCR C: decrements C by 1.

   JNZ 200C: jump to memory location 200D if ZF = 0.

   HLT: stops executing the program and halts any further execution.



Similar questions