ReC98/th05_memchk.asm

116 lines
2.7 KiB
NASM
Raw Normal View History

;
; +-------------------------------------------------------------------------+
; | This file has been generated by The Interactive Disassembler (IDA) |
; | Copyright (c) 2009 by Hex-Rays, <support@hex-rays.com> |
; +-------------------------------------------------------------------------+
;
; Input MD5 : 5E401A5CD3D8D42DC67130359C42A7CF
; File Name : th05/ZUN.COM:MEMCHK (-M)
; Format : MS-DOS COM-file
; Base Address: 0h Range: 100h-237h Loaded length: 137h
; OS type : MS DOS
; Application type: Executable 16bit
.186
.model tiny
.code
org 100h
; =============== S U B R O U T I N E =======================================
public start
start proc near
mov bx, 567
shr bx, 4
add bx, 17
mov ah, 4Ah
int 21h ; DOS - 2+ - ADJUST MEMORY BLOCK SIZE (SETBLOCK)
; ES = segment address of block to change
; BX = new size in paragraphs
shl bx, 4
mov sp, bx
mov dx, offset aVavVVGbgcgugbg ; "<22><><EFBFBD>Ȃ<EFBFBD><C882>̃<EFBFBD><CC83>C<EFBFBD><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󂫗e<F382AB97>ʂ<EFBFBD> $"
mov ah, 9
int 21h ; DOS - PRINT STRING
; DS:DX -> string terminated by "$"
mov bx, 0FFFFh
mov ah, 48h
int 21h ; DOS - 2+ - ALLOCATE MEMORY
; BX = number of 16-byte paragraphs desired
mov di, offset aVVVVKctgvVIVVv ; "<22><><EFBFBD><EFBFBD><EFBFBD>ł͊撣<CD8A><E692A3><EFBFBD>ĉ<EFBFBD><C489><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˁ<EFBFBD>\r\n$"
cmp bx, 32500
jnb short loc_131
mov di, offset aVVxvVBagbgvgkv ; "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƁA<C681><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD><C882><EFBFBD><EFBFBD><EFBFBD>\r\n<><6E><EFBFBD>̃Q"...
mov byte_236, 255
loc_131:
xor dx, dx
mov ax, 16
mul bx
mov cx, 10000
div cx
mov cx, 10
call sub_15F
mov ax, dx
mov cx, 1000
call sub_15F
mov dx, offset aGogcggvVV ; " <20>o<EFBFBD>C<EFBFBD>g<EFBFBD>ł<EFBFBD><C582><EFBFBD>\r\n$"
mov ah, 9
int 21h ; DOS - PRINT STRING
; DS:DX -> string terminated by "$"
mov dx, di
mov ah, 9
int 21h ; DOS - PRINT STRING
; DS:DX -> string terminated by "$"
mov ah, 4Ch
mov al, byte_236
int 21h ; DOS - 2+ - QUIT WITH EXIT CODE (EXIT)
start endp ; AL = exit code
; =============== S U B R O U T I N E =======================================
sub_15F proc near
pushf
pusha
mov bx, ax
mov si, 10000
loc_166:
xor dx, dx
mov ax, bx
div si
mov bx, dx
cmp cx, si
jb short loc_17B
mov dl, al
add dl, '0'
mov ah, 2
int 21h ; DOS - DISPLAY OUTPUT
; DL = character to send to standard output
loc_17B:
xor dx, dx
mov ax, si
mov si, 10
div si
mov si, ax
cmp si, 0
jnz short loc_166
popa
popf
retn
sub_15F endp
; ---------------------------------------------------------------------------
aVavVVGbgcgugbg db '<27><><EFBFBD>Ȃ<EFBFBD><C882>̃<EFBFBD><CC83>C<EFBFBD><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󂫗e<F382AB97>ʂ<EFBFBD> $'
aGogcggvVV db ' <20>o<EFBFBD>C<EFBFBD>g<EFBFBD>ł<EFBFBD><C582><EFBFBD>',0Dh,0Ah,'$'
aVVxvVBagbgvgkv db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƁA<C681><41><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȃ<EFBFBD><C882><EFBFBD><EFBFBD><EFBFBD>',0Dh,0Ah
db '<27><><EFBFBD>̃Q<CC83>[<5B><><EFBFBD>͋󂫃<CD8B><F382AB83>C<EFBFBD><43><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 520000 <20>o<EFBFBD>C<EFBFBD>g<EFBFBD>͕K<CD95>v<EFBFBD>ł<EFBFBD><C582><EFBFBD>',0Dh,0Ah,'$'
aVVVVKctgvVIVVv db '<27><><EFBFBD><EFBFBD><EFBFBD>ł͊撣<CD8A><E692A3><EFBFBD>ĉ<EFBFBD><C489><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˁ<EFBFBD>',0Dh,0Ah,'$'
byte_236 db 0
end start