DemoN/KDUMP.ASM
2020-12-26 23:59:23 +03:00

247 lines
9.5 KiB
NASM
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

;[]=========================================================================[]
;[] Ž¡à ¡®âª  ª« ¢¨ âãàë ¢ ®ª­¥ ¤ ¬¯  []
;[] v0.10 - ¯®á«¥¤­¨¥ ¨§¬¥­¥­¨ï 31.03.2006 []
;[]=========================================================================[]
KDump:
ld a,b ;á®áâ®ï­¨¥ <Shift><Alt><Ctrl>
and 11110000b
jr z,.L100
;Ž¡à ¡®âª  ª®¬¡¨­ æ¨¨ Ctrl + ᨬ¢®«
.L10 cp 00100000b ;<Ctrl>
jp nz,.L100
ld a,d ;¯®§¨æ¨®­­ë© ª®¤
cp 0x80+0x51 ;<Ctrl>+<End)
jr nz,.L11
ld hl,.Coordinate ;⥪ãé ï ª®«®­ª 
ld a,16
cp (hl)
jr nc,$+4
ld a,32
inc a
ld (hl),a
jp Keyb-3
.L11 cp 0x80+0x57 ;<Ctrl>+<Home)
jp nz,Keyb-3
; jr nz,.L11
ld hl,.Coordinate ;⥪ãé ï ª®«®­ª 
ld a,18
cp (hl)
jr c,$+8
ld a,2
cp (hl)
jr c,$+3
dec a
ld (hl),a
jp Keyb-3
;Ž¡à ¡®âª  ¯®§¨æ¨®­­®£® ª®¤ 
.L100 ld a,e ;ASCII ª®¤
ld (.L200+1),a
ld a,d ;¯®§¨æ¨®­­ë© ª®¤
ld de,(.Coordinate) ;⥪ã騥 ª®®à¤¨­ âë ªãàá®à 
cp 0x56 ;<Right>
jr nz,.L101
ld a,(.Descript+2) ;ª®«-¢® ª®«®­®ª
cp e
ld a,e
jr nz,$+3
xor a
inc a
ld (.Coordinate),a ;⥪ãé ï ª®«®­ª 
jp Keyb-3
.L101 cp 0x54 ;<Left>
jr nz,.L102
ld a,e ;⥪ãé ï ª®«®­ª 
cp 1
jr nz,$+6
ld a,(.Descript+2) ;ª®«-¢® ª®«®­®ª
inc a
dec a
ld (.Coordinate),a ;⥪ãé ï ª®«®­ª 
jp Keyb-3
.L102 ld hl,(.Descript)
cp 0x52 ;<Down>
jr nz,.L103
ld a,d ;⥪ãé ï áâப 
cp l
jr nz,.L104
ld hl,(Dump1)
ld bc,16
add hl,bc
ld (Dump1),hl
jp Keyb-11
.L104 inc a
ld (.Coordinate+1),a
jp Keyb-3
.L103 cp 0x58 ;<Up>
jr nz,.L105
ld a,d ;⥪ãé ï áâப 
cp h
jr nz,.L107
ld hl,(Dump1)
ld bc,16
or a
sbc hl,bc
ld (Dump1),hl
jp Keyb-11
.L107 dec a
ld (.Coordinate+1),a
jp Keyb-3
.L105 cp 0x53 ;<PgDown>
jr nz,.L108
ld a,d ;⥪ãé ï áâப 
cp l
jr nz,.L106
ld hl,(Dump1)
ld bc,16*7
add hl,bc
ld (Dump1),hl
jp Keyb-11
.L106 ld a,l ;­  ¯®á«¥¤­îî áâபã
ld (.Coordinate+1),a
jp Keyb-3
.L108 cp 0x59 ;<PgUp>
jr nz,.L110
ld a,d ;⥪ãé ï áâப 
cp h
jr nz,.L109
ld hl,(Dump1)
ld bc,16*7
or a
sbc hl,bc
ld (Dump1),hl
jp Keyb-11
jr nz,.L109
.L109 ld a,h ;­  ¯¥à¢ãî áâபã
ld (.Coordinate+1),a
jp Keyb-3
.L110 cp 0x57 ;<Home>
jr nz,.L111
ld a,1
ld (.Coordinate),a ;¯¥à¢ ï ª®«®­ª 
jp Keyb-3
.L111 cp 0x51 ;<End>
jr nz,.L200
ld a,(.Descript+2)
ld (.Coordinate),a ;¯¥à¢ ï ª®«®­ª 
jp Keyb-3
;Ž¡à ¡®âª  ASCII ª®¤®¢
.L200 ld a,0 ;ASCII ª®¤
cp 0x0D ;<Enter>
jp nz,Keyb+6
.L201 ld b,0 ;¤«¨­  áâப¨ ¢¢®¤ 
ld hl,0 ;ª®®à¤¨­ âë áâப¨ ¢¢®¤ 
ld a,b
dec a
jr z,.L202
dec a
jr z,.L203
call InputLine ;¢¢®¤  ¤à¥á 
jp c,Keyb-3 ;§ ¢¥à襭¨¥ ¢¢®¤  ¯® <ESC>
call PutAdres
jp c,.L201 ;®è¨¡ª  ¢ ¢¥¤¥­­ëå ¤ ­­ëå
ld de,16 ;ª®«-¢® ¡ ©â ¢ áâப¥
ld a,(.Coordinate+1) ;­®¬¥à áâப¨
sub 0x16 ;ª®®à¤¨­ â  ¯¥à¢®© áâப¨
jr z,$+8
ld b,a
or a
sbc hl,de
djnz $-3
ld (Dump1),hl
jp Keyb-11
.L202 call InputLineEd ;¢¢®¤ ᨬ¢®« 
jp c,Keyb-3 ;§ ¢¥à襭¨¥ ¢¢®¤  ¯® <ESC>
call .L299
ld a,c
sub 18 ;¯¥à¢ ï ª®«®­ª  ¢ ¯®«¥ ¤ ­­ëå
ld c,a
ld a,(InputLine.Buffer)
ld de,256*18+34 ;1-ï ¨ ¯®á«¥¤­ïï+1 ª®«®­ª¨
jr .L204
.L203 call InputLineEd ;¢¢®¤ ª®¤  ᨬ¢®« 
jp c,Keyb-3 ;§ ¢¥à襭¨¥ ¢¢®¤  ¯® <ESC>
call PutCode
jp c,.L201 ;®è¨¡ª  ¢ ¢¥¤¥­­ëå ¤ ­­ëå
call .L299
ld a,c
sub 2 ;¯¥à¢ ï ª®«®­ª  ¢ ¯®«¥ ¤ ­­ëå
ld c,a
ld a,(PutCode.Buffer) ;§ ¯¨á뢠¥¬ë© ¡ ©â
ld de,256*2+18 ;1-ï ¨ ¯®á«¥¤­ïï+1 ª®«®­ª¨
.L204 add hl,bc
call Ld_hl_a
ld a,(InputLine.EntEnd) ;¢¢®¤ § ª®­ç¥­ ENTER
or a
jp nz,Keyb-11 ;¤ 
ld hl,.Coordinate ;⥪ã騥 ª®®à¤¨­ âë ªãàá®à 
inc (hl)
ld a,e ;¯¥à¢ ï ª®«®­ª  ¤ ­­ëå
cp (hl)
jr nz,.L205
ld a,d
ld (hl),a ;¢ ­ ç «® áâப¨ ª®¤ 
inc hl
ld a,0x1D ;¯®á«¥¤­ïï áâப  ¤ ¬¯ 
cp (hl)
jr nz,.L205-1
ld hl,(Dump1) ;ᤢ¨­ãâì ¤ ¬¯
ld bc,16
add hl,bc
ld (Dump1),hl
jr .L205
inc (hl)
.L205 call CursorRes ;¢ëª« ªãàá®à
call Refresh ;®¡­®¢«¥­¨¥ íªà ­ 
call Cursor ;¢ª« ªãàá®à
call CursorSet
jp .L201
.L299 ld de,16 ;ª®«-¢® ¡ ©â ¢ áâப¥
ld hl,(Dump1) ; ¤à¥á ¢ ¯¥à¢®© áâப¥
ld bc,(.Coordinate)
ld a,b
sub 0x16 ;ª®®à¤¨­ â  ¯¥à¢®© áâப¨
ld b,a
ret z
add hl,de
djnz $-1
ret
.Coordinate dw 0x1601 ;ªãàá®à (áâà/ª®« ªãàá®à )
.Descript:
dw 0x161D ;¯¥à¢ ï/¯®á«¥¤­ïï áâப  ®ª­ 
db 33 ;ª®«-¢® ª®«®­®ª
db 0x0E ;N á⮫¡æ  ª®«®­ª¨
db 5 ;è¨à¨­  ª®«®­ª¨
db 0x15,2,0x17,2
db 0x1A,2,0x1C,2
db 0x1F,2,0x21,2
db 0x24,2,0x26,2
db 0x29,2,0x2B,2
db 0x2E,2,0x30,2
db 0x33,2,0x35,2
db 0x38,2,0x3A,2
db 0x3E,1,0x3F,1,0x40,1,0x41,1
db 0x42,1,0x43,1,0x44,1,0x45,1
db 0x46,1,0x47,1,0x48,1,0x49,1
db 0x4A,1,0x4B,1,0x4C,1,0x4D,1