home *** CD-ROM | disk | FTP | other *** search
- ;-------------------------------------------------------;
- ; ;
- ; Txt2Exe V4.00 ;
- ; - ╘┤│╠╨≥ ╤╒╔½▒φ│╠╨≥ V1.00 ;
- ; ;
- ; │╠╩╜╫≈╒▀:═⌠└±╚² ▒ú┴⌠╦∙╙╨░µ╚¿! 1995.6 ;
- ; ;
- ; ╥╘╧┬┤·┬δ╓╨╙╨╣╪░µ╚¿╡─╨┼╧ó▓╗╡├╨▐╕─,╥╘╧┬┤·┬δ▓╗╡├ ;
- ; ╙├╙┌╔╠╥╡─┐╡─íú ;
- ; ;
- ; ▒╛│╠╨≥╓╗╘┌╬≈╬─╗≥╓º│╓╓▒╜╙╨┤╞┴╡─║║╫╓╧╡═│╧┬╘╦╨╨ ;
- ; ;
- ; ▒╛│╠╨≥╙ª╫¬╗╗╬¬COM╨╬╩╜╘┘╘╦╨╨, ╜¿╥Θ╙├╥╘╧┬▓╜╓Φ╓╞╫≈: ;
- ; ;
- ; tasm color ;
- ; tlink color /t ;
- ; ;
- ;-------------------------------------------------------;
-
- ; ╨▐╕─╡»│÷╤╒╔½▒φ╡─╚╚╝ⁿ╟δ╨▐╕─╧┬├µ╥╗╨╨╓╨í░EQUí▒╓«║≤╡─╖√║┼
- ;
- ; └²╚τ, ╜½╚╚╝ⁿ╨▐╕─╬¬ Alt C ╝ⁿ, ╧┬├µ╥╗╨╨┐┤╞≡└┤┐╔─▄╧≤╒Γ╤∙:
- ; HotKey EQU kb_Alt_C
- ;
- ; ╨▐╕─═Ω╚╚╝ⁿ║≤,╟δ╜½╠ß╩╛╨┼╧ó╓╨╡─╚╚╝ⁿ├√═¼▓╜╨▐╕─
-
- HotKey EQU kb_Alt_C ; ╚╚╝ⁿ╟δ╨▐╕─▒╛╨╨í░EQUí▒╓«║≤╡─╖√║┼
-
- kb_Alt_Z EQU 2c00H ; ╘ñ╧╚╢¿╥σ┴╦╝╕╕÷╚╚╝ⁿ╡─╖√║┼╣⌐╤í╙├
- kb_Alt_X EQU 2d00H
- kb_Alt_C EQU 2e00H
-
- videoSeg EQU 0b800H ; ▓╩╧╘╩╙╞╡╗║│σ╟°╢╬╓╖
-
- code segment
- assume cs:code,ds:code
-
- org 100H
-
- start:
- jmp begin
-
- vect16 DD 0
-
- isr16:
- cmp ah,0
- jz @ir8
- cmp ah,10H
- jz @ir8
- cmp ax,'═⌠'
- jnz @ir6
- mov ax,'└±'
- mov bx,'╚²'
- mov cx,'╤╒'
- mov dx,'ɫ'
- iret
- @ir6:
- jmp cs:vect16
- @ir8:
- pushf
- call cs:vect16
- cmp ax,HotKey
- je @ir10
- iret
- @ir10:
- sti
- push es
- push ds
- push si
- push di
- push cx
- push bx
-
- mov ax,1003H ; ╔Φ╓├╬¬╕▀┴┴╢╚
- mov bh,0
- int 10H
-
- mov ax,cs ; ▒ú┤µ╞┴─╗╫ε╢Ñ╢╦─┌╚▌
- mov es,ax
- mov ax,videoSeg
- mov ds,ax
- mov si,0
- mov di,offset screenBuffer
- mov cx,160
- cld
- rep movsb
-
- mov ax,cs ; ╗¡│÷╤╒╔½▒φ
- mov ds,ax
- mov ax,videoSeg
- mov es,ax
- mov si,offset colorTable
- mov di,0
- mov cx,160
- rep movsb
-
- mov ah,0 ; ╡├╡╜░┤╝ⁿ
- pushf
- call vect16
- push ax
-
- mov di,0 ; ╗╓╕┤╞┴─╗─┌╚▌
- mov si,offset screenBuffer
- mov cx,160
- rep movsb
-
- pop ax
-
- pop bx
- pop cx
- pop di
- pop si
- pop ds
- pop es
- iret
-
- screenBuffer db 160 dup(0)
- colorTable db 20H,00H,20H,00H,'0',0fH,20H,00H,20H,00H
- db 20H,10H,20H,10H,'1',1fH,20H,10H,20H,10H
- db 20H,20H,20H,20H,'2',2fH,20H,20H,20H,20H
- db 20H,30H,20H,30H,'3',3fH,20H,30H,20H,30H
- db 20H,40H,20H,40H,'4',4fH,20H,40H,20H,40H
- db 20H,50H,20H,50H,'5',5fH,20H,50H,20H,50H
- db 20H,60H,20H,60H,'6',6fH,20H,60H,20H,60H
- db 20H,70H,20H,70H,'7',7fH,20H,70H,20H,70H
- db 20H,80H,20H,80H,'8',8fH,20H,80H,20H,80H
- db 20H,90H,20H,90H,'9',9fH,20H,90H,20H,90H
- db 20H,0a0H,20H,0a0H,'a',0a0H,20H,0a0H,20H,0a0H
- db 20H,0b0H,20H,0b0H,'b',0b0H,20H,0b0H,20H,0b0H
- db 20H,0c0H,20H,0c0H,'c',0c0H,20H,0c0H,20H,0c0H
- db 20H,0d0H,20H,0d0H,'d',0d0H,20H,0d0H,20H,0d0H
- db 20H,0e0H,20H,0e0H,'e',0e0H,20H,0e0H,20H,0e0H
- db 20H,0f0H,20H,0f0H,'f',0f0H,20H,0f0H,20H,0f0H
-
- msgCopyright db 0dH,'ColorTable V1.00 '
- db '(C)Copyright by LiSan Wang. '
- db '1995.6 All rights reserved. ',0dH,0aH,'$'
-
- ; ╚τ╣√─π╨▐╕─┴╦╚╚╝ⁿ, ╟δ╜½╥╘╧┬╠ß╩╛╓╨╡─╚╚╝ⁿ╠ß╩╛╥▓═¼╩▒╨▐╕─
-
- msgOK db 'Install OK ---> Press Alt C$'
- msgInstall db 07H,'Has installed. $'
-
- begin:
- mov dx,offset msgCopyright ; ╧╘╩╛░µ╚¿╨┼╧ó
- mov ah,9
- int 21H
- mov ax,'═⌠' ; ╝∞▓Γ╩╟╖±╥╤╛¡╫ñ┴⌠
- int 16H
- cmp ax,'└±'
- jnz @bc10
- cmp bx,'╚²'
- jnz @bc10
- cmp cx,'╤╒'
- jnz @bc10
- cmp dx,'ɫ'
- jnz @bc10
- mov dx,offset msgInstall ; ╥╤╛¡╫ñ┴⌠╘≥═╦│÷
- mov ah,9
- int 21H
- mov ax,4c00H
- int 21H
- @bc10:
- mov ax,3516H ; ╗±╚í16H╓╨╢╧╧≥┴┐
- int 21H
- mov word ptr vect16,bx
- mov word ptr vect16+2,es
- mov ax,2516H ; ╔Φ╓├╨┬16H╓╨╢╧╧≥┴┐
- mov dx,offset isr16
- int 21H
- mov dx,offset msgOK ; ╧╘╩╛╫ñ┴⌠╨┼╧ó
- mov ah,9
- int 21H
- mov dx,offset msgCopyright ; ╫ñ┴⌠═╦│÷
- shr dx,4
- inc dx
- mov ax,3100H
- int 21H
-
- code ends
- end start
-
- ; ║≤╗░
- ;
- ; ▒α╒Γ╕÷│╠╨≥,╣╪╝ⁿ╥¬╜Γ╛÷┴╜╕÷╝╝╩⌡╬╩╠Γ: ╥╗╩╟╖└╓╣╓╪╕┤╫ñ┴⌠; ╢■
- ; ╩╟╩╡╧╓╞┴─╗─┌╚▌╡─▒ú┤µíó╤╒╔½▒φ╡─╧╘╩╛╝░╞┴─╗─┌╚▌╡─╗╓╕┤íú
- ; ╬¬╖└╓╣╓╪╕┤╫ñ┴⌠, ╬╥▓╔╙├┴╦╥╗╕÷╝≥╡Ñ╡─╖╜╖¿, ╛▀╠σ╩╡╧╓┐╔▓╬╝√╔╧
- ; ├µ╡─│╠╨≥╢╬íú
- ; ╡┌╢■╕÷╝╝╩⌡╬╩╠Γ╡─╜Γ╛÷╖╜╖¿╥╗░π╙╨┴╜╓╓: ╓▒╜╙▓┘╫≈╩╙╞╡╗║│σ╟°║═
- ; ╡≈╙├▒Ω╫╝10H└α╧╘╩╛╓╨╢╧íú
- ; ▒╛└┤, ╬¬┴╦╩╣╒Γ╕÷│╠╨≥╛▀▒╕┴╝║├╡─═¿╙├╨╘, ╥╗┐¬╩╝╬╥▓╔╙├╡─╩╟╡≈
- ; ╙├▒Ω╫╝10H└α╧╘╩╛╓╨╢╧╡─╖╜╖¿íú▓Γ╩╘╡─╩▒║≥,╘┌╬≈╬─▓┘╫≈╧╡═│║══╝╨╬─ú
- ; ╩╜╧┬╣ñ╫≈╒²│ú, ╡½╘┌╓º│╓╓▒╜╙╨┤╞┴╡──ú╩╜╧┬╤╒╔½▒φ╡─▒│╛░╔½╬▐╖¿╧╘╩╛
- ; │÷└┤íú╬╥▓╔╙├UCDOS 3.1╫≈╬¬▓Γ╩╘║║╫╓▓┘╫≈╧╡═│íú
- ; ╬▐─╬,╓╗─▄╙├╓▒╜╙▓┘╫≈╩╙╞╡╗║│σ╟°╡─╖╜╖¿▒α│╠┴╦,▓·╔·╡─║≤╣√╩╟═¿
- ; ╙├╨╘╩▄╡╜╧▐╓╞,╓╗─▄╘┌╬≈╬─╗≥╓▒╜╙╨┤╞┴╡─║║╫╓╧╡═│╧┬╘╦╨╨íú
- ; ╫╘╚╗, ╬╥╥▓╧δ╣²╜½╒Γ┴╜╓╓╖╜╖¿╫█║╧╞≡└┤, ▓╗╣², ╬╥╗╣╩╟╡╚╦∙╬╜╡─
- ; í░╓╨╬─╞╜╠¿í▒╒µ╒²╙δ╬≈╬─10H╓╨╢╧═Ω╚½╝µ╚▌╩▒╘┘╦╡░╔íú
- ;
- ; ╬╥╗¡╤╒╔½▒φ╩▒╙├╥╘╧┬╓╨╢╧╡≈╙├╨≥┴╨:
- ; ╚δ┐┌: ax = 1303H
- ; cx = 80 ╙╨80╕÷╫╓╖√
- ; dx = 0 0╨╨0┴╨
- ; es = cs
- ; bp = offset colorTabel
- ; int 10H ╡≈╙├10H╧╘╩╛╓╨╢╧