Assembly Program for multiplying of two 8 bit number
Assembly Program for multiplying of two 8 bit number –
Number N1 ≤ FF
Number N2 ≤ FF
F*F = 225 = EF
FF*FF = FE 01
Program –
Program member location | code | instructions | comment |
F 000 H | 2100 F8 | LXIH , F800H | Point to member location |
F 003 H | 46 | mov B , M | Read N1 into Reg B |
F 004 H | 23 | INX , H | Point to next member location |
F 005 H | 4E | Mov C , M | Read N2 into reg c |
F 006 H | A7 | XRAA | (A) =00 |
F 007 H | 57 | Mov D , A | (D) =00 |
F 008 H | 37 | STC , (Set carry) | (cy) = 01 (set) |
F 009 H | 3F | CNC , Complement | (cy) = 00 (reset) |
F 00A H | 80 | ADD B | (A) = (A) + (B) |
F 00B H | D2 , OF , FO | JNC , DNT , ADD | IF CY ≠ 01. then don’t increment (D) |
F 00E H | 14 | INR D | IF CY =0 THEN (D) = (D) +1 |
F 00F H | 00 | DCRC | (C) = (C) -1 |
F 010 H | C2 , 08 , F0 | INZ Loop | if co ≠ 0 Co to ADD member |
F 013 H | 23 H | INX H | Point to next location |
F 014 H | 77 | mov M , A | store (A) into member |
F 015 H | 23 | INX H | Point to next member |
F 016 H | 72 | mov M , D | Store (D) into member |
F 017 H | 76 | HLT | stop |
Multiplying of two 8 bit number