PUS . push bp ; push bp onto stack PUS CMP . cmp dx, bx ; compare to the current paragraph CMP INC . inc bx ; next search paragraph into bx INC PUS . push cs ; move the current paragraph PUS INC . inc bx ; next search paragraph into bx INC POP . pop dx ; into dx (program segment) POP RET . ret ; near return to TC RET POP . pop dx ; and pop it into dx POP INC . inc bx ; next search paragraph into bx INC MOV . mov bp, sp ; move stack pointer into bp MOV POP . pop dx ; into dx (program segment) POP CLD . cld ; clear the direction flag CLD INC . inc bx ; next search paragraph into bx INC REP . rep stosw ; move zeros to CDA REP CMP . cmp dx, bx ; compare to the current paragraph CMP POP . pop dx ; and pop it into dx POP REP . rep stosw ; move zeros to CDA REP AND . and cx, cx ; all matched? AND REP . rep cmpsb ; search 9 bytes REP CLD . cld ; clear the direction flag CLD JNE . jbe Exit1 ; and jump if not equal JNE AND . and cx, cx ; all matched? AND AND . and cx, cx ; all matched? AND MOV . mov di, 00070h ; destin offset in di MOV CMP . cmp dx, bx ; compare to the current paragraph CMP MOV . mov cx, 0096Fh ; word count in cx MOV CLD . cld ; clear the direction flag CLD CLD . cld ; clear the direction flag CLD INC . inc bx ; next search paragraph into bx INC XOR . xor ax, ax ; zero into ax (not found) XOR MOV . mov bx, 09FFFh ; set search paragraph to himem MOV XOR . xor ax, ax ; zero into ax (not found) XOR MOV . mov di, 0005Dh ; destin offset in di MOV PUS . push bp ; push bp onto stack PUS MOV . mov cx, 00009h ; search length is 9 bytes MOV JNE . jbe Exit1 ; and jump if not equal JNE CMP . cmp dx, bx ; compare to the current paragraph CMP MOV . mov ax, es ; move CDA segment (found) into ax MOV CLD . cld ; clear the direction flag CLD INC . inc bx ; next search paragraph into bx INC PUS . push bp ; push bp onto stack PUS RET . ret ; near return to TC RET JNE . jbe Exit1 ; and jump if not equal JNE JNZ . jnz Srch1 ; go again if not matched JNZ PUS . push bp ; save TC registers PUS MOV . mov bx, 09FFFh ; set search paragraph to himem MOV MOV . mov es, bx ; and into es MOV POP . pop dx ; into dx (program segment) POP AND . and cx, cx ; all matched? AND INC . inc bx ; next search paragraph into bx INC MOV . mov bx, 09FFFh ; set search paragraph to himem MOV PUS . push bp ; save TC registers PUS REP . rep stosw ; move zeros to CDA REP MOV . mov es, bx ; and into es MOV PUS . push cs ; move the current paragraph PUS PUS . push bp ; save TC registers PUS REP . rep cmpsb ; search 9 bytes REP POP . pop dx ; and pop it into dx POP MOV . mov bx, 09FFFh ; set search paragraph to himem MOV MOV . mov cx, 00009h ; search length is 9 bytes MOV AND . and cx, cx ; all matched? AND MOV . mov ax, es ; move CDA segment (found) into ax MOV MOV . mov di, 0005Dh ; destin offset in di MOV MOV . mov bp, sp ; move stack pointer into bp MOV JNZ . jnz Srch1 ; go again if not matched JNZ PUS . push bp ; push bp onto stack PUS AND . and cx, cx ; all matched? AND PUS . push cs ; move the current paragraph PUS PUS . push bp ; save TC registers PUS MOV . mov ax, es ; move CDA segment (found) into ax MOV MOV . mov bx, 09FFFh ; set search paragraph to himem MOV PUS . push cs ; move the current paragraph PUS REP . rep stosw ; move zeros to CDA REP MOV . mov ax, es ; move CDA segment (found) into ax MOV REP . rep cmpsb ; search 9 bytes REP INC . inc bx ; next search paragraph into bx INC CLD . cld ; clear the direction flag CLD MOV . mov ax, es ; move CDA segment (found) into ax MOV MOV . mov bx, 09FFFh ; set search paragraph to himem MOV CLD . cld ; clear the direction flag CLD MOV . mov cx, 0096Fh ; word count in cx MOV MOV . mov cx, 0096Fh ; word count in cx MOV POP . pop dx ; and pop it into dx POP MOV . mov di, 00070h ; destin offset in di MOV CMP . cmp dx, bx ; compare to the current paragraph CMP MOV . mov cx, 00009h ; search length is 9 bytes MOV CLD . cld ; clear the direction flag CLD POP . pop di ; restore TC registers POP POP . pop dx ; and pop it into dx POP MOV . mov di, 00070h ; destin offset in di MOV RET . ret ; near return to TC RET JNE . jbe Exit1 ; and jump if not equal JNE XOR . xor ax, ax ; zero into ax (not found) XOR RET . ret ; near return to TC RET JNZ . jnz Srch1 ; go again if not matched JNZ MOV . mov es, bx ; and into es MOV JNZ . jnz Srch1 ; go again if not matched JNZ CMP . cmp dx, bx ; compare to the current paragraph CMP POP . pop dx ; and pop it into dx POP POP . pop dx ; into dx (program segment) POP POP . pop dx ; and pop it into dx POP MOV . mov bp, sp ; move stack pointer into bp MOV POP . pop dx ; into dx (program segment) POP REP . rep stosw ; move zeros to CDA REP PUS . push bp ; push bp onto stack PUS MOV . mov es, bx ; and into es MOV RET . ret ; near return to TC RET PUS . push cs ; move the current paragraph PUS MOV . mov cx, 00009h ; search length is 9 bytes MOV JNE . jbe Exit1 ; and jump if not equal JNE MOV . mov cx, 00009h ; search length is 9 bytes MOV MOV . mov cx, 0096Fh ; word count in cx MOV PUS . push cs ; move the current paragraph PUS CMP . cmp dx, bx ; compare to the current paragraph CMP POP . pop dx ; and pop it into dx POP JNZ . jnz Srch1 ; go again if not matched JNZ MOV . mov es, bx ; and into es MOV CLD . cld ; clear the direction flag CLD JNZ . jnz Srch1 ; go again if not matched JNZ MOV . mov bp, sp ; move stack pointer into bp MOV JNE . jbe Exit1 ; and jump if not equal JNE MOV . mov di, 0005Dh ; destin offset in di MOV PUS . push bp ; push bp onto stack PUS POP . pop dx ; and pop it into dx POP JNE . jbe Exit1 ; and jump if not equal JNE
|
|
|