home *** CD-ROM | disk | FTP | other *** search
/ Black Box 4 / BlackBox.cdr / lan / xql211.arj / XQLO.211 < prev    next >
Text File  |  1991-03-21  |  15KB  |  922 lines

  1. .       beginning of patch #5 - ALTER TABLE with ZSTRING or LSTRING
  2. a cs:1e47
  3. ADD     AX,1B47
  4. PUSH    AX
  5. MOV     AX,0B59
  6. PUSH    AX
  7. CMP     WORD PTR [BP+0C],+03
  8. JNZ     1E84
  9. MOV     BX,[BP-7E]
  10. MOV     CL,[BX+0A]
  11. CMP     CL,0A
  12. JNZ     1E6F
  13. MOV     BX,[BP-76]
  14. MOV     BL,[BX]
  15. XOR     BH,BH
  16. ADD     BX,[BP-7a]
  17. MOV     BYTE PTR [BX],00
  18. JMP     1E84
  19. CMP     CL,0B
  20. JNZ     1E84
  21. MOV     DI,[BP-7A]
  22. MOV     SI,[BP-76]
  23. MOV     AX,DS
  24. MOV     ES,AX
  25. LODSB
  26. STOSB
  27. TEST    AL,AL
  28. JNZ     1E7E
  29. MOV     BX,[BP-7E]
  30. MOV     AX,[BX+11]
  31. MOV     [BP-4E],AX
  32. MOV     AX,[BP-7A]
  33. RETF
  34. MOV     CX,CS
  35. ADD     CX,238F
  36. CMP     WORD PTR [BP-26],+00
  37. JNZ     1EA2
  38. MOV     AX,043D
  39. JMP     1EBB
  40. MOV     AL,[BX+0A]
  41. CMP     AL,0A
  42. JZ      1EB8
  43. CMP     AL,0B
  44. JZ      1EB8
  45. MOV     AX,22CE
  46. PUSH    AX
  47. PUSH    AX
  48. PUSH    CX
  49. MOV     CX,0438
  50. PUSH    CX
  51. RETF
  52. MOV     AX,049F
  53. PUSH    CX
  54. PUSH    AX
  55. RETF
  56.  
  57. a cs:100
  58. mov ax,cs
  59. add ax,2000
  60. mov ds,ax
  61.  
  62. r sp
  63. 110
  64. g =100 107
  65. e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
  66. a ds:413d
  67. MOV     AX,CS
  68. SUB     AX,1B47
  69. PUSH    AX
  70. MOV     BX,0547
  71. PUSH    BX
  72. RETF
  73. NOP
  74.  
  75. a ds:f94d
  76. mov ax, cs
  77. sub ax,238f
  78. push ax
  79. mov ax,591
  80. push ax
  81. retf
  82.  
  83. a cs:100
  84. mov ax,cs
  85. add ax,3000
  86. mov ds,ax
  87.  
  88. r sp
  89. 110
  90. g =100 107
  91. e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
  92. a ds:3b5
  93. mov ax,3
  94.  
  95. .       end of patch #5
  96. .
  97. .
  98. .       patch #15  fixes min/max on autoinc fields
  99. a cs:5c12
  100. push si
  101. push bp
  102. mov bp,sp
  103. sub sp,6
  104. push bx
  105. mov si,dx
  106. mov bx,[bp+8]
  107. mov di,ax
  108. dec di
  109. jz 5c34
  110. dec di
  111. jz 5c51
  112. cmp di,d
  113. jz 5c34
  114. cmp di,7
  115. jz 5c76
  116. jmp 5c69
  117. nop
  118. mov ax,cx
  119.  
  120. a cs:5c57
  121. push cx
  122.  
  123. a cs:5c5e
  124. mov ax,cx
  125.  
  126. a cs:5c76
  127. mov ax,cx
  128.  
  129. a cs:5c69
  130. cbw
  131. mov dx,cx
  132. mov cx,si
  133. nop
  134.  
  135. a cs:5c83
  136. pop bp
  137. pop si
  138. nop
  139. nop
  140.  
  141. .       end of patch #15
  142.  
  143.  
  144. .       patch #16  fixes substitution variable with scalar function
  145. a cs:100
  146. mov ax,cs
  147. add ax, 3000
  148. mov ds, ax
  149.  
  150. r sp
  151. 110
  152. g =100 107
  153. e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
  154.  
  155. a ds:61aa
  156. ;patch 16a - in SetTypeForVar
  157. mov bx, cs
  158. sub bx, 272d
  159. push bx
  160. mov bx, 44e
  161. push bx
  162. retf
  163. test    bx,bx
  164. je      61c5
  165. cmp     bx,1
  166. je      61da
  167. mov     [si+9],bl
  168. jmp     61da
  169. nop
  170.  
  171. a ds:61ce
  172. ; patch 16b - in SetTypeForVar
  173. mov bx, cs
  174. sub bx, 272d
  175. push bx
  176. mov bx, 517
  177. push bx
  178. retf
  179.  
  180. a ds:4d07
  181. ; patch 16c - in Substex
  182. mov     ax,si
  183. nop
  184.  
  185. a cs:1d4e
  186. ;patch 16a
  187. MOV     BX,CS
  188. ADD     BX,272d ; diff to seg of settypeforvar
  189. PUSH    BX
  190. MOV     BX,576 ; offset to test bx,bx
  191. PUSH    BX
  192. xor     bx,bx
  193. cmp     ax,0100
  194. je      1d86
  195. cmp     ax,0306
  196. je      1d86
  197. cmp     ax,0301
  198. je      1d86
  199. cmp     ax,0304
  200. je      1d86
  201. mov     bx,1
  202. mov     si,[si+4]
  203. cmp     byte ptr [si+f],01
  204. je      1d86
  205. cmp     dl,[si+8]
  206. je      1d86
  207. mov     [si+8],cl
  208. mov     bx,2
  209. retf
  210. ;patch 16b
  211. MOV     BX,CS
  212. ADD     BX,272d ; diff to seg of settypeforvar
  213. PUSH    BX
  214. MOV     BX,59a ; offset to L69
  215. PUSH    BX
  216. mov     ax,[si+a]
  217. cmp     ax,ffff
  218. je      1daf
  219. push    cs
  220. mov     bx, 4af  ; offset to L71
  221. push    bx
  222. mov     bx,cs
  223. add     bx, 272d ; diff to seg of settypeforvar
  224. push    bx
  225. mov     bx, 54b  ; offset settypeforvar
  226. push    bx
  227. mov     dx,cx
  228. mov     bx,[bp-2]
  229. retf
  230.  
  231. .       end of patch #16
  232.  
  233.  
  234.  
  235. .       patch #18 fixes data truncatation on INSERT INTO ... SELECT
  236. a cs:100
  237. mov ax,cs
  238. add ax,2000
  239. mov ds,ax
  240.  
  241. r sp
  242. 110
  243. g =100 107
  244. e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
  245. a ds:FB9D
  246. JMP FBB6
  247.  
  248. .       end of patch #18
  249. .
  250. .       patch #19 status 109 on fetch distinct
  251. a 1db0
  252. XOR     DI,DI
  253. MOV     BX,[23E6]
  254. MOV     AL,[BX+16]
  255. XOR     AH,AH
  256. DEC     AX
  257. JZ      1DD0
  258. DEC     AX
  259. JZ      1DD0
  260. DEC     AX
  261. JZ      1DC9
  262. DEC     AX
  263. JZ      1DC9
  264. JMP     1DD5
  265. CMP     SI,+02
  266. JZ      1DE1
  267. JMP     1DD5
  268. CMP     SI,+03
  269. JZ      1DE1
  270. CMP     SI,+01
  271. JZ      1DEB
  272. CMP     SI,+04
  273. JZ      1DEB
  274. JMP     1DE6
  275. INC     DI
  276. TEST    DI,DI
  277. JNZ     1DEB
  278. MOV     BX,0280
  279. JMP     1DEE
  280. MOV     BX,0266
  281. MOV     AX,CS
  282. ADD     AX,018B
  283. PUSH    AX
  284. PUSH    BX
  285. MOV     BX,[1F54]
  286. RETF
  287.  
  288. a 3408
  289. push    di
  290. MOV     AX,CS
  291. SUB     AX,018B
  292. PUSH    AX
  293. MOV     AX,04B0
  294. PUSH    AX
  295. RETF
  296. NOP
  297. NOP
  298.  
  299. a 342d
  300. MOV     [BX+2E],AX
  301. MOV     BX,[1F54]
  302. TEST    DI,DI
  303. JNZ     3444
  304.  
  305. a 343e
  306. mov     di,[bx+6]
  307. mov     byte ptr [di],  0
  308. pop     di
  309. nop
  310. nop
  311. nop
  312.  
  313. .       end of patch #19
  314.  
  315. .       patch #20
  316. .      xDescribe (option 3) does not return secondary field count if the
  317. .      join type is cartesion product join.
  318. a cs:100
  319. mov ax,cs
  320. add ax, 3000
  321. mov ds, ax
  322.  
  323. r sp
  324. 110
  325. g =100 107
  326. e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
  327.  
  328. a ds:710b
  329. mov     bx,[bp-16]
  330. mov     bx,[bx]
  331. mov     [bp-4],bx
  332. mov     bx,[bp-16]
  333. mov     ax,[bx+2]
  334. mov     [bp-2],ax
  335. add     word ptr [bx],2
  336. mov     bx,[bp-82]
  337. add     word ptr [bx],2
  338. mov     ax,[bx]
  339. cmp     ax,[bp-84]
  340. jl      7133
  341. mov     word ptr [bp-c],d2
  342. mov     bx,[bp-e]
  343. mov     si,[bx+2d]
  344. cmp     byte ptr [bx+4],2
  345. je      7164
  346. cmp     word ptr [bp-c],0
  347.  
  348. .       end of patch #20
  349.  
  350. .       patch #21
  351. .   Using 386MAX with overlayed version
  352. .
  353. a fb2b
  354. cmp  ah,4c
  355. je  fb35
  356. cmp  ah,0
  357.  
  358. .       end of patch #21
  359. .
  360.  
  361. .       patch #22 - ddCreate with record sizes 512 and 511 return status 28
  362. a cs:100
  363. mov ax,cs
  364. add ax, 1000
  365. mov ds, ax
  366.  
  367. r sp
  368. 110
  369. g =100 107
  370. e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
  371.  
  372. a ds:b140
  373. ;patch 22 - in ddextend
  374. mov bx, cs
  375. sub bx, 132a
  376. push bx
  377. mov bx, 4fa
  378. push bx
  379. retf
  380. nop
  381. nop
  382.  
  383. a cs:1dfa
  384. ;patch 22
  385. MOV     BX,CS
  386. ADD     BX,132a ; diff to seg of ddextend
  387. PUSH    BX
  388. MOV     BX,5ee ; offset to L63
  389. PUSH    BX
  390. mov     ax,[bp-1a]
  391. add     ax,6
  392. cmp     ax,[bp-16]
  393. jle     1e16
  394. add     byte ptr [bp-15],2
  395. jmp     1e0b
  396. retf
  397.  
  398. .       end of patch #22
  399. .
  400. .       patch #23  Autoinc field on INSERT  INTO subquery
  401. a cs:100
  402. mov ax,cs
  403. add ax, 1000
  404. mov ds, ax
  405.  
  406. r sp
  407. 110
  408. g =100 107
  409. e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
  410. a ds:7a9a
  411. push  cs
  412. mov   bx,cs
  413. sub   bx,430
  414. push  bx
  415. mov   bx,5be
  416. push  bx
  417. retf
  418. nop
  419. nop
  420.  
  421. a 1ebe
  422. cmp   al,2
  423. jne   1ec7
  424. mov   bx,e54f
  425. jmp   1ef1
  426. cmp   al,5
  427. je    1ed3
  428. cmp   al,6
  429. je    1ed3
  430. cmp   al,8
  431. jne   1ed8
  432. mov   bx,e584
  433. jmp   1ef1
  434. cmp   al,9
  435. jne   1ee1
  436. mov   bx,e698
  437. jmp   1ef1
  438. cmp   al,f
  439. je    1ee9
  440. cmp   al,1
  441. jne   1eee
  442. mov   bx,e4dc
  443. jmp   1ef1
  444. mov   bx,e6ba
  445. push  bx
  446. retf
  447.  
  448. .       end of patch #23
  449.  
  450. .       patch #24  status 282 from xValidate for ZSTRING to be checked
  451. .                  which is smaller than size indicated in data buffer size
  452. .                  parameter
  453. a cs:100
  454. mov ax,cs
  455. add ax, 3000
  456. mov ds, ax
  457.  
  458. r sp
  459. 110
  460. g =100 107
  461. e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
  462.  
  463. a ds:86d4
  464. mov  bx, cs
  465. sub  bx, 272d
  466. push bx
  467. mov  bx, 517
  468. push bx
  469. retf
  470. nop
  471. mov     bx,[bp-38]
  472.  
  473. a cs:1e17
  474. ;patch 24
  475. MOV     BX,CS
  476. ADD     BX,272d ; diff to seg of validdata
  477. PUSH    BX
  478. MOV     BX,8d1  ; offset to L13 - 3
  479. PUSH    BX
  480. mov     bx, [bp-38]
  481. cmp     byte ptr [bx+6], b
  482. jne     1e3f
  483. mov     ax, word ptr [bp - 3a]  ; call strlen
  484. push    cs
  485. mov     bx, 53e
  486. push    bx
  487. mov     bx, cs
  488. add     bx, 0dca
  489. push    bx
  490. mov     bx, 4d
  491. push    bx
  492. retf
  493. cmp     byte ptr [bx+6], c
  494. jne     1e46
  495. dec     ax
  496. retf
  497.  
  498. .       end of patch #24
  499.  
  500. .           patch #25 - When searching for all values in a ZSTRING field
  501. .                       on a BEGINS WITH restriction all records that
  502. .                       begin with all but the last chracter in the
  503. .                       specified string are returned.
  504. .                       If want records that begin with 'abc' then all
  505. .                       records beginning with 'ab' are returned.
  506.  
  507. a cs:100
  508. mov ax,cs
  509. add ax, 2000
  510. mov ds, ax
  511.  
  512. r sp
  513. 110
  514. g =100 107
  515. e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
  516.  
  517. a ds:8460
  518. mov  bx, cs
  519. sub  bx, 1efb
  520. push bx
  521. mov  bx, 623
  522. push bx
  523. retf
  524. nop
  525.  
  526. a cs:1f23
  527. ;patch 25
  528. MOV     BX,CS
  529. ADD     BX,1efb ; diff to seg of cmpValues
  530. PUSH    BX
  531. MOV     BX,5ed  ; offset to L79
  532. PUSH    BX
  533. test   dx,dx
  534. jz     1f3e
  535. cmp    dx,ax
  536. ja     1f3e
  537. mov    bx, [bp-16]
  538. add    bx, dx
  539. dec    bx
  540. inc    byte ptr [bx]
  541. retf
  542.  
  543. .       end of patch #25
  544.  
  545. .       patch #26  *** OPTIONAL ***
  546. .
  547. .       Allows use of european format of decimal comma instead of decimal
  548. .       point.
  549. .
  550. .       This patch is NOT applied unless this patch file is modified.
  551. .       See instruction below
  552. a cs:100
  553. mov ax,cs
  554. add ax, 4000
  555. mov ds, ax
  556.  
  557. r sp
  558. 110
  559. g =100 107
  560. e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
  561. .
  562. .  DELETE THE SEMI-COLON FROM THE BEGINNING OF THE FOLLOWING LINES TO
  563. .  ENABLE PATCH.
  564. ;e ds:593c 2c
  565. ;a cs:100
  566. ;mov ax,cs
  567. ;add ax, 2000
  568. ;mov ds, ax
  569.  
  570. ;r sp
  571. ;110
  572. ;g =100 107
  573. ;e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
  574. ;e DS:3530 2c
  575. ;e DS:356a 2c
  576. ;e DS:fa59 2c
  577. ;e DS:fa7e 2c
  578. .       end of patch #26
  579.  
  580. .       patch #29 Fixes problems removing supplemental indexes
  581. a cs:100
  582. mov ax,cs
  583. add ax, 1000
  584. mov ds, ax
  585.  
  586. r sp
  587. 110
  588. g =100 107
  589. e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
  590. a ds:b8c1
  591. mov al,20
  592. mov dx,si
  593. mov bx,[bp-30]
  594.  
  595. a ds:b856
  596. push ax
  597. nop
  598.  
  599. a ds:b8d4
  600. mov di,[si]
  601. mov [bp-2],di
  602.  
  603. a ds:b8ff
  604. cmp di,[bp-2]
  605. jne b92b
  606. test byte ptr [bp-6], 80
  607. je b926
  608.  
  609. a ds:b92b
  610. pop ax
  611. nop
  612.  
  613. .       end of patch #29
  614.  
  615. .       patch #30  prevents workstation from crashing when restrict
  616. .                  contains equal comparisons of string fields
  617. .                  of different sizes from different files.
  618. a cs:100
  619. mov ax,cs
  620. add ax,1000
  621. mov ds,ax
  622.  
  623. r sp
  624. 110
  625. g =100 107
  626. e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
  627. a ds:a19d
  628. mov al, [di+8]
  629.  
  630. a ds:a1cd
  631. cmp word ptr [bp+e], 0
  632. jne a1db
  633. nop
  634. nop
  635. nop
  636. nop
  637. nop
  638.  
  639. a ds:a1b8
  640. ja a1db
  641. cmp dx,bx
  642. jne a1db
  643. nop
  644.  
  645. .       end of patch #30
  646.  
  647. .       patch #31  *** OPTIONAL ***
  648. .
  649. .       The overlayed version of XQL crashes on XQLConvert.
  650. .       This patch is optional because it disables error checking of
  651. .       data values passed in to XQLConvert.  Data must be specified
  652. .       according to the default mask or the mask passed in to the XQLConvert
  653. .       function.  No error will be returned if the data is not in the
  654. .       correct format.
  655. .
  656. .       This patch is NOT applied unless this patch file is modified.
  657. .       See instruction below
  658. a cs:100
  659. mov ax,cs
  660. add ax,1000
  661. mov ds,ax
  662.  
  663. r sp
  664. 110
  665. g =100 107
  666. e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
  667.  
  668. . REMOVE THE SEMI-COLON FROM THE BEGINNING OF THE NEXT LINE TO ENABLE PATCH.
  669. ;e ds:44db eb 05
  670.  
  671. .       end of patch #31
  672.  
  673. .           patch #32   - *** OPTIONAL ***
  674. .                       - xValidate causing memory to be over written
  675. .                         when an invalid field value is given and a view
  676. .                         has not yet been created
  677. .                       - if this patch is applied, a view is created
  678. .                         and an invalid field value is given then the
  679. .                         XQLStatus will not provide the field name associated
  680. .                         with the invalid value
  681. .
  682. .
  683. .       This patch is NOT applied unless this patch file is modified.
  684.  
  685.  
  686. .
  687. .
  688. .  DELETE THE SEMI-COLON FROM THE BEGINNING OF THE FOLLOWING LINES TO
  689. .  ENABLE PATCH.
  690.  
  691. ;a cs:100
  692. ;mov ax,cs
  693. ;add ax, 3000
  694. ;mov ds, ax
  695.  
  696. ;r sp
  697. ;110
  698. ;g =100 107
  699. ;e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
  700.  
  701. ;a ds:8793
  702. ;jmp 87a5
  703.  
  704. .       end of patch #32
  705.  
  706. .       patch #34
  707. a cs:100
  708. mov ax,cs
  709. add ax,2000
  710. mov ds,ax
  711.  
  712. r sp
  713. 110
  714. g =100 107
  715. e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
  716. a ds:31bc
  717. mov ax,cs
  718. push ax
  719. sub ax,1a2e
  720. push ax
  721. mov ax,5f3
  722. push ax
  723. retf
  724.  
  725.  
  726. a cs:1ef3
  727. MOV     AX,CS
  728. PUSH    AX
  729. MOV     ax,60b
  730. PUSH    ax
  731. mov     ax,cs
  732. ADD     AX,1a2e
  733. PUSH    AX
  734. MOV     AX,0CF8
  735. PUSH    AX
  736. MOV     AX,[SI+06]
  737. LEA     DX,[BP-04]
  738. RETF
  739. MOV     DX,AX
  740. CMP     CX,0110
  741. JZ      1f19
  742. CMP     CX,0111
  743. JNZ     1f1e
  744. MOV     AX,def
  745. JMP     1f21
  746. MOV     AX,d68
  747. PUSH    AX
  748. RETF
  749.  
  750. .       beginning of patch #36 Owner name ignored by xRecall
  751. a cs:100
  752. mov ax,cs
  753. add ax,3000
  754. mov ds,ax
  755.  
  756. r sp
  757. 110
  758. g =100 107
  759. e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
  760. e ds:d3c6 90 90
  761. .       end of patch #36
  762. .
  763. .       beginning of patch #37  xUpdall does not work properly with BREQUEST
  764. a cs:100
  765. mov ax,cs
  766. add ax,2000
  767. mov ds,ax
  768.  
  769. r sp
  770. 110
  771. g =100 107
  772. e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
  773. a ds:4e2d
  774. mov cx,21
  775. jmp 4e3b
  776.  
  777. .       end of patch #37
  778. .
  779. .       patch #38  *** OPTIONAL ***
  780. .
  781. .   patch to allow XQL to process requests from Windows interface
  782. .
  783. .  DELETE THE SEMI-COLON FROM THE BEGINNING OF THE FOLLOWING LINES TO
  784. .  ENABLE PATCH.
  785.  
  786. ;a cs:100
  787. ;mov ax,cs
  788. ;add ax, 1000
  789. ;mov ds, ax
  790.  
  791. ;r sp
  792. ;110
  793. ;g =100 107
  794. ;e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
  795.  
  796. ;e ds:0253e f0
  797.  
  798. ;a 1b24
  799. ;cs:
  800. ;mov  byte ptr[1d6],0
  801. ;jmp  1f3f
  802. ;cs:
  803.  
  804. ;a 1f3f
  805. ;cmp  si,6666
  806. ;jne  1f4b
  807. ;cmp  di,bbbb
  808. ;je   1f57
  809. ;cmp  si,5555
  810. ;jne  1f59
  811. ;cmp  di,aaaa
  812. ;jne  1f59
  813. ;mov  ds,ax
  814. ;mov  si,dx
  815. ;push cs
  816. ;pop  es
  817. ;jmp  1b2d
  818.  
  819. .       end of patch #38
  820. .
  821. .       patch #39  *** OPTIONAL ***
  822. .
  823. .   patch to disable use of EMS for overlay caching
  824. .
  825. .  DELETE THE SEMI-COLON FROM THE BEGINNING OF THE FOLLOWING LINES TO
  826. .  ENABLE PATCH.
  827. .
  828. ;a cs:100
  829. ;mov ax,cs
  830. ;add ax, 1000
  831. ;mov ds, ax
  832.  
  833. ;r sp
  834. ;110
  835. ;g =100 107
  836. ;e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
  837.  
  838. ;e ds:0f24 2
  839. .
  840. .
  841. .       end of patch #39
  842. .
  843. .       patch #40 Field to field comparison may not return correct records
  844. a cs:100
  845. mov ax,cs
  846. add ax,1000
  847. mov ds,ax
  848.  
  849. r sp
  850. 110
  851. g =100 107
  852. e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
  853. a ds:97f9
  854. mov si,cs
  855. push si
  856. sub si, 132a
  857. push si
  858. mov si, 63f
  859. push si
  860. retf
  861.  
  862. a cs:1f3f
  863. mov cx,[bx+5]
  864. and cx,0040
  865. jne 1f4d
  866. mov cx,[bx+1]
  867. jmp 1f50
  868. mov cx,2
  869. add cx,7
  870. add ax,cx
  871. add bx,cx
  872. dec dx
  873. mov si, 189
  874. push si
  875. retf
  876.  
  877. a ds:a23f
  878. XOR     AX,AX
  879. JMP     a248
  880. MOV     AL,[DI+08]
  881. XOR     AH,AH
  882. MOV     DI,[BP-16]
  883. MOV     BX,[BX+04]
  884. MOV     [DI],AL
  885. INC     DI
  886. MOV     [DI],BX
  887. INC     DI
  888. INC     DI
  889. MOV     [BP-16],DI
  890. MOV     DI,[BP-10]
  891. MOV     BX,[DI+06]
  892. MOV     DI,[BP-16]
  893. MOV     [DI],BX
  894. ADD     WORD PTR [BP-16],+02
  895. NOP
  896. NOP
  897. NOP
  898.  
  899. .       end of patch #40
  900.  
  901. .       patch #41 XQLFormat sets incorrect display size for number masks
  902. a cs:100
  903. mov ax,cs
  904. add ax,2000
  905. mov ds,ax
  906.  
  907. r sp
  908. 110
  909. g =100 107
  910. e cs:100 4d 5a 80 01 8f 00 da 05 80 01 9e 1c ff ff 76 2c
  911. a ds:bffd
  912. mov ax,[bp-4]
  913. jmp c012
  914.  
  915. .       end of patch #41
  916. .
  917.  
  918. .       END OF XQLO.EXE PATCH FILE
  919. .       DO NOT REMOVE THE NEXT TWO LINES!
  920. w
  921. q
  922.