ds_name		db	'MOZ\MUSHI',0

					; RAM0 TEXT_FILE
					; RAM1 FILE_FOR_DISP
					; RAM0 FILE_FOR_SV

look_me:
	 call sub_esi
	 dd 0,0
	 dw	 1,0,640,445,0,35,15,6,0,0



paint_wd:
	 SET_P ndmain
	 SET_P ndgyo
	 SET_P ndktxt
	 WD_LEFT
	 ret

re_paint:
	 ret

be_called:
	 WD_WANT
	 BOX boxdta,1
	MOZI mozidta
	ret

;--------------------------------

retmark:
	call dx_koko
	mov al,[edx]
	cmp al,20h
	je maturet
	 cmp al,')'
	 je maturet


	 mov esi,1[edx]
	 cmp esi,0
	 je maturet


retm1:
	 dec esi
	 mov al,[esi]

	 cmp al,0dh
	 je retm2
	 cmp al,0
	 je retm2
	 cmp al,':'
	 je retm2
	 cmp al,','
	 je retm2
	 cmp al,'.'
	 je retm2
	 cmp al,'?'
	 je retm2
	 cmp al,'!'
	 je retm2
	 cmp al,')'
	 je retm2
	 cmp al,'/'
	 je retm2
	 cmp al,'_'
	 je retm2
	 cmp al,'"'
	 je retm2

	 cmp al,20h
	 jne retm1


retm2:
	inc esi
	call dx_koko2
	mov [edx],esi


	RAM2 edi
	mov ecx,50[edi]	; 解答のサイズ

	add edi,1000
	add edi,ecx


	dec esi
	dec edi

	mov ecx,0
retm3:
	inc esi
	inc edi
	inc ecx

	mov al,[esi]
	mov [edi],al

	cmp al,0dh
	je retm4
	cmp al,0
	je retm4
	cmp al,','
	je retm4
	cmp al,'?'
	je retm4
	cmp al,'!'
	je retm4
	cmp al,':'
	je retm4
	cmp al,'('
	je retm4
	 cmp al,'/'
	 je retm4
	 cmp al,'_'
	 je retm4
	 cmp al,'"'
	 je retm4

	cmp al,'.'
	;je retmck
	je retm4

	cmp al,20h
	je retm4

	jmp retm3

;retmck:
;	mov al,1[esi]
;
;	cmp al,0
;	je retmck1
;	cmp al,0dh
;	je retmck1
;
;	jmp retm3	; 
;
;retmck1:
;;	dec edi
;;	dec ecx

retm4:
	cmp ecx,1
	jle maturet


	mov al,','
	mov [edi],al


	RAM2 edi
	mov eax,50[edi]
	add eax,ecx
	mov 50[edi],eax

	dec ecx

retm5:
	add ecx,2	;( )

	RAM2 edi

	mov eax,30[edi]
	add eax,ecx		;サイズが増えた
	mov 30[edi],eax


	mov eax,40[edi]
;	mov ebx,40[edi]
	mov ebx,eax
	add eax,ecx		;サイズが増えた
	mov 40[edi],eax


	RAM1 edi
	add ebx,edi	; データの尻尾 → esi
	add edi,eax	; データ転送後の尻尾


		call dx_koko2
		mov esi,[edx]

      push ecx
	mov ecx,ebx
	sub ecx,esi
	mov esi,ebx

	std
	rep movsb
	cld

      pop ecx
	sub ecx,2	; ( )
	shl ecx,1


		call dx_koko2
		mov esi,[edx]

	mov al,'('
	mov [esi],al

	inc esi

	mov al,20h
retm6:
	mov [esi],al
	inc esi
	loop retm6

	mov al,')'
	mov [esi],al

;	jmp gyo_ck


gyo_ck:
	call dx_koko2
	mov esi,[edx]


gyo_ck1:
	dec esi
	mov al,[esi]
	cmp al,0
	jne gyo_ck1

	RAM1 edi
	cmp edi,esi
	jg gyo_ck100	; hoken


	mov ebx,0
gyo_ck2:
	inc esi
	inc ebx
	cmp ebx,80
	jg gyo_ckxx

	mov al,[esi]
	cmp al,0dh
	je gyo_ck3
	cmp al,0
	jne gyo_ck2

gyo_ck3:

	 CALL_P ndktxt

		 ret
;--------

gyo_ck100:
	mov esi,edi
	mov ebx,0
	jmp gyo_ck2

;--------

gyo_ckxx:
	cmp al,20h
	je gyo_x2

gyo_x1:
	dec esi
	mov al,[esi]
	cmp al,20h
	jne gyo_x1

