;Resea 1 Shaptor (Main) ;(C)Resea Project ;Where? org 0x7c00 ;========================= ;Set ;========================= set: .videomode: mov ax,0x4f02 mov bx,0x101 int 0x10 call scrput_resea ;========================= ;Start af ;========================= af_start: call scrput_af af: mov ah,0x00 .lp: mov al,0 int 0x16 cmp al,0 je .lp call scrput_set call scrput ;========================= ;Analysis commands ;========================= cmd_analysis: cmp al,"c" je near cmd_analysis_c_l cmp al,"w" je near cmd_analysis_w_a cmp al,"o" je near cmd_hello jmp cmd_analysis_err ;========================= ;af (other) ;========================= af_next: call scrput_nline call scrput_af jmp af key_rs: mov ah,0x00 mov al,0 int 0x16 ret cmd_analysis_first: call key_rs call scrput_set call scrput ret cmd_analysis_err: call scrput_set call scrput_nline mov al,"e" call scrput mov al,"r" call scrput mov al,"r" call scrput jmp af_next ;========================= ;Analysis commands (close) ;========================= cmd_analysis_c_l: call cmd_analysis_first cmp al,"l" je .cmd_analysis_c_l_o jmp cmd_analysis_err .cmd_analysis_c_l_o: call cmd_analysis_first cmp al,"o" je .cmd_analysis_c_l_o_s jmp cmd_analysis_err .cmd_analysis_c_l_o_s: call cmd_analysis_first cmp al,"s" je .cmd_analysis_c_l_o_s_e jmp cmd_analysis_err .cmd_analysis_c_l_o_s_e: call cmd_analysis_first cmp al,"e" je near cmd_close jmp cmd_analysis_err ;========================= ;Command (close) ;========================= cmd_close: call scrput_nline mov al,"c" call scrput mov al,"l" call scrput mov al,"o" call scrput mov al,"s" call scrput mov al,"e" call scrput mov al,"d" call scrput cli .hlt: hlt jmp .hlt ;========================= ;Analysis commands (wakaran) ;========================= cmd_analysis_w_a: call cmd_analysis_first cmp al,"a" je .cmd_analysis_w_a_k jmp cmd_analysis_err .cmd_analysis_w_a_k: call cmd_analysis_first cmp al,"k" je .cmd_analysis_w_a_k_a jmp cmd_analysis_err .cmd_analysis_w_a_k_a: call cmd_analysis_first cmp al,"a" je .cmd_analysis_w_a_k_a_r jmp cmd_analysis_err .cmd_analysis_w_a_k_a_r: call cmd_analysis_first cmp al,"r" je .cmd_analysis_w_a_k_a_r_a jmp cmd_analysis_err .cmd_analysis_w_a_k_a_r_a: call cmd_analysis_first cmp al,"a" je .cmd_analysis_w_a_k_a_r_a_n jmp cmd_analysis_err .cmd_analysis_w_a_k_a_r_a_n: call cmd_analysis_first cmp al,"n" je near cmd_wakaran jmp cmd_analysis_err ;========================= ;Command (wakaran) ;========================= cmd_wakaran: call scrput_nline mov al,"W" call scrput mov al,"h" call scrput mov al,"y" call scrput mov al,"?" call scrput jmp af_next ;========================= ;Command (hello) ;========================= cmd_hello: call scrput_nline mov al,"h" call scrput mov al,"e" call scrput mov al,"l" call scrput mov al,"l" call scrput mov al,"o" call scrput jmp af_next ;========================= ;Scr Put (Resea 1 Shator) ;========================= scrput_resea: call scrput_set call scrput_nline mov al,"R" call scrput mov al,"e" call scrput mov al,"s" call scrput mov al,"e" call scrput mov al,"a" call scrput mov al," " call scrput mov al,"1" call scrput mov al," " call scrput mov al,"S" call scrput mov al,"h" call scrput mov al,"a" call scrput mov al,"p" call scrput mov al,"t" call scrput mov al,"o" call scrput mov al,"r" call scrput call scrput_nline mov al,"(" call scrput mov al,"C" call scrput mov al,")" call scrput mov al," " call scrput mov al,"R" call scrput mov al,"e" call scrput mov al,"s" call scrput mov al,"e" call scrput mov al,"a" call scrput mov al," " call scrput mov al,"P" call scrput mov al,"r" call scrput mov al,"o" call scrput mov al,"j" call scrput mov al,"e" call scrput mov al,"c" call scrput mov al,"t" call scrput call scrput_nline ret ;========================= ;Scr Put (af -) ;========================= scrput_af: call scrput_set call scrput_nline mov al,"-" call scrput ret ;========================= ;Scr Put ;========================= scrput: int 0x10 ret scrput_set: mov ah,0x0e mov bh,0 mov bl,15 ret scrput_nline: call scrput_set mov al,0x0d call scrput mov al,0x0a call scrput ret times 0x01fe-($-$$) db 0 db 0xaa db 0x55 times 1474048 db 0