]> cloudbase.mooo.com Git - z180-stamp.git/blobdiff - z180/ddtz.180
catch weird escape sequence: 'SS3 F' --> KEY_END
[z180-stamp.git] / z180 / ddtz.180
index aa4e97792052596e1b0df32328b4b7b77dac341b..8407a1cd9d8cb18d4fa19fcd12b0d950dc87f64a 100644 (file)
@@ -958,11 +958,11 @@ do_op_mod:
        jr l0b58h\r
 \r
 ; divide x/y\r
-;     x: hl\r
-;     y: de\r
+;     hl: x\r
+;     de: y\r
 ;   return:\r
-;     x/y: hl\r
-;     rem: de\r
+;     hl: q  (x/y)\r
+;     de: r  (x%y)\r
 \r
 DIV_HL_DE:\r
        push    bc\r
@@ -971,6 +971,11 @@ DIV_HL_DE:
        ld      c,l\r
        ld      hl,0            ;r = 0\r
        ld      a,16            ;count\r
+\r
+;  de: x   (x shifted out, q shifted in)\r
+;  bc: y\r
+;  hl: r   (initially 0)\r
+\r
 l0b89h:\r
        ex      de,hl           ;x\r
        add     hl,hl           ;x <<= 1\r
@@ -986,7 +991,7 @@ l0b89h:
 div_no_restore:\r
        dec     a\r
        jr      nz,l0b89h\r
-       ex      de,hl\r
+       ex      de,hl           ;hl: q   de: r\r
        pop     bc\r
        ret\r
 \r
@@ -1224,7 +1229,7 @@ l0ce4h:
 l0ce9h:\r
        ld      hl,0\r
 l0cech:\r
-       call    get.decdigit\r
+       call    get.bindigit\r
 l0cefh:\r
        inc     de\r
        jr      c,l0cf8h\r
@@ -1234,7 +1239,7 @@ l0cefh:
 l0cf8h:\r
        cp      '"'\r
        jp      nz,ERROR\r
-       call    get.decdigit\r
+       call    get.bindigit\r
        jr      nc,l0cefh\r
        or      a\r
        ret\r
@@ -2192,294 +2197,294 @@ b_0x132A_start:
        DC      'F'\r
        DB      0\r
 b_0x136C_start:\r
-       if ROMSYS\r
-        defb 000h\r
-        defw uromen\r
+       if      ROMSYS\r
+        defb   000h\r
+        defw   uromen\r
        endif\r
        if CPU_Z180\r
-       defb 000h\r
-       defw ucbar\r
-       defb 000h\r
-       defw ubbr\r
+       defb    000h\r
+       defw    ucbar\r
+       defb    000h\r
+       defw    ubbr\r
        else\r
-        defb 000h\r
-        defw ubnk\r
+        defb   000h\r
+        defw   ubnk\r
        endif\r
