home *** CD-ROM | disk | FTP | other *** search
-
- ;
- ; MSSPELL.ASM
- ; MS 4.0
- ; Copyright (c) 1985, 87 by Borland International, Inc.
- ;
- ; Assembler routines for MicroStar spell checking
- ;
-
- ;constants
- LastHashBucket EQU 211 ;PRIME number of entries in RAM dict. hash table
-
-
- DATA SEGMENT BYTE PUBLIC
-
- DATA ENDS
-
- CODE SEGMENT BYTE PUBLIC
-
- ASSUME CS:CODE,DS:DATA
-
- ;the following routines are called NEAR
- PUBLIC EdRamHash, EdInitLocalPtr
-
- ;****************************************************** EdRamHash
-
- ;function EdRamHash(var S) : Integer;
-
- ;Given a string S, return an integer between 0 and LastHashBucket
-
- ;equates for parameters:
- RHStr EQU DWORD PTR [BP+4]
-
- EdRamHash PROC NEAR
-
- PUSH BP ;Save BP
- MOV BP,SP ;Set up stack frame
- XOR AX,AX ;AX = 0
- LES DI,RHStr ;ES:DI points to S[0]
- XOR CH,CH ;CH = 0
- MOV CL,ES:[DI] ;CX = Length(S)
-
- RHNextChar:
- INC DI ;ES:DI points to S[1]
- ROL AX,1 ;Rotate left 3 bits
- ROL AX,1
- ROL AX,1
- XOR AL,ES:[DI]
- LOOP RHNextChar ;Get next char
-
- XOR DX,DX ;DX = 0
- MOV BX,LastHashBucket ;BX = LastHashBucket...
- INC BX ; plus one
- DIV BX ;Divide DX:AX by (LastHashBucket+1)
-
- MOV AX,DX ;Remainder from DX into AX
- MOV SP,BP ;Restore SP
- POP BP ;Restore BP
- RET 4 ;Remove parameter and return
-
- EdRamHash ENDP
-
- ;****************************************************** Local Dictionary
-
- ;CS-relative data:
- ;Be sure to terminate list with a 0 byte
-
- LocalDict LABEL BYTE
- db 3, "the"
- db 2, "to"
- db 2, "of"
- db 3, "and"
- db 4, "that"
- db 2, "in"
- db 2, "is"
- db 3, "you"
- db 2, "it"
- db 3, "for"
- db 4, "have"
- db 2, "on"
- db 2, "be"
- db 4, "with"
- db 2, "as"
- db 3, "are"
- db 3, "not"
- db 3, "but"
- db 2, "if"
- db 2, "my"
- db 4, "this"
- db 2, "or"
- db 4, "your"
- db 3, "was"
- db 2, "at"
- db 4, "what"
- db 2, "do"
- db 5, "would"
- db 3, "can"
- db 4, "will"
- db 2, "we"
- db 2, "me"
- db 5, "about"
- db 3, "one"
- db 3, "all"
- db 4, "from"
- db 5, "there"
- db 4, "they"
- db 2, "an"
- db 2, "so"
- db 2, "by"
- db 4, "some"
- db 4, "know"
- db 4, "just"
- db 4, "like"
- db 3, "any"
- db 4, "more"
- db 3, "get"
- db 3, "has"
- db 4, "when"
- db 3, "out"
- db 3, "i'm"
- db 5, "which"
- db 5, "don't"
- db 5, "think"
- db 2, "up"
- db 2, "am"
- db 2, "no"
- db 4, "time"
- db 3, "how"
- db 3, "who"
- db 4, "only"
- db 5, "other"
- db 4, "been"
- db 3, "use"
- db 4, "than"
- db 3, "had"
- db 2, "he"
- db 4, "also"
- db 3, "way"
- db 3, "now"
- db 4, "then"
- db 3, "see"
- db 4, "them"
- db 6, "people"
- db 4, "here"
- db 4, "it's"
- db 5, "could"
- db 4, "good"
- db 5, "their"
- db 4, "very"
- db 4, "well"
- db 6, "should"
- db 4, "does"
- db 4, "much"
- db 3, "new"
- db 3, "our"
- db 4, "work"
- db 4, "were"
- db 4, "into"
- db 6, "really"
- db 4, "most"
- db 3, "too"
- db 4, "i've"
- db 4, "want"
- db 3, "may"
- db 4, "make"
- db 3, "did"
- db 4, "even"
- db 5, "using"
- db 4, "find"
- db 5, "first"
- db 5, "right"
- db 4, "i'll"
- db 4, "many"
- db 3, "say"
- db 3, "his"
- db 4, "back"
- db 2, "go"
- db 5, "since"
- db 7, "because"
- db 7, "problem"
- db 4, "read"
- db 4, "such"
- db 3, "two"
- db 5, "might"
- db 5, "those"
- db 3, "got"
- db 4, "need"
- db 4, "sure"
- db 5, "still"
- db 2, "us"
- db 4, "same"
- db 9, "something"
- db 4, "help"
- db 5, "where"
- db 3, "try"
- db 5, "these"
- db 4, "over"
- db 5, "after"
- db 5, "being"
- db 3, "its"
- db 6, "things"
- db 3, "let"
- db 7, "another"
- db 5, "going"
- db 4, "used"
- db 3, "why"
- db 4, "take"
- db 5, "can't"
- db 4, "etc."
- db 5, "never"
- db 6, "before"
- db 4, "look"
- db 6, "anyone"
- db 4, "last"
- db 4, "give"
- db 6, "little"
- db 7, "however"
- db 5, "again"
- db 3, "off"
- db 5, "while"
- db 6, "better"
- db 4, "hope"
- db 6, "though"
- db 4, "said"
- db 4, "long"
- db 3, "own"
- db 4, "name"
- db 3, "few"
- db 4, "both"
- db 5, "thing"
- db 3, "lot"
- db 5, "years"
- db 4, "must"
- db 8, "probably"
- db 6, "around"
- db 8, "question"
- db 11, "information"
- db 5, "seems"
- db 7, "someone"
- db 3, "i'd"
- db 4, "call"
- db 6, "person"
- db 7, "thought"
- db 7, "without"
- db 4, "each"
- db 6, "having"
- db 5, "great"
- db 6, "that's"
- db 4, "real"
- db 3, "run"
- db 6, "number"
- db 9, "available"
- db 3, "him"
- db 7, "through"
- db 4, "come"
- db 4, "feel"
- db 10, "interested"
- db 4, "able"
- db 8, "anything"
- db 5, "least"
- db 3, "set"
- db 4, "tell"
- db 6, "you're"
- db 7, "believe"
- db 4, "made"
- db 6, "course"
- db 3, "put"
- db 3, "she"
- db 6, "didn't"
- db 7, "doesn't"
- db 7, "getting"
- db 6, "please"
- db 9, "different"
- db 5, "point"
- db 4, "fact"
- db 6, "others"
- db 6, "thanks"
- db 4, "down"
- db 4, "part"
- db 4, "best"
- db 5, "doing"
- db 3, "far"
- db 3, "yet"
- db 4, "next"
- db 7, "perhaps"
- db 3, "yes"
- db 3, "day"
- db 5, "found"
- db 3, "her"
- db 6, "called"
- db 4, "line"
- db 6, "always"
- db 5, "agree"
- db 6, "either"
- db 5, "maybe"
- db 8, "actually"
- db 6, "enough"
- db 3, "old"
- db 3, "ask"
- db 6, "trying"
- db 9, "questions"
- db 6, "rather"
- db 4, "case"
- db 5, "guess"
- db 4, "idea"
- db 4, "keep"
- db 7, "between"
- db 4, "book"
- db 5, "quite"
- db 6, "system"
- db 4, "love"
- db 4, "days"
- db 7, "looking"
- db 10, "understand"
- db 4, "less"
- db 4, "seem"
- db 4, "type"
- db 8, "problems"
- db 5, "under"
- db 4, "done"
- db 4, "life"
- db 6, "myself"
- db 4, "send"
- db 7, "support"
- db 4, "ever"
- db 4, "else"
- db 4, "year"
- db 4, "mean"
- db 8, "possible"
- db 5, "tried"
- db 6, "change"
- db 7, "several"
- db 6, "answer"
- db 5, "check"
- db 5, "leave"
- db 7, "program"
- db 4, "area"
- db 11, "interesting"
- db 5, "works"
- db 7, "already"
- db 8, "business"
- db 5, "issue"
- db 5, "times"
- db 3, "bit"
- db 7, "message"
- db 3, "end"
- db 5, "write"
- db 4, "hear"
- db 4, "once"
- db 6, "sounds"
- db 5, "every"
- db 5, "until"
- db 4, "true"
- db 5, "place"
- db 6, "reason"
- db 5, "often"
- db 5, "sorry"
- db 4, "home"
- db 4, "away"
- db 4, "nice"
- db 7, "nothing"
- db 6, "market"
- db 4, "free"
- db 4, "week"
- db 7, "haven't"
- db 8, "remember"
- db 5, "start"
- db 4, "seen"
- db 5, "stuff"
- db 5, "isn't"
- db 4, "kind"
- db 5, "money"
- db 5, "order"
- db 10, "experience"
- db 4, "talk"
- db 3, "bad"
- db 7, "example"
- db 4, "left"
- db 3, "man"
- db 7, "usually"
- db 4, "word"
- db 6, "anyway"
- db 4, "copy"
- db 5, "wrong"
- db 3, "ago"
- db 4, "show"
- db 5, "makes"
- db 5, "heard"
- db 7, "working"
- db 9, "certainly"
- db 4, "mind"
- db 8, "interest"
- db 6, "matter"
- db 7, "reading"
- db 5, "small"
- db 7, "whether"
- db 4, "wish"
- db 5, "phone"
- db 7, "subject"
- db 5, "won't"
- db 5, "given"
- db 6, "pretty"
- db 5, "group"
- db 6, "second"
- db 4, "told"
- db 8, "although"
- db 4, "list"
- db 5, "today"
- db 4, "glad"
- db 4, "live"
- db 5, "means"
- db 5, "women"
- db 5, "world"
- db 4, "fine"
- db 5, "reply"
- db 7, "running"
- db 5, "local"
- db 6, "cannot"
- db 4, "note"
- db 6, "simply"
- db 3, "big"
- db 9, "important"
- db 5, "state"
- db 7, "writing"
- db 7, "current"
- db 7, "talking"
- db 4, "hard"
- db 5, "price"
- db 4, "soon"
- db 5, "later"
- db 4, "says"
- db 5, "sense"
- db 2, "ok"
- db 7, "service"
- db 6, "making"
- db 6, "couple"
- db 4, "form"
- db 8, "together"
- db 5, "whole"
- db 7, "written"
- db 7, "against"
- db 5, "three"
- db 4, "high"
- db 6, "wanted"
- db 6, "during"
- db 5, "large"
- db 4, "went"
- db 3, "add"
- db 5, "comes"
- db 7, "contact"
- db 10, "discussion"
- db 7, "instead"
- db 7, "there's"
- db 2, "oh"
- db 5, "power"
- db 9, "sometimes"
- db 7, "certain"
- db 4, "full"
- db 5, "ideas"
- db 6, "school"
- db 6, "almost"
- db 3, "buy"
- db 10, "government"
- db 3, "job"
- db 5, "short"
- db 8, "comments"
- db 7, "control"
- db 6, "except"
- db 8, "involved"
- db 3, "men"
- db 5, "night"
- db 6, "public"
- db 5, "folks"
- db 7, "friends"
- db 4, "open"
- db 5, "along"
- db 7, "suggest"
- db 5, "based"
- db 8, "consider"
- db 6, "friend"
- db 8, "yourself"
- db 7, "general"
- db 6, "saying"
- db 5, "books"
- db 4, "goes"
- db 5, "major"
- db 10, "difference"
- db 10, "especially"
- db 4, "gets"
- db 7, "welcome"
- db 8, "everyone"
- db 10, "particular"
- db 4, "sort"
- db 10, "appreciate"
- db 4, "came"
- db 5, "close"
- db 9, "situation"
- db 5, "words"
- db 7, "address"
- db 4, "care"
- db 7, "correct"
- db 3, "saw"
- db 7, "started"
- db 5, "weeks"
- db 6, "weight"
- db 7, "company"
- db 10, "everything"
- db 10, "individual"
- db 12, "relationship"
- db 4, "news"
- db 6, "within"
- db 6, "you'll"
- db 6, "months"
- db 7, "special"
- db 7, "version"
- db 8, "whatever"
- db 6, "wonder"
- db 6, "chance"
- db 7, "finally"
- db 4, "ones"
- db 3, "fun"
- db 6, "future"
- db 5, "level"
- db 9, "mentioned"
- db 4, "mine"
- db 5, "worth"
- db 8, "wouldn't"
- db 6, "you've"
- db 6, "needed"
- db 5, "needs"
- db 3, "pay"
- db 8, "recently"
- db 6, "taking"
- db 4, "diet"
- db 4, "easy"
- db 4, "past"
- db 6, "unless"
- db 7, "article"
- db 5, "asked"
- db 6, "expect"
- db 5, "hours"
- db 6, "issues"
- db 8, "response"
- db 4, "sent"
- db 4, "wait"
- db 5, "we're"
- db 8, "children"
- db 4, "cost"
- db 5, "month"
- db 6, "source"
- db 6, "common"
- db 7, "mention"
- db 7, "similar"
- db 5, "space"
- db 8, "specific"
- db 4, "took"
- db 2, "tv"
- db 4, "file"
- db 5, "learn"
- db 5, "looks"
- db 7, "meeting"
- db 5, "woman"
- db 4, "deal"
- db 5, "force"
- db 4, "thus"
- db 4, "lots"
- db 7, "provide"
- db 0
-
- ;****************************************************** EdInitLocalPtr
-
- ; function EdInitLocalPtr : Pointer; external;
-
- ; Return a pointer to the start of the local dictionary
-
- EdInitLocalPtr PROC NEAR
-
- MOV DX,CS ;Local dictionary in code segment
- LEA AX,LocalDict ;At this offset
- RET
-
- EdInitLocalPtr ENDP
-
-
- CODE ENDS
-
- END