Scan for ^Z
This commit is contained in:
parent
21b636c181
commit
d47321c53b
39
edlin.asm
39
edlin.asm
|
@ -28,6 +28,10 @@ sys_block_read equ 0x27
|
|||
db 0x03, 0xF9 ; 023E add di, cx (direction swapped)
|
||||
%endmacro
|
||||
|
||||
%macro sub_cx_di 0
|
||||
db 0x2b, 0xcf ; sub cx, di (direction swapped)
|
||||
%endmacro
|
||||
|
||||
%macro or_al_al 0
|
||||
db 0x0a, 0xc0 ; or al, al (direction swapped)
|
||||
%endmacro
|
||||
|
@ -42,8 +46,11 @@ sys_block_read equ 0x27
|
|||
%macro mov_dx_cx 0
|
||||
db 0x8b, 0xD1 ; mov dx, cx (direction swapped)
|
||||
%endmacro
|
||||
%macro mov_di_cx 0
|
||||
db 0x8b, 0xf9 ; mov di, cx (direction swapped)
|
||||
%endmacro
|
||||
%macro mov_di_dx 0
|
||||
db 0x8B, 0xfa ; mov di, dx (direction swapped)
|
||||
db 0x8b, 0xfa ; mov di, dx (direction swapped)
|
||||
%endmacro
|
||||
|
||||
%macro cmp_byteaddr_bytext 2
|
||||
|
@ -175,7 +182,7 @@ read_file:
|
|||
mov dx, psp_fcb_1
|
||||
mov ah, sys_block_read
|
||||
int 0x21
|
||||
call __035e
|
||||
call find_file_end_char
|
||||
add_di_cx
|
||||
|
||||
__0240:
|
||||
|
@ -300,18 +307,22 @@ db 0x17 ; 035A pop ss
|
|||
db 0x04, 0xA6 ; 035B add al,0xa6
|
||||
db 0x08 ; 035D db 0x08
|
||||
|
||||
__035e:
|
||||
db 0x57 ; 035E push di
|
||||
db 0x51 ; 035F push cx
|
||||
db 0xB0, 0x1A ; 0360 mov al,0x1a
|
||||
db 0xF2, 0xAE ; 0362 repne scasb
|
||||
db 0x8B, 0xF9 ; 0364 mov di,cx
|
||||
db 0x59 ; 0366 pop cx
|
||||
db 0x9F ; 0367 lahf
|
||||
db 0x2B, 0xCF ; 0368 sub cx,di
|
||||
db 0x9E ; 036A sahf
|
||||
db 0x5F ; 036B pop di
|
||||
db 0xC3 ; 036C ret
|
||||
find_file_end_char: ; 035e
|
||||
push di
|
||||
push cx
|
||||
|
||||
mov al, 0x1a ; ^Z
|
||||
repne scasb
|
||||
mov_di_cx
|
||||
|
||||
pop cx
|
||||
lahf
|
||||
sub_cx_di
|
||||
sahf
|
||||
|
||||
pop di
|
||||
ret
|
||||
|
||||
db 0xE9, 0x8E, 0x00 ; 036D jmp 0x3fe
|
||||
db 0xF6, 0x06, 0x7E, 0x0A, 0xFF ; 0370 test byte [0xa7e],0xff
|
||||
db 0x75, 0xF6 ; 0375 jnz 0x36d
|
||||
|
|
Loading…
Reference in New Issue