-       defb 003h\r
-       defw reg.c2\r
-       defb 003h\r
-       defw reg.e2\r
-       defb 003h\r
-       defw reg.l2\r
-       defb 003h\r
-       defw reg.c\r
-       defb 003h\r
-       defw reg.e\r
-       defb 003h\r
-       defw reg.l\r
-       defb 000h\r
-       defw reg.a2\r
-       defb 000h\r
-       defw reg.b2\r
-       defb 000h\r
-       defw reg.c2\r
-       defb 000h\r
-       defw reg.d2\r
-       defb 000h\r
-       defw reg.e2\r
-       defb 000h\r
-       defw reg.h2\r
-       defb 000h\r
-       defw reg.l2\r
-       defb 000h\r
-       defw reg.a\r
-       defb 000h\r
-       defw reg.b\r
-       defb 000h\r
-       defw reg.c\r
-       defb 000h\r
-       defw reg.d\r
-       defb 000h\r
-       defw reg.e\r
-       defb 000h\r
-       defw reg.h\r
-       defb 000h\r
-       defw reg.l\r
-       defb 003h\r
-       defw reg.ix\r
-       defb 003h\r
-       defw reg.iy\r
-       defb 003h\r
-       defw reg.sp\r
-       defb 003h\r
-       defw reg.pc\r
-       defb 003h\r
-       defw reg.ix\r
-       defb 003h\r
-       defw reg.iy\r
-       defb 003h\r
-       defw reg.sp\r
-       defb 003h\r
-       defw reg.pc\r
-       defb 000h\r
-       defw reg.i\r
-       defb 000h\r
-       defw reg.f2\r
-       defb 000h\r
-       defw reg.f\r
+       defb    003h\r
+       defw    reg.c2\r
+       defb    003h\r
+       defw    reg.e2\r
+       defb    003h\r
+       defw    reg.l2\r
+       defb    003h\r
+       defw    reg.c\r
+       defb    003h\r
+       defw    reg.e\r
+       defb    003h\r
+       defw    reg.l\r
+       defb    000h\r
+       defw    reg.a2\r
+       defb    000h\r
+       defw    reg.b2\r
+       defb    000h\r
+       defw    reg.c2\r
+       defb    000h\r
+       defw    reg.d2\r
+       defb    000h\r
+       defw    reg.e2\r
+       defb    000h\r
+       defw    reg.h2\r
+       defb    000h\r
+       defw    reg.l2\r
+       defb    000h\r
+       defw    reg.a\r
+       defb    000h\r
+       defw    reg.b\r
+       defb    000h\r
+       defw    reg.c\r
+       defb    000h\r
+       defw    reg.d\r
+       defb    000h\r
+       defw    reg.e\r
+       defb    000h\r
+       defw    reg.h\r
+       defb    000h\r
+       defw    reg.l\r
+       defb    003h\r
+       defw    reg.ix\r
+       defb    003h\r
+       defw    reg.iy\r
+       defb    003h\r
+       defw    reg.sp\r
+       defb    003h\r
+       defw    reg.pc\r
+       defb    003h\r
+       defw    reg.ix\r
+       defb    003h\r
+       defw    reg.iy\r
+       defb    003h\r
+       defw    reg.sp\r
+       defb    003h\r
+       defw    reg.pc\r
+       defb    000h\r
+       defw    reg.i\r
+       defb    000h\r
+       defw    reg.f2\r
+       defb    000h\r
+       defw    reg.f\r
 CMD.S:\r
-       ld hl,(lst.S)\r
-       call get_lastarg_def\r
+       ld      hl,(lst.S)\r
+       call    get_lastarg_def\r
 l13d8h:\r
-       ld (lst.S),hl\r
-       call out.hl.@\r
-       call OUTBL\r
+       ld      (lst.S),hl\r
+       call    out.hl.@\r
+       call    OUTBL\r
        comst\r
-       ld a,(hl)\r
+       ld      a,(hl)\r
        comend\r
-       call out.hex\r
-       call outbl2\r
-       call INLINE\r
-       call SKIPBL\r
-       inc hl\r
-       jr z,l13d8h\r
-       dec hl\r
-       inc de\r
-       cp '.'\r
-       jp z,assert_eol\r
-       cp '-'\r
-       jr nz,l1406h\r
-       ld a,(de)\r
-       or a\r
-       dec hl\r
-       jr z,l13d8h\r
-       inc hl\r
+       call    out.hex\r
+       call    outbl2\r
+       call    INLINE\r
+       call    SKIPBL\r
+       inc     hl\r
+       jr      z,l13d8h\r
+       dec     hl\r
+       inc     de\r
+       cp      '.'\r
+       jp      z,assert_eol\r
+       cp      '-'\r
+       jr      nz,l1406h\r
+       ld      a,(de)\r
+       or      a\r
+       dec     hl\r
+       jr      z,l13d8h\r
+       inc     hl\r
 l1406h:\r
-       dec de\r
-       call get_bytes_m\r
-       jr l13d8h\r
+       dec     de\r
+       call    get_bytes_m\r
+       jr      l13d8h\r
 \r
 CMD.@:\r
-       call assert_eol\r
-       ld hl,MSG_at\r
-       ld de,offs.@\r
-       ld c,001h\r
-       jp l1279h\r
+       call    assert_eol\r
+       ld      hl,MSG_at\r
+       ld      de,offs.@\r
+       ld      c,001h\r
+       jp      l1279h\r
 MSG_at:\r
        dc      '@'\r
 \r
 CMD.I:\r
-       ld hl,CMD.I\r
-       ld (CMD_RPT),hl\r
-       ld hl,(lst.IP)\r
-       call get_lastarg_def\r
-       ld (lst.IP),hl\r
-       ld b,h\r
-       ld c,l\r
+       ld      hl,CMD.I\r
+       ld      (CMD_RPT),hl\r
+       ld      hl,(lst.IP)\r
+       call    get_lastarg_def\r
+       ld      (lst.IP),hl\r
+       ld      b,h\r
+       ld      c,l\r
        if CPU_Z180\r