gyo_x2:
	dec esi
	mov al,[esi]
	cmp al,20h	; 空白が2個の時は(  ではないか
	jne gyo_yy	; 空白が1個だから､(  ではない

gyo_x3:
	dec esi
	mov al,[esi]
	cmp al,20h	; 空白が終わったので､そこに､挿入
	je gyo_x3

;	cmp al,'('
;	jne gyo_yy	; (  ではなかった

gyo_yy:
	cmp al,'('
	je gyo_y10

	inc esi

gyo_y10:

	RAM2 edi

	mov eax,40[edi]		; RAM1 file_size

	RAM1 edi
	add edi,eax	; file_end

	mov ecx,edi
	sub ecx,esi
	mov esi,edi
	dec esi

	std
	rep movsb
	cld

	inc esi

	mov al,0
	mov [esi],al

	RAM2 edi
	mov ax,20[edi]
	inc ax
	mov 20[edi],ax

	 mov bx,20	;18[edi]	; gyo_su/1 page	 印刷用
	 mov edx,0
	 movzx eax,ax

	 div bx
	 cmp dx,0
	 je owari_bb

	 inc ax

owari_bb:
	 mov 22[edi],ax		; all page_su?

	jmp gyo_ck3


;--------------------------------------------


maturet:
	;call kesu_m
	ret

mouse_in:
	 cmp ch,0
	 je maturet

	 cmp ch,2
	 je left_wd

	 MOU boxdt,1600
	 cmp bx,1
	 jne maturet

;-------------------------------------

	 push eax
		call kesu_m

s_up0:
		RAM2 edi
		mov ax,46[edi]
	;	mov ax,44[edi]
		 dec ax

		 movzx eax,ax
		 mov bx,20
		 mul bx
		 movzx ecx,ax


		RAM2 edi
		mov edi,34[edi]


		cmp cx,0
		je s_up2

s_up1:
		 mov al,[edi]
		 inc edi
		 cmp al,0
		 jne s_up1

		 loop s_up1

s_up2:
	pop eax

	 dec ax
	 movzx eax,ax
	 mov bx,20
	 mov edx,0

	 div bx
	 movzx ecx,dx

		 call dx_zahyo
		 mov [edx],cx	;余りがY_ZAHYO	?
		 mov 2[edx],ax	;商が  X_ZAHYO	?

	push eax

		cmp cx,0
		je s_up4

s_up3:
		 mov al,[edi]
		 inc edi
		 cmp al,0
		 jne s_up3

		 loop s_up3

s_up4:
	pop eax

	movzx ecx,ax

	 mov al,[edi]
	 cmp al,0		; 行の最後
	 je maturet
	 cmp al,0dh		; 行の最後
	 je maturet

s_up5:
	inc edi

	 mov al,[edi]
	 cmp al,0		; 行の最後
	 je maturet
	 cmp al,0dh		; 行の最後
	 je maturet

	dec ecx
	cmp ecx,0
	jle s_upend

	jmp s_up5


s_upend:

	mov al,[edi]
	 call dx_koko
	 mov [edx],al
;	 inc edi
	 mov 1[edx],edi

	jmp retmark



dx_koko:
	 call sub_edx
	 db	0
	 dd	0

dx_koko2:
	 call sub_edx
	 dd	0

dx_zahyo:
	 call sub_edx
	 dw	0,0


boxdt:
	call sub_edi
		dw	20,8,20,0,0,0,20,2,0,0
		dw	20,8,20,8,0,0,20,2,0,0
		dw	20,8,20,16,0,0,20,2,0,0
		dw	20,8,20,24,0,0,20,2,0,0
		dw	20,8,20,32,0,0,20,2,0,0
		dw	20,8,20,40,0,0,20,2,0,0
		dw	20,8,20,48,0,0,20,2,0,0
		dw	20,8,20,56,0,0,20,2,0,0
		dw	20,8,20,64,0,0,20,2,0,0
		dw	20,8,20,72,0,0,20,2,0,0

		dw	20,8,20,80,0,0,20,2,0,0
		dw	20,8,20,88,0,0,20,2,0,0
		dw	20,8,20,96,0,0,20,2,0,0
		dw	20,8,20,104,0,0,20,2,0,0
		dw	20,8,20,112,0,0,20,2,0,0
		dw	20,8,20,120,0,0,20,2,0,0
		dw	20,8,20,128,0,0,20,2,0,0
		dw	20,8,20,136,0,0,20,2,0,0
		dw	20,8,20,144,0,0,20,2,0,0
		dw	20,8,20,152,0,0,20,2,0,0

		dw	20,8,20,160,0,0,20,2,0,0
		dw	20,8,20,168,0,0,20,2,0,0
		dw	20,8,20,176,0,0,20,2,0,0
		dw	20,8,20,184,0,0,20,2,0,0
		dw	20,8,20,192,0,0,20,2,0,0
		dw	20,8,20,200,0,0,20,2,0,0
		dw	20,8,20,208,0,0,20,2,0,0
		dw	20,8,20,216,0,0,20,2,0,0
		dw	20,8,20,224,0,0,20,2,0,0
		dw	20,8,20,232,0,0,20,2,0,0

		dw	20,8,20,240,0,0,20,2,0,0
		dw	20,8,20,248,0,0,20,2,0,0
		dw	20,8,20,256,0,0,20,2,0,0
		dw	20,8,20,264,0,0,20,2,0,0
		dw	20,8,20,272,0,0,20,2,0,0
		dw	20,8,20,280,0,0,20,2,0,0
		dw	20,8,20,288,0,0,20,2,0,0
		dw	20,8,20,296,0,0,20,2,0,0
		dw	20,8,20,304,0,0,20,2,0,0
		dw	20,8,20,312,0,0,20,2,0,0

		dw	20,8,20,320,0,0,20,2,0,0
		dw	20,8,20,328,0,0,20,2,0,0
		dw	20,8,20,336,0,0,20,2,0,0
		dw	20,8,20,344,0,0,20,2,0,0
		dw	20,8,20,352,0,0,20,2,0,0
		dw	20,8,20,360,0,0,20,2,0,0
		dw	20,8,20,368,0,0,20,2,0,0
		dw	20,8,20,376,0,0,20,2,0,0
		dw	20,8,20,384,0,0,20,2,0,0
		dw	20,8,20,392,0,0,20,2,0,0

		dw	20,8,20,400,0,0,20,2,0,0
		dw	20,8,20,408,0,0,20,2,0,0
		dw	20,8,20,416,0,0,20,2,0,0
		dw	20,8,20,424,0,0,20,2,0,0
		dw	20,8,20,432,0,0,20,2,0,0
		dw	20,8,20,440,0,0,20,2,0,0
		dw	20,8,20,448,0,0,20,2,0,0
		dw	20,8,20,456,0,0,20,2,0,0
		dw	20,8,20,464,0,0,20,2,0,0
		dw	20,8,20,472,0,0,20,2,0,0

		dw	20,8,20,480,0,0,20,2,0,0
		dw	20,8,20,488,0,0,20,2,0,0
		dw	20,8,20,496,0,0,20,2,0,0
		dw	20,8,20,504,0,0,20,2,0,0
		dw	20,8,20,512,0,0,20,2,0,0
		dw	20,8,20,520,0,0,20,2,0,0
		dw	20,8,20,528,0,0,20,2,0,0
		dw	20,8,20,536,0,0,20,2,0,0
		dw	20,8,20,544,0,0,20,2,0,0
		dw	20,8,20,552,0,0,20,2,0,0

		dw	20,8,20,560,0,0,20,2,0,0
		dw	20,8,20,568,0,0,20,2,0,0
		dw	20,8,20,576,0,0,20,2,0,0
		dw	20,8,20,584,0,0,20,2,0,0
		dw	20,8,20,592,0,0,20,2,0,0
		dw	20,8,20,600,0,0,20,2,0,0
		dw	20,8,20,608,0,0,20,2,0,0
		dw	20,8,20,616,0,0,20,2,0,0
		dw	20,8,20,624,0,0,20,2,0,0
		dw	20,7,20,632,0,0,20,2,0,0

;------------------------------------------------


left_wd:
	 BOX boxdt1,1
	 WD_LEFT
	GO_P ndmain


kesu_m:
	 M_KESUMS

ck_mouse:
	 M_KENMS


boxdta:
	call sub_edi
		dw	1,385,32,35*7,-35,0,0,2,4,0

mozidta:
	call sub_edi
		   dw	0,15,35*7,-35,0,0,1
                   db    '作成の終了は右クリック',0
                   dw    0,0


boxdt1:
	call sub_edi
		dw	1,640,480,0,-35,0,0,0,0,0


p_call:
	 M_P_CALL
p_set:
	 M_P_SET


ndmain:
	 call sub_edi
	 dw	 ?
	 db 'MKTEST',0

ndgyo:
	 call sub_edi
	 dw	 ?
	 db 'GYO_CK',0

ndktxt:
	 call sub_edi
	 dw	 ?
	 db 'K_TXT',0

