File: lee.asm

package info (click to toggle)
pasmo 0.5.3-4
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 892 kB
  • ctags: 1,805
  • sloc: cpp: 8,508; asm: 3,020; sh: 790; makefile: 627
file content (85 lines) | stat: -rw-r--r-- 928 bytes parent folder | download | duplicates (8)
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