-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathlee.asm
85 lines (64 loc) · 928 Bytes
/
lee.asm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
; lee.asm
fcb1 equ 05Ch
bdos equ 5
bdosconsoleoutput equ 02h
bdosprintstring equ 09h
bdosopenfile equ 0Fh
bdosclosefile equ 10h
bdosreadsequential equ 14h
bdossetdmaaddress equ 1Ah
org 100h
ld de, fcb1
ld c, bdosopenfile
call bdos
cp 0FFh
jp z, fallo
ld de, buffer
again push de
ld c, bdossetdmaaddress
call bdos
ld de, fcb1
ld c, bdosreadsequential
call bdos
cp 0
jp z, sigue
cp 1
jp z, finlee
jp fallo
sigue pop de
ld hl, 128
add hl, de
ld d, h
ld e, l
jp again
finlee
ld c, bdosclosefile
ld de, fcb1
call bdos
ld hl, buffer
ld bc, 512
nextchar
ld e, (hl)
push hl
push bc
ld c, bdosconsoleoutput
call bdos
pop bc
pop hl
inc hl
dec bc
ld a, c
or b
jp nz, nextchar
ld c, 0
call bdos
fallo ld de, mensajeerror
ld c, bdosprintstring
call bdos
ld c, 0
call bdos
mensajeerror defb 'Error.', 0Dh, 0Ah, '$'
public again, fallo
buffer equ $
end 100h
; End of lee.asm