Address | Output | Source |
D:\My Documents\Visual Studio 2005\Projects\Latenite\Latenite\bin\Projects\Multithread\Multithread\Library\Interrupt.asm |
Page 0 |
9898 | D9 | exx |
9899 | E1 | pop hl |
989A | ED 73 AE 98 | ld (OldSP),sp |
989E | 22 B2 98 | ld (OldPC),hl |
98A1 | 31 00 00 | StoreOldRegisters = $+1 \ ld sp,0 |
98A4 | D9 | exx |
98A5 | FD E5 | push iy |
98A7 | DD E5 | push ix |
98A9 | E5 | push hl |
98AA | D5 | push de |
98AB | C5 | push bc |
98AC | F5 | push af |
98AD | 21 00 00 E5 | OldSP = $+1 \ ld hl,0 \ push hl |
98B1 | 21 00 00 E5 | OldPC = $+1 \ ld hl,0 \ push hl |
98B5 | D9 | exx |
98B6 | 08 | ex af,af' |
98B7 | 21 00 00 | CurrentThreadStore = $+1 \ ld hl,0 |
98BA | 5E 23 | ld e,(hl) \ inc hl |
98BC | 56 23 | ld d,(hl) \ inc hl |
98BE | 22 B8 98 | ld (CurrentThreadStore),hl |
98C1 | 7A | ld a,d |
98C2 | B3 | or e |
98C3 | 20 09 | jr nz,FoundOutNextThread |
98C5 | 21 EC 86 | ld hl,Parent.ThreadStores |
98C8 | 22 B8 98 | ld (CurrentThreadStore),hl |
98CB | 5E 23 | ld e,(hl) \ inc hl |
98CD | 56 | ld d,(hl) |
98CE | ED 53 D5 98 | ld (NextThreadToRun),de |
98D2 | D9 | exx |
98D3 | 08 | ex af,af' |
98D4 | 31 00 00 | NextThreadToRun = $+1 \ ld sp,0 |
98D7 | E1 22 F2 98 | pop hl \ ld (NewPC),hl |
98DB | E1 22 EF 98 | pop hl \ ld (NewSP),hl |
98DF | F1 | pop af |
98E0 | C1 | pop bc |
98E1 | D1 | pop de |
98E2 | E1 22 F6 98 | pop hl \ ld (NewHL),hl |
98E6 | DD E1 | pop ix |
98E8 | FD E1 | pop iy |
98EA | ED 73 A2 98 | ld (StoreOldRegisters),sp |
98EE | 31 00 00 | NewSP = $+1 \ ld sp,0 |
98F1 | 21 00 00 E5 | NewPC = $+1 \ ld hl,0 \ push hl |
98F5 | 21 00 00 | NewHL = $+1 \ ld hl,0 |
98F8 | D9 | exx |
98F9 | 08 | ex af,af' |
98FA | C3 3A 00 | jp $3A |
D:\My Documents\Visual Studio 2005\Projects\Latenite\Latenite\bin\Projects\Multithread\Includes\Headers.asm |
Skipped 1174 bytes |
9D93 | BB 6D | .db $BB,$6D |
9D95 | C9 30 0C | ret \ jr nc,Program.Main |
9D98 | 4D 75 6C 74 69 74 68 72 65 61 64 00 | .asc "Multithread", 0 |
D:\My Documents\Visual Studio 2005\Projects\Latenite\Latenite\bin\Projects\Multithread\Multithread\Multithread.asm |
9DA4 | C3 CC 9E | jp SkipThisInclude |
9DA7 | F3 | di |
9DA8 | ED 56 | im 1 |
9DAA | 21 67 9E | ld hl,Interrupt.InterruptCode |
9DAD | 11 98 98 | ld de,Interrupt.Location |
9DB0 | 01 65 00 | ld bc,Interrupt.InterruptCodeEnd - Interrupt.InterruptCode |
9DB3 | ED B0 | ldir |
9DB5 | 21 00 9A | ld hl,Interrupt.Table |
9DB8 | 3E 98 | ld a,Interrupt.Base |
9DBA | 77 | ld (hl),a |
9DBB | 54 5D | ld d,h \ ld e,l |
9DBD | 13 | inc de |
9DBE | 01 00 01 | ld bc,256 |
9DC1 | ED B0 | ldir |
9DC3 | 3E 9A | ld a,Interrupt.Table >> 8 |
9DC5 | ED 47 | ld i,a |
9DC7 | 21 EC 86 | ld hl,ThreadStores |
9DCA | 22 B8 98 | ld (Interrupt.CurrentThreadStore),hl |
9DCD | 11 ED 86 | ld de,ThreadStores+1 |
9DD0 | 36 00 | ld (hl),0 |
9DD2 | 01 3F 00 | ld bc,sizeof(ThreadStores)-1 |
9DD5 | ED B0 | ldir |
9DD7 | 21 2C 87 | ld hl,MasterThreadRegisters |
9DDA | 22 EC 86 | ld (ThreadStores),hl |
9DDD | 21 3C 87 | ld hl,MasterThreadRegisters+16 |
9DE0 | 22 A2 98 | ld (Interrupt.StoreOldRegisters),hl |
9DE3 | ED 5E | im 2 |
9DE5 | FB | ei |
9DE6 | 76 | halt |
9DE7 | C9 | ret |
9DE8 | F3 | di |
9DE9 | ED 56 | im 1 |
9DEB | FB | ei |
9DEC | C9 | ret |
D:\My Documents\Visual Studio 2005\Projects\Latenite\Latenite\bin\Projects\Multithread\Multithread\Library\NewThread.asm |
9DED | F3 | di |
9DEE | E5 | push hl |
9DEF | 21 20 00 | ld hl,32 |
9DF2 | 09 | add hl,bc |
9DF3 | 44 4D | ld b,h \ ld c,l |
9DF5 | C5 | push bc |
9DF6 | EF E5 42 | rst rBR_CALL\ .dw _MemChk |
9DF9 | B7 | or a |
9DFA | ED 42 | sbc hl,bc |
9DFC | DA 05 9E | jp c,EnoughRamForThread |
9DFF | E1 | pop hl |
9E00 | E1 | pop hl |
9E01 | F6 01 | or 1 |
9E03 | FB | ei |
9E04 | C9 | ret |
9E05 | 21 61 9E | ld hl,MemName |
9E08 | 11 78 84 | ld de,OP1 |
9E0B | 01 05 00 | ld bc,5 |
9E0E | ED B0 | ldir |
9E10 | 21 7D 84 | ld hl,OP1+5 |
9E13 | 06 04 | ld b,4 |
9E15 | C5 E5 | push bc \ push hl |
9E17 | 06 0A | ld b,10 |
9E19 | CD C1 96 | call ionRandom |
9E1C | E1 C1 | pop hl \ pop bc |
9E1E | C6 30 | add a,'0' |
9E20 | 77 | ld (hl),a |
9E21 | 23 | inc hl |
9E22 | 10 F1 | djnz {-} |
9E24 | EF F1 42 | rst rBR_CALL\ .dw _ChkFindSym |
9E27 | 30 E7 | jr nc,{--} |
9E29 | E1 | pop hl |
9E2A | E5 | push hl |
9E2B | EF 6D 4E | rst rBR_CALL\ .dw _CreateProtProg |
9E2E | 13 | inc de |
9E2F | 13 | inc de |
9E30 | E1 | pop hl |
9E31 | D5 | push de |
9E32 | DD E1 | pop ix |
9E34 | 19 | add hl,de |
9E35 | DD 74 03 | ld (ix+3),h |
9E38 | DD 75 02 | ld (ix+2),l |
9E3B | E1 | pop hl |
9E3C | DD 74 01 | ld (ix+1),h |
9E3F | DD 75 00 | ld (ix+0),l |
9E42 | FD 7C DD 77 0F | ld a,iyh \ ld (ix+15),a |
9E47 | FD 7D DD 77 0E | ld a,iyl \ ld (ix+14),a |
9E4C | 21 EC 86 | ld hl,Parent.ThreadStores |
9E4F | 7E 23 | - ld a,(hl) \ inc hl |
9E51 | B6 | or (hl) |
9E52 | 28 03 | jr z,FoundThreadSlot |
9E54 | 23 | inc hl |
9E55 | 18 F8 | jr {-} |
9E57 | 2B | dec hl |
9E58 | DD E5 D1 | push ix \ pop de |
9E5B | 73 | ld (hl),e |
9E5C | 23 | inc hl |
9E5D | 72 | ld (hl),d |
9E5E | B7 | or a |
9E5F | FB | ei |
9E60 | C9 | ret |
9E61 | 06 54 68 72 64 | .asc ProtProgObj, "Thrd" |
D:\My Documents\Visual Studio 2005\Projects\Latenite\Latenite\bin\Projects\Multithread\Multithread\Library\EndThread.asm |
9E66 | C9 | ret |
D:\My Documents\Visual Studio 2005\Projects\Latenite\Latenite\bin\Projects\Multithread\Program.asm |
Skipped 101 bytes |
9ECC | CD A7 9D | call Multithread.Init |
9ECF | 06 08 | ld b,8 |
9ED1 | CD C1 96 | call ionRandom |
9ED4 | 32 4C 84 | ld (curCol),a |
9ED7 | 06 08 | ld b,8 |
9ED9 | CD C1 96 | call ionRandom |
9EDC | 32 4B 84 | ld (curRow),a |
9EDF | 06 00 | ld b,0 |
9EE1 | CD C1 96 | call ionRandom |
9EE4 | EF 01 45 | rst rBR_CALL\ .dw _PutMap |
9EE7 | EF 18 40 | rst rBR_CALL\ .dw _getCSC |
9EEA | FE 36 | cp sk2nd |
9EEC | 20 0A | jr nz,{+} |
9EEE | 21 00 9F | ld hl,SecondaryThread |
9EF1 | 01 90 01 | ld bc,400 |
9EF4 | CD ED 9D | call Multithread.Thread.Start |
9EF7 | AF | xor a |
9EF8 | FE 0F | cp skClear |
9EFA | 20 D3 | jr nz,{-} |
9EFC | CD E8 9D | call Multithread.End |
9EFF | C9 | ret |
9F00 | F3 | di |
9F01 | 06 40 | ld b,64 |
9F03 | CD C1 96 | call ionRandom |
9F06 | C6 80 | add a,$80 |
9F08 | F5 | push af |
9F09 | D3 10 | out ($10),a |
9F0B | 06 30 | ld b,48 |
9F0D | CD C1 96 | call ionRandom |
9F10 | C6 30 | add a,48 |
9F12 | 47 | ld b,a |
9F13 | CB 3F | srl a |
9F15 | CB 3F | srl a |
9F17 | CB 3F | srl a |
9F19 | C6 20 | add a,$20 |
9F1B | D3 10 | out ($10),a |
9F1D | 78 | ld a,b |
9F1E | E6 07 | and 7 |
9F20 | 0E 80 | ld c,%10000000 |
9F22 | 28 05 | jr z,{+} |
9F24 | 47 | ld b,a |
9F25 | CB 39 | - srl c |
9F27 | 10 FC | djnz {-} |
9F29 | DB 11 | in a,($11) |
9F2B | CD 41 9F | call LcdBusy |
9F2E | DB 11 | in a,($11) |
9F30 | A9 | xor c |
9F31 | 4F | ld c,a |
9F32 | CD 41 9F | call LcdBusy |
9F35 | F1 | pop af |
9F36 | D3 10 | out ($10),a |
9F38 | CD 41 9F | call LcdBusy |
9F3B | 79 | ld a,c |
9F3C | D3 11 | out ($11),a |
9F3E | FB | ei |
9F3F | 18 BF | jr SecondaryThread |
9F41 | F5 | push af |
9F42 | 23 | inc hl |
9F43 | 2B | dec hl |
9F44 | F1 | pop af |
9F45 | C9 | ret |
Program.Multithread.ThreadStores | 86EC |
Program.Multithread.ThreadStores[0] | 86EC |
Program.Multithread.ThreadStores[1] | 86EE |
Program.Multithread.ThreadStores[2] | 86F0 |
Program.Multithread.ThreadStores[3] | 86F2 |
Program.Multithread.ThreadStores[4] | 86F4 |
Program.Multithread.ThreadStores[5] | 86F6 |
Program.Multithread.ThreadStores[6] | 86F8 |
Program.Multithread.ThreadStores[7] | 86FA |
Program.Multithread.ThreadStores[8] | 86FC |
Program.Multithread.ThreadStores[9] | 86FE |
Program.Multithread.ThreadStores[10] | 8700 |
Program.Multithread.ThreadStores[11] | 8702 |
Program.Multithread.ThreadStores[12] | 8704 |
Program.Multithread.ThreadStores[13] | 8706 |
Program.Multithread.ThreadStores[14] | 8708 |
Program.Multithread.ThreadStores[15] | 870A |
Program.Multithread.ThreadStores[16] | 870C |
Program.Multithread.ThreadStores[17] | 870E |
Program.Multithread.ThreadStores[18] | 8710 |
Program.Multithread.ThreadStores[19] | 8712 |
Program.Multithread.ThreadStores[20] | 8714 |
Program.Multithread.ThreadStores[21] | 8716 |
Program.Multithread.ThreadStores[22] | 8718 |
Program.Multithread.ThreadStores[23] | 871A |
Program.Multithread.ThreadStores[24] | 871C |
Program.Multithread.ThreadStores[25] | 871E |
Program.Multithread.ThreadStores[26] | 8720 |
Program.Multithread.ThreadStores[27] | 8722 |
Program.Multithread.ThreadStores[28] | 8724 |
Program.Multithread.ThreadStores[29] | 8726 |
Program.Multithread.ThreadStores[30] | 8728 |
Program.Multithread.ThreadStores[31] | 872A |
Program.Multithread.MasterThreadRegisters | 872C |