From 73e7beb441692ec5e3bf2f2886cd800ae87c23ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juhani=20Krekel=C3=A4?= Date: Sun, 1 Aug 2021 16:39:06 +0300 Subject: [PATCH] =?UTF-8?q?=5F=5F0a98=20=E2=86=92=20last=5Fvalid=5Faddress?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- edlin.asm | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/edlin.asm b/edlin.asm index 6e23bde..e4a4830 100644 --- a/edlin.asm +++ b/edlin.asm @@ -218,7 +218,7 @@ setup_file_parameters: ; 01ec mov cx, [psp_segment_size] dec cx - mov [__0a98], cx + mov [last_valid_address], cx test byte [new_file_flag], 0xff jnz initialize_editor @@ -457,7 +457,7 @@ __0388: mov ah, sys_set_dta int 0x21 - mov cx, [__0a98] + mov cx, [last_valid_address] subw r_cx, r_dx jz _trampoline_oom_1 @@ -494,7 +494,8 @@ __03ca: std dec di - mov cx, [__0a98] + ; TODO: Why are we using last valid address as our loop counter? + mov cx, [last_valid_address] repne scasb inc di inc di @@ -1132,7 +1133,7 @@ __07d7: mov ax, [__0a9a] subw r_ax, r_dx addw r_ax, r_cx - cmp ax, [__0a98] + cmp ax, [last_valid_address] jnb oom xchg ax, [__0a9a] @@ -1183,7 +1184,7 @@ __082a: movw r_si, r_cx subw r_cx, r_di inc cx - mov di, [__0a98] + mov di, [last_valid_address] std rep movsb @@ -1240,7 +1241,7 @@ __088b: mov di, [__0a92] movw r_si, r_bp inc si - mov cx, [__0a98] + mov cx, [last_valid_address] subw r_cx, r_bp rep movsb dec di @@ -1377,7 +1378,7 @@ __0a92 resw 1 __0a94 resw 1 __0a96 resw 1 -__0a98 resw 1 +last_valid_address resw 1 ; 0a98 __0a9a resw 1