-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathA000217M.ASM
87 lines (61 loc) · 1.37 KB
/
A000217M.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
86
87
;----------------------------------------------------------------------
;
; a000217m.asm
;
; The Triangular Numbers
;
; OEIS a000217
;
;----------------------------------------------------------------------
.model small
.stack 100h
EXTRN dispspace:PROC
EXTRN disp0x:PROC
EXTRN dispCR:PROC
EXTRN disph16:PROC
EXTRN dispd16:PROC
.data
max dw 0169h
.code
a000217 proc
push bp
mov bp, sp
push si
mov dx, @data
mov ds, dx
mov cx,01h ;
mov ax, 01h
GetNext:
cmp cx,max ; cx = max?
je AllDone ; if so, we're finished
inc cx
add ax,cx
call dispA000217
jmp GetNext
AllDone:
mov ax, 4C00h
int 21h
a000217 endp
dispA000217 PROC ; display routine for a000217
; n in cx, a000010(n) in ax
push ax
push bx
push cx
push dx
mov dx, ax
mov ax, cx
call dispd16
call dispspace
call dispspace
call dispspace
call dispspace
mov ax, dx
call dispd16
call dispCR
pop dx
pop cx
pop bx
pop ax
ret
dispA000217 endp
end