;/////////////////////////////////////////////////// ; ; ECHO. Вывод сообщений на экран ; ;/////////////////////////////////////////////////// cmd_echo: ex de,hl ld a,(hl) ; ком-строка or a jr z,A862E ; без аргументов ex de,hl ; тест аргументов на "on","off" push de ld b,3 ; длина сравнения ld hl,T8C21 ; "ON",0 call COMPARE ; сравнить строки pop de ld a,true ; режим "on" jr z,A864B push de ld b,4 ; длина сравнения ld hl,T8C24 ; "OFF",0 call COMPARE ; сравнить строки pop hl ld a,false ; режим "off" jr z,A864B ; аргументы не "on","off" A8623: ld c,Dss.PChars RST ToDSS jp newline ; Показать тек. режим эха A862E: ld a,(echo_mode) ; флаг echo-режима or a ld de,7 ; индекс "on" jr nz,$+5 ; false ;!FIXIT $ ld de,MAIN_MSG.OFF ; индекс "off" call FMESAGE ; найти строку по индексу ld de,Buffers.bat_params.PRM1; куда (аргумент %1) call ncopy_string ; скопир. строку (с нулем), макс.15 симв. ld de,MAIN_MSG.ECHO ; индекс "Echo is %1" jp ECHO_MESSAGE ; A864B: ld (echo_mode),a ; флаг echo-режима ret ;/////////////////////////////////////////////////// ; ; Команда "ECHO." Вставка пустой строки на экран ; ;/////////////////////////////////////////////////// cmd_echoLN: ex de,hl ld a,(hl) ; ком-строка or a jp z,newline ; без аргументов jr A8623 ; вывести аргументы