8085乘法。它如何工作?

时间:2015-03-06 13:55:45

标签: assembly 8085 x86-16

我有这个程序,但我不明白。 为什么使用raldad

 1.  lxi h, 4050h 
 2.  mov e,m 
 3.  mvi d,00h 
 4.  inx h
 5.  mov a,m
 6.  mvi b,08h
 7.  lxi h,0000h 
 8.  mvlt: ral ; this line 
 9.  jnc add1 
 10. dad d 
 11. add1: dcr b ; this line
 12. jz store 
 13. dad h 
 14. jmp mvlt 
 15. store: shld 4052h ; this line
 16. rst 1

1 个答案:

答案 0 :(得分:0)

代码将[4050h]和[4051h]的字节相乘,并将16位结果存储到[4052h]中。 de = [4050h]处的字节(d = 0,e =字节),a = [4051h]处的字节。 ral shift a 左移1位,将 a 的最高位移入进位。爸爸d将de添加到hl。爸爸h转移hl离开1位。 shld将16位产品存储到[4052h]。