public
/
Ack-5.5.git
/ blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
history
|
raw
|
HEAD
Pristine Ack-5.5
[Ack-5.5.git]
/
mach
/
z80
/
int
/
dvi4.s
1
.define .dvi4
2
.sect .text
3
.sect .rom
4
.sect .data
5
.sect .bss
6
.sect .text
7
.dvi4:
8
pop hl
9
ld (retaddr),hl
10
xor a
11
ld (.flag1),a
12
ld (.flag2),a
13
ld ix,0
14
add ix,sp
15
ld b,(ix+7) ! dividend
16
bit 7,b
17
jr z,1f
18
ld c,(ix+6)
19
ld d,(ix+5)
20
ld e,(ix+4)
21
call .negbd
22
ld (ix+7),b
23
ld (ix+6),c
24
ld (ix+5),d
25
ld (ix+4),e
26
ld a,1
27
ld (.flag1),a
28
1:
29
ld b,(ix+3)
30
bit 7,b
31
jr z,2f
32
call .negst
33
ld a,1
34
ld (.flag2),a
35
2:
36
call .dvu4
37
ld a,(.flag1)
38
or a
39
jr z,3f
40
call .negbd
41
3:
42
ld (.savebc),bc
43
ld (.savede),de
44
ld a,(.flag2)
45
ld b,a
46
ld a,(.flag1)
47
xor b
48
jr z,4f
49
call .negst
50
4:
51
ld bc,(.savebc)
52
ld de,(.savede)
53
ld hl,(retaddr)
54
jp (hl)
55
.negbd:
56
xor a
57
ld h,a
58
ld l,a
59
sbc hl,de
60
ex de,hl
61
ld h,a
62
ld l,a
63
sbc hl,bc
64
ld b,h
65
ld c,l
66
ret
67
.negst:
68
pop iy
69
pop de
70
pop bc
71
call .negbd
72
push bc
73
push de
74
jp (iy)
75
.sect .data
76
.flag1: .data1 0
77
.flag2: .data1 0
78
retaddr:.data2 0
79
.savebc: .data2 0
80
.savede: .data2 0