X-Git-Url: https://git.rrq.au/?a=blobdiff_plain;f=compile.asm;h=fe19b203620ee3dab25f407657704c588641fe20;hb=076f00a88873336acf2c7150281f1a8172683fe7;hp=d5fee48e49add74dee2a2fa7941b039f2f769ceb;hpb=4a6f8e4302c3112badc2d23e878f6d28d024cd9b;p=rrq%2Frrqforth.git diff --git a/compile.asm b/compile.asm index d5fee48..fe19b20 100644 --- a/compile.asm +++ b/compile.asm @@ -340,3 +340,25 @@ p_evaluate_stream_BAD: mov rax,qword [rax] ; tfa of most recent word mov qword [rax+16],1 ; set the flags field to 1 next + + WORD p_open_file_quote,'OPEN-FILE"' + ;; ( "name" -- fd ) + dq p_double_quote + dq p_create + dq p_tfa2namez + dq p_literal,0 + dq p_literal,0 + dq sys_open + dq p_exit + + WORD p_load_file_quote,'LOAD-FILE"' + ;; ( "name" -- ) + ;; Create a word for the nominated file for a stream to, + ;; and store that stream pointer, then invoke evaluate-stream + dq p_open_file_quote ; fd + dq p_literal, 15000 ; buffer size + dq p_stream + dq p_dup + dq p_comma + dq p_evaluate_stream + dq p_exit