-       ld a,b\r
-       or a\r
-       jr nz,l1442h\r
-       ld a,c\r
-       ld hl,ucbar\r
-       cp cbar\r
-       jr z,l143fh\r
-       ld hl,ubbr\r
-       cp bbr\r
-       jr nz,l1442h\r
+        ld     a,b\r
+        or     a\r
+        jr     nz,l1442h\r
+        ld     a,c\r
+        ld     hl,ucbar\r
+        cp     cbar\r
+        jr     z,l143fh\r
+        ld     hl,ubbr\r
+        cp     bbr\r
+        jr     nz,l1442h\r
 l143fh:\r
-       ld a,(hl)\r
-       jr l1444h\r
+        ld     a,(hl)\r
+        jr     l1444h\r
 l1442h:\r
        endif\r
-       in a,(c)\r
+       in      a,(c)\r
 l1444h:\r
-       push af\r
-       call out.hex\r
-       call outbl4\r
-       pop af\r
-       call out.bin.b\r
-       jp CRLF\r
+       push    af\r
+       call    out.hex\r
+       call    outbl4\r
+       pop     af\r
+       call    out.bin.b\r
+       jp      CRLF\r
 CMD.O:\r
-       ld hl,CMD.O\r
-       ld (CMD_RPT),hl\r
-       ld hl,(lst.OD)\r
-       call get_arg_def\r
-       ld a,l\r
-       ld (lst.OD),a\r
-       push af\r
-       call skip_to_nextarg\r
-       ld hl,(lst.OP)\r
-       call get_lastarg_def\r
-       ld (lst.OP),hl\r
-       ld b,h\r
-       ld c,l\r
+       ld      hl,CMD.O\r
+       ld      (CMD_RPT),hl\r
+       ld      hl,(lst.OD)\r
+       call    get_arg_def\r
+       ld      a,l\r
+       ld      (lst.OD),a\r
+       push    af\r
+       call    skip_to_nextarg\r
+       ld      hl,(lst.OP)\r
+       call    get_lastarg_def\r
+       ld      (lst.OP),hl\r
+       ld      b,h\r
+       ld      c,l\r
        if CPU_Z180\r
-       ld a,b\r
-       or a\r
-       jr nz,l1489h\r
-       ld a,c\r
-       ld hl,ucbar\r
-       cp cbar\r
-       jr z,l148dh\r
-       ld hl,ubbr\r
-       cp bbr\r
-       jr z,l148dh\r
-       cp cbr\r
-       jp z,ERROR\r
+        ld     a,b\r
+        or     a\r
+        jr     nz,l1489h\r
+        ld     a,c\r
+        ld     hl,ucbar\r
+        cp     cbar\r
+        jr     z,l148dh\r
+        ld     hl,ubbr\r
+        cp     bbr\r
+        jr     z,l148dh\r
+        cp     cbr\r
+        jp     z,ERROR\r
 l1489h:\r
        endif\r
-       pop af\r
-       out (c),a\r
+       pop     af\r
+       out     (c),a\r
        ret\r
        if CPU_Z180\r
 l148dh:\r
-       pop af\r
-       ld (hl),a\r
-       ret\r
+        pop    af\r
+        ld     (hl),a\r
+        ret\r
        endif\r
 \r
 CMD.V:\r
-       call get_arg3           ;1490   get from, size, to\r
+       call    get_arg3                ;1490   get from, size, to\r
 cmp_mem:\r
-       push bc\r
+       push    bc\r
        comst\r
-       ld a,(de)\r
-       ld b,(hl)\r
+        ld     a,(de)\r
+        ld     b,(hl)\r
        comend\r
-       cp b\r
-       jr z,l14bah\r
-       ld c,a\r
-       call out.hl.@\r
-       call OUTBL\r
-       ld a,b\r
-       call out.hex\r
-       call outbl2\r
-       ld a,c\r
-       call out.hex\r
-       call OUTBL\r
-       ex de,hl\r
-       call out.hl.@\r
-       ex de,hl\r
-       call CRLF\r
+       cp      b\r
+       jr      z,l14bah\r
+       ld      c,a\r
+       call    out.hl.@\r
+       call    OUTBL\r
+       ld      a,b\r
+       call    out.hex\r
+       call    outbl2\r
+       ld      a,c\r
+       call    out.hex\r
+       call    OUTBL\r
+       ex      de,hl\r
+       call    out.hl.@\r
+       ex      de,hl\r
+       call    CRLF\r
 l14bah:\r
