-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathTextEditor.asm
More file actions
97 lines (67 loc) · 1.19 KB
/
TextEditor.asm
File metadata and controls
97 lines (67 loc) · 1.19 KB
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
88
89
90
91
92
93
94
95
96
97
;------------------------------------------------------
[BITS 16]
[ORG 0x5000]
;------------------------------------------------------
mov al,0x00
call ClearScreen
mov dh,0
mov dl,1
mov bl,0xf0
mov si,_Title
call cPrintString
mov dh,24
mov dl,1
mov bl,0xf0
mov si,_cmdMSg
call cPrintString
mov dh,2
mov dl,1
mov ah,0x02
int 10h
mov bl,0x0f
mov ah,0x09
int 10h
KeyEvent:
xor ah,ah
int 16h
cmp ah,1 ;Escape
je Back
cmp ah,14 ;BackSpace
je BackSpace
cmp ah,28 ;Enter
je NewLine
mov ah,0x09
int 10h
inc dl
mov ah,0x02
int 10h
jmp KeyEvent
BackSpace:
dec dl
mov ah,0x02
int 10h
mov al,' '
mov ah,0x09
int 10h
jmp KeyEvent
NewLine:
inc dh
mov dl,1
mov ah,0x02
int 10h
jmp KeyEvent
Back:
mov esi,0x1000
add esi,512
jmp esi
cli
hlt
;-----------------------INCLUDES------------------------
%include "Modules/cPrintString.asm"
%include "Modules/ClearScreen.asm"
;-------------------------------------------------------
;----------------------Declaring Vars----------------
_Title db "Text Editor",0
_cmdMSg db "Esc - Exit | Clt + S - Save | Clt + N - New File",0
;----------------------------------------------------
times 512 - ($ - $$) db 0