diff --git a/SHELL/BATCH.ASM b/SHELL/BATCH.ASM index a33e30c..c59c74a 100644 --- a/SHELL/BATCH.ASM +++ b/SHELL/BATCH.ASM @@ -280,6 +280,7 @@ CMDMODE: ;xor a ;ld (D96A6),a ; (inline.asm) call EVALCMD ; (batch.asm) + RET C ;ld ix,T96AC ; нужно?? закоментарил (inline.asm) ;ld hl,T96AE ;;256 буфер (inline.asm) ld hl,Buffers.input_line.Path @@ -403,7 +404,11 @@ EVALCMD: xor a ld hl,Buffers.work.buffer2 ;work_buffer+256 ld de,Buffers.input_line.Path ; куда ld bc,255 ;!HARDCODE -.loop: ld a,(hl) +.loop: LD A,C + DEC A + JR Z,.error + ; + ld a,(hl) ldi inc b or a @@ -413,6 +418,12 @@ EVALCMD: xor a ld (Buffers.input_line.Symbols_Num),a ; длина строки (edline.asm) and a ret + ; +.error: LD (DE),A + LD A,DSS_Error.sys.ENV_ITEM_OVERFLOW + CALL print_err_message + SCF + RET ; HL - STRING WITH %VAR% EVALSTR: ld a,(hl) diff --git a/SHELL/EXEC.ASM b/SHELL/EXEC.ASM index 9f78156..24dbe3f 100644 --- a/SHELL/EXEC.ASM +++ b/SHELL/EXEC.ASM @@ -7,6 +7,7 @@ SAVEHL: dw 0 ; Разбор и выполнение введенных команд и имен файлов ;------------------------------------------------------------- COMP: call EVALCMD ; (batch.asm) + RET C ld hl,Buffers.input_line.Path dec hl ld c,(hl) ; длина строки diff --git a/Shared_Includes b/Shared_Includes index e1dc7ec..e9eb5c7 160000 --- a/Shared_Includes +++ b/Shared_Includes @@ -1 +1 @@ -Subproject commit e1dc7ec10dc9c7e9153a05884e42973a57378a63 +Subproject commit e9eb5c7c06a16b07f348992ee8ba3557cf5884c2