.title DO - grab a line & bump off to dcl (hide command) .ident /V1.0-00.00/ ;+ ; Equated Symbols: ;- $clidef ; define cli request block $cliservdef ; define cli request codes .psect $$data ;+ ; Sys$cli data structures ;- cliblk: .blkb cli$k_reqdesc ; cli request block ;+ ; String descriptors and buffers ;- command_dsc:.long 80 ; user command descriptor .long command_buf ; ... buffer address command_buf:.blkb 80 ; ... buffer command_pmt:.ascid /> / ; dummy prompt ttchan: .blkw 1 ; logical channel to tt ttiosb: .blkq 1 ; iosb for tt i/o operations .psect $$code rd,nowrt,shr,exe,byte .entry main, ^m movaq command_dsc,r2 ; addr of user command dsc movzbl #80,(r2) ; ... reset length pushaw (r2) ; prompt for user command pushaq command_pmt ; ... using command_pmt pushaq (r2) ; ... return command length calls #3,g^lib$get_input ; ... place into command buffer movaq cliblk,r2 ; cli request block addr movb #cli$k_cliserv,cli$b_rqtype(r2) ; request cli service movw #cli$k_command,cli$w_servcod(r2); next cli command to exec movq command_dsc,cli$q_rqdesc(r2) ; command string dsc pushab (r2) ; call cli calls #1,g^sys$cli ; ... to set this up $exit_s #1 ; do cli command .end main