-       pop bc\r
-       inc hl\r
-       inc de\r
-       dec bc\r
-       ld a,b\r
-       or c\r
-       jr nz,cmp_mem\r
+       pop     bc\r
+       inc     hl\r
+       inc     de\r
+       dec     bc\r
+       ld      a,b\r
+       or      c\r
+       jr      nz,cmp_mem\r
        ret\r
 \r
 CMD.M:\r
-       ld a,(de)\r
-       cp 'V'\r
-       jr nz,bm_nv\r
-       inc de\r
+       ld      a,(de)\r
+       cp      'V'\r
+       jr      nz,bm_nv\r
+       inc     de\r
 bm_nv:\r
-       push af                 ;14c9   save 'V' flag\r
-       call get_arg3\r
-       push hl\r
-       push de\r
-       push bc\r
-       call CP.HL.DE\r
-       jr nc,bm_mvdown\r
-       add hl,bc\r
-       ex de,hl\r
-       add hl,bc\r
-       ex de,hl\r
-       dec hl\r
-       dec de\r
+       push    af                      ;14c9   save 'V' flag\r
+       call    get_arg3\r
+       push    hl\r
+       push    de\r
+       push    bc\r
+       call    CP.HL.DE\r
+       jr      nc,bm_mvdown\r
+       add     hl,bc\r
+       ex      de,hl\r
+       add     hl,bc\r
+       ex      de,hl\r
+       dec     hl\r
+       dec     de\r
        comst\r
-       lddr\r
+        lddr\r
        comend\r
-       jr bm_done\r
+       jr      bm_done\r
 bm_mvdown:\r
        comst\r
        ldir\r
        comend\r
 bm_done:\r
-       pop bc\r
-       pop de\r
-       pop hl\r
-       pop af\r
-       jr z,cmp_mem            ;14ed   validate?\r
+       pop     bc\r
+       pop     de\r
+       pop     hl\r
+       pop     af\r
+       jr      z,cmp_mem               ;14ed   validate?\r
        ret\r
 CMD.H:\r
-       call EXPR\r
-       jp c,l173ch\r
-       call skip_to_nextarg\r
-       push hl\r
-       call EXPR\r
-       push af\r
-       call assert_eol\r
-       pop af\r
-       ex de,hl\r
-       pop hl\r
-       jr c,l1511h\r
-       push hl\r
-       push de\r
-       add hl,de\r
-       call l1511h\r
-       pop de\r
-       pop hl\r
-       and a\r
-       sbc hl,de\r
+       call    EXPR\r
+       jp      c,l173ch                ;no parameters, print High and Max\r
+       call    skip_to_nextarg\r
+       push    hl\r
+       call    EXPR\r
+       push    af\r
+       call    assert_eol\r
+       pop     af\r
+       ex      de,hl\r
+       pop     hl\r
+       jr      c,l1511h\r
+       push    hl\r
+       push    de\r
+       add     hl,de\r
+       call    l1511h\r
+       pop     de\r
+       pop     hl\r
+       and     a\r
+       sbc     hl,de\r
 l1511h:\r
-       call out.hl             ;1511   val\r
-       call outbl2\r
-       call sub_0928h          ;1517   -val\r
-       call outbl4\r
-       call out.hl.dec         ;151d   dec\r
-       call outbl2\r
-       call out.hl.decm        ;1523   -dec\r
-       call outbl4\r
-       call out.bin.w          ;1529   bin\r
-       call outbl2\r
-       ld a,l\r
-       call out.ascii\r
-       jp CRLF\r
+       call    out.hl                  ;1511   val\r
+       call    outbl2\r
+       call    sub_0928h               ;1517   -val\r
+       call    outbl4\r
+       call    out.hl.dec              ;151d   dec\r
+       call    outbl2\r
+       call    out.hl.decm             ;1523   -dec\r
+       call    outbl4\r
+       call    out.bin.w               ;1529   bin\r
+       call    outbl2\r
+       ld      a,l\r
+       call    out.ascii\r
+       jp      CRLF\r
 \r
 CMD.Q:\r
        ld a,(de)\r
@@ -6240,9 +6245,9 @@ vartabe:
 \r
 ;------------------------------------------\r
 \r
-       .phase  sysram_start+stacksize\r
+       .phase  sysram_start+bs$stack$size\r
 $stack:\r
-$stcka equ     $ - stacksize\r
+$stcka equ     $ - bs$stack$size\r
 \r
 curphse        defl    $\r
        .dephase\r