X-Git-Url: https://git.rrq.au/?a=blobdiff_plain;f=compile.asm;h=defb1acaa5dcfc25e59eac9acbe315c216b5c450;hb=a503a4916e00a32ef695a7638a3f6f1c3debe862;hp=be5a9088e76a186fe9e6e9c22e09e84ae1f301c1;hpb=273afdbee113cc4d7a14052e54e5a1f7fbe255d8;p=rrq%2Frrqforth.git diff --git a/compile.asm b/compile.asm index be5a908..defb1ac 100644 --- a/compile.asm +++ b/compile.asm @@ -18,7 +18,7 @@ mov qword [rbx+24],rcx ; PFA (length) pop rsi ; chars* (source) lea rdi,[rbx+32] ; (dest) - ;; clear DF + cld p_create_COPY: movsb dec rcx @@ -60,8 +60,8 @@ p_quote_end: WORD p_comma,',' ;; ( v -- ) ;; Put cell value onto the heap and advance "HERE" - dq p_here, p_put, p_literal, 8, p_here, p_put_plus, p_exit - + dq p_here, p_literal, 8, p_get_n_increment, p_put, p_exit + WORD p_Ccomma,'C,' ;; ( c -- ) ;; Put byte value onto the heap and advance "HERE" @@ -193,6 +193,8 @@ p_number_ALPHA: cmp al,'Z' jg p_number_alpha sub al,'A'-10 + cmp rax,qword [p_base_DFA] + jge p_number_BAD jmp p_number_CONSUME p_number_alpha: cmp al,'a' @@ -200,6 +202,8 @@ p_number_alpha: cmp al,'z' jg p_number_BAD sub al,'a'-10 + cmp rax,qword [p_base_DFA] + jge p_number_BAD jmp p_number_CONSUME p_number_BAD: push qword 0