Z80SimulatorIDE/files/basmul.lst

75 lines
2.9 KiB
Plaintext

0001 0000 ; Compiled with: Z80 Simulator IDE v9.70
0002 0000 ;
0003 0000 ; Begin
0004 0000 DD 21 00 FF LD IX,0FF00H
0005 0004 31 FA FE LD SP,0FEFAH
0006 0007 ; The address of 'a' (integer) (global) is FEFEH (IX-2)
0007 0007 a: EQU 0FEFEH
0008 0007 ; The address of 'b' (integer) (global) is FEFCH (IX-4)
0009 0007 b: EQU 0FEFCH
0010 0007 ; The address of 'c' (integer) (global) is FEFAH (IX-6)
0011 0007 c: EQU 0FEFAH
0012 0007 ; Begin of program
0013 0007 ; 1: Dim a As Integer
0014 0007 3E 00 LD A,00H
0015 0009 DD 77 FE LD (IX-02H),A
0016 000C DD 77 FF LD (IX-01H),A
0017 000F ; 2: Dim b As Integer
0018 000F 3E 00 LD A,00H
0019 0011 DD 77 FC LD (IX-04H),A
0020 0014 DD 77 FD LD (IX-03H),A
0021 0017 ; 3: Dim c As Integer
0022 0017 3E 00 LD A,00H
0023 0019 DD 77 FA LD (IX-06H),A
0024 001C DD 77 FB LD (IX-05H),A
0025 001F ; 4:
0026 001F ; 5: a = 123 'First number
0027 001F 21 7B 00 LD HL,007BH
0028 0022 DD 75 FE LD (IX-02H),L
0029 0025 DD 74 FF LD (IX-01H),H
0030 0028 ; 6: b = 234 'Second number
0031 0028 21 EA 00 LD HL,00EAH
0032 002B DD 75 FC LD (IX-04H),L
0033 002E DD 74 FD LD (IX-03H),H
0034 0031 ; 7: c = a * b
0035 0031 DD 6E FE LD L,(IX-02H)
0036 0034 DD 66 FF LD H,(IX-01H)
0037 0037 DD 5E FC LD E,(IX-04H)
0038 003A DD 56 FD LD D,(IX-03H)
0039 003D CD 47 00 CALL M001
0040 0040 DD 75 FA LD (IX-06H),L
0041 0043 DD 74 FB LD (IX-05H),H
0042 0046 ; End of program
0043 0046 76 HALT
0044 0047 ; Integer Multiplication Routine
0045 0047 C5 M001: PUSH BC
0046 0048 44 LD B,H
0047 0049 4D LD C,L
0048 004A 21 00 00 LD HL,0000H
0049 004D 3E 10 LD A,10H
0050 004F 15 M003: DEC D
0051 0050 14 INC D
0052 0051 20 0F JR NZ,M002
0053 0053 FE 09 CP 09H
0054 0055 38 0B JR C,M002
0055 0057 D6 08 SUB 08H
0056 0059 F5 PUSH AF
0057 005A 53 LD D,E
0058 005B 5C LD E,H
0059 005C 65 LD H,L
0060 005D 2E 00 LD L,00H
0061 005F F1 POP AF
0062 0060 18 ED JR M003
0063 0062 29 M002: ADD HL,HL
0064 0063 CB 13 RL E
0065 0065 CB 12 RL D
0066 0067 30 01 JR NC,M004
0067 0069 09 ADD HL,BC
0068 006A 3D M004: DEC A
0069 006B 20 E2 JR NZ,M003
0070 006D C1 POP BC
0071 006E C9 RET
0072 006F ; End of listing
0073 006F .END
Number of errors = 0