__0a9a → last_file_byte
This commit is contained in:
parent
20de922eef
commit
bc284c6815
34
edlin.asm
34
edlin.asm
|
@ -254,7 +254,7 @@ initialize_editor: ; 0240
|
||||||
; Place ^Z after the end of file in memory
|
; Place ^Z after the end of file in memory
|
||||||
mov byte [di], 0x1a ; ^Z
|
mov byte [di], 0x1a ; ^Z
|
||||||
|
|
||||||
mov [__0a9a], di
|
mov [last_file_byte], di
|
||||||
mov byte [input_buffer.size], input_buffer.bufend - input_buffer.bufstart
|
mov byte [input_buffer.size], input_buffer.bufend - input_buffer.bufstart
|
||||||
mov byte [__0c1e.size], 0xff
|
mov byte [__0c1e.size], 0xff
|
||||||
mov byte [__0d48], 0x0a ; magic
|
mov byte [__0d48], 0x0a ; magic
|
||||||
|
@ -453,7 +453,7 @@ command_a: ; 0370
|
||||||
test byte [new_file_flag], 0xff
|
test byte [new_file_flag], 0xff
|
||||||
jnz __036d
|
jnz __036d
|
||||||
|
|
||||||
mov dx, [__0a9a]
|
mov dx, [last_file_byte]
|
||||||
cmp word [__0a80], 0
|
cmp word [__0a80], 0
|
||||||
jnz __0388
|
jnz __0388
|
||||||
|
|
||||||
|
@ -514,7 +514,7 @@ __03de:
|
||||||
pop cx
|
pop cx
|
||||||
mov word [di], 0x1a ; ^Z
|
mov word [di], 0x1a ; ^Z
|
||||||
subw r_cx, r_di
|
subw r_cx, r_di
|
||||||
xchg di, [__0a9a]
|
xchg di, [last_file_byte]
|
||||||
addw r_di, r_cx
|
addw r_di, r_cx
|
||||||
sub [psp_fcb_1 + fcb_record_low], di
|
sub [psp_fcb_1 + fcb_record_low], di
|
||||||
sbb word [psp_fcb_1 + fcb_record_high], 0
|
sbb word [psp_fcb_1 + fcb_record_high], 0
|
||||||
|
@ -546,7 +546,7 @@ command_w: ; 0417
|
||||||
jnz __043b
|
jnz __043b
|
||||||
|
|
||||||
mov cx, [__0a94]
|
mov cx, [__0a94]
|
||||||
mov di, [__0a9a]
|
mov di, [last_file_byte]
|
||||||
subw r_di, r_cx
|
subw r_di, r_cx
|
||||||
jna print_eof_str.ret
|
jna print_eof_str.ret
|
||||||
|
|
||||||
|
@ -580,12 +580,12 @@ __043f:
|
||||||
movw r_si, r_di
|
movw r_si, r_di
|
||||||
mov di, file_buffer
|
mov di, file_buffer
|
||||||
mov [__0a92], di
|
mov [__0a92], di
|
||||||
mov cx, [__0a9a]
|
mov cx, [last_file_byte]
|
||||||
subw r_cx, r_si
|
subw r_cx, r_si
|
||||||
inc cx
|
inc cx
|
||||||
rep movsb
|
rep movsb
|
||||||
dec di
|
dec di
|
||||||
mov [__0a9a], di
|
mov [last_file_byte], di
|
||||||
mov word [current_line], 1
|
mov word [current_line], 1
|
||||||
|
|
||||||
__0474:
|
__0474:
|
||||||
|
@ -615,7 +615,7 @@ __0482:
|
||||||
cmpw r_bx, r_dx
|
cmpw r_bx, r_dx
|
||||||
je __0474
|
je __0474
|
||||||
__049e:
|
__049e:
|
||||||
mov cx, [__0a9a]
|
mov cx, [last_file_byte]
|
||||||
subw r_cx, r_di
|
subw r_cx, r_di
|
||||||
|
|
||||||
__04a4:
|
__04a4:
|
||||||
|
@ -727,7 +727,7 @@ __0522:
|
||||||
__0537:
|
__0537:
|
||||||
mov di, 1 ; magic
|
mov di, 1 ; magic
|
||||||
__053a:
|
__053a:
|
||||||
mov cx, [__0a9a]
|
mov cx, [last_file_byte]
|
||||||
subw r_cx, r_si
|
subw r_cx, r_si
|
||||||
jz print_line.ret
|
jz print_line.ret
|
||||||
|
|
||||||
|
@ -1102,7 +1102,7 @@ __0792:
|
||||||
mov [__0a92], si
|
mov [__0a92], si
|
||||||
jnz __073e ; disambiguate
|
jnz __073e ; disambiguate
|
||||||
|
|
||||||
cmp si, [__0a9a]
|
cmp si, [last_file_byte]
|
||||||
je __073e
|
je __073e
|
||||||
|
|
||||||
call __0574
|
call __0574
|
||||||
|
@ -1138,13 +1138,13 @@ __07d7:
|
||||||
movw r_si, r_di
|
movw r_si, r_di
|
||||||
addw r_si, r_dx
|
addw r_si, r_dx
|
||||||
addw r_di, r_cx
|
addw r_di, r_cx
|
||||||
mov ax, [__0a9a]
|
mov ax, [last_file_byte]
|
||||||
subw r_ax, r_dx
|
subw r_ax, r_dx
|
||||||
addw r_ax, r_cx
|
addw r_ax, r_cx
|
||||||
cmp ax, [last_valid_address]
|
cmp ax, [last_valid_address]
|
||||||
jnb oom
|
jnb oom
|
||||||
|
|
||||||
xchg ax, [__0a9a]
|
xchg ax, [last_file_byte]
|
||||||
movw r_cx, r_ax
|
movw r_cx, r_ax
|
||||||
subw r_cx, r_si
|
subw r_cx, r_si
|
||||||
; NOTE: Memmove?
|
; NOTE: Memmove?
|
||||||
|
@ -1188,7 +1188,7 @@ command_i: ; 0816
|
||||||
|
|
||||||
__082a:
|
__082a:
|
||||||
call __0482
|
call __0482
|
||||||
mov cx, [__0a9a]
|
mov cx, [last_file_byte]
|
||||||
movw r_si, r_cx
|
movw r_si, r_cx
|
||||||
subw r_cx, r_di
|
subw r_cx, r_di
|
||||||
inc cx
|
inc cx
|
||||||
|
@ -1205,7 +1205,7 @@ __082a:
|
||||||
__0845:
|
__0845:
|
||||||
mov [__0a92], di
|
mov [__0a92], di
|
||||||
mov [current_line], bx
|
mov [current_line], bx
|
||||||
mov [__0a9a], bp
|
mov [last_file_byte], bp
|
||||||
call print_line_prefix
|
call print_line_prefix
|
||||||
|
|
||||||
mov dx, __0c1e
|
mov dx, __0c1e
|
||||||
|
@ -1245,7 +1245,7 @@ __087d:
|
||||||
call newline
|
call newline
|
||||||
|
|
||||||
__088b:
|
__088b:
|
||||||
mov bp, [__0a9a]
|
mov bp, [last_file_byte]
|
||||||
mov di, [__0a92]
|
mov di, [__0a92]
|
||||||
movw r_si, r_bp
|
movw r_si, r_bp
|
||||||
inc si
|
inc si
|
||||||
|
@ -1253,7 +1253,7 @@ __088b:
|
||||||
subw r_cx, r_bp
|
subw r_cx, r_bp
|
||||||
rep movsb
|
rep movsb
|
||||||
dec di
|
dec di
|
||||||
mov [__0a9a], di
|
mov [last_file_byte], di
|
||||||
jmp editor_mainloop
|
jmp editor_mainloop
|
||||||
|
|
||||||
command_q: ; 08a6
|
command_q: ; 08a6
|
||||||
|
@ -1287,7 +1287,7 @@ command_e: ; 08cd
|
||||||
test byte [new_file_flag], 0xff
|
test byte [new_file_flag], 0xff
|
||||||
jz __08c4
|
jz __08c4
|
||||||
|
|
||||||
mov dx, [__0a9a]
|
mov dx, [last_file_byte]
|
||||||
mov ah, sys_set_dta
|
mov ah, sys_set_dta
|
||||||
int 0x21
|
int 0x21
|
||||||
|
|
||||||
|
@ -1388,7 +1388,7 @@ __0a94 resw 1
|
||||||
last_file_buffer_byte resw 1 ; 0a96
|
last_file_buffer_byte resw 1 ; 0a96
|
||||||
last_valid_address resw 1 ; 0a98
|
last_valid_address resw 1 ; 0a98
|
||||||
|
|
||||||
__0a9a resw 1
|
last_file_byte resw 1 ; 0a9a
|
||||||
|
|
||||||
input_buffer:
|
input_buffer:
|
||||||
.size resb 1 ; 0a9c
|
.size resb 1 ; 0a9c
|
||||||
|
|
Loading…
Reference in New Issue