home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 13 / CDA13.ISO / cdactual / demobin / share / program / Asm / 86LIB3.ZIP / INTOSB.8 < prev    next >
Encoding:
Text File  |  1980-01-06  |  3.7 KB  |  301 lines

  1. _INTOSB:
  2.   SUB SP,4
  3.   MOV BX,2
  4.   ADD BX,SP
  5.   XCHG DX,BX
  6.   MOV BX,08
  7.   ADD BX,SP
  8.   MOV BX,[BX]
  9.   MOV SI,DX
  10.   MOV [SI],BX
  11.   MOV BX,6
  12.   ADD BX,SP
  13.   PUSH BX
  14.   MOV BX,[BX]
  15.   XCHG DX,BX
  16.   MOV BX,1
  17.   MOV CL,BL
  18.   SAR DX,CL
  19.   MOV BX,DX
  20.   XOR CX,CX
  21.   POP DX
  22.   MOV SI,DX
  23.   MOV [SI],BX
  24. __L6:
  25.   MOV BX,0
  26.   ADD BX,SP
  27.   PUSH BX
  28.   MOV BX,12
  29.   ADD BX,SP
  30.   MOV BX,[BX]
  31.   XCHG DX,BX
  32.   MOV BX,1
  33.   AND BX,DX
  34.   POP DX
  35.   MOV SI,DX
  36.   MOV [SI],BX
  37.   MOV BX,10
  38.   ADD BX,SP
  39.   PUSH BX  ;
  40.   MOV BX,12
  41.   ADD BX,SP
  42.   MOV BX,[BX]
  43.   XCHG DX,BX
  44.   MOV BX,1
  45.   MOV CL,BL
  46.   SAR DX,CL
  47.   MOV BX,DX
  48.   XOR CX,CX
  49.   XCHG DX,BX
  50.   MOV BX,32767
  51.   AND BX,DX
  52.   POP DX
  53.   MOV SI,DX
  54.   MOV [SI],BX
  55.   MOV BX,2
  56.   ADD BX,SP
  57.   MOV BX,[BX]
  58.   PUSH BX
  59.   MOV BX,12
  60.   ADD BX,SP
  61.   MOV BX,[BX]
  62.   XCHG DX,BX
  63.   MOV BX,08
  64.   ADD BX,SP
  65.   MOV BX,[BX]
  66.   MOV AX,DX
  67.   SUB DX,DX
  68.   IDIV BX
  69.   MOV BX,AX
  70.   XCHG BX,DX
  71.   XCHG DX,BX
  72.   MOV BX,1
  73.   MOV CL,BL
  74.   SAL DX,CL
  75.   MOV BX,DX
  76.   XOR CX,CX
  77.   XCHG DX,BX
  78.   MOV BX,2
  79.   ADD BX,SP
  80.   MOV BX,[BX]
  81.   ADD BX,DX
  82.   POP DX
  83.   MOV SI,DX
  84.   MOV [SI],BL
  85.   MOV BX,2
  86.   ADD BX,SP
  87.   MOV BX,[BX]
  88.   MOV AL,[BX]
  89.   CBW
  90.   MOV BX,AX
  91.   XCHG DX,BX
  92.   MOV BX,10
  93.   CMP DX,BX
  94.   MOV BX,CX
  95.   JGE $+3
  96.   INC BX
  97.   OR BX,BX
  98.   JNZ $+5
  99.   JMP __L7
  100.   MOV BX,2
  101.   ADD BX,SP
  102.   MOV BX,[BX]
  103.   PUSH BX
  104.   MOV AL,[BX]
  105.   CBW
  106.   MOV BX,AX
  107.   MOV DX,48
  108.   ADD BX,DX
  109.   POP DX
  110.   MOV SI,DX
  111.   MOV [SI],BL
  112.   JMP __L8
  113. __L7:
  114.   MOV BX,2
  115.   ADD BX,SP
  116.   MOV BX,[BX]
  117.   PUSH BX
  118.   MOV AL,[BX]
  119.   CBW
  120.   MOV BX,AX
  121.   MOV DX,55
  122.   ADD BX,DX
  123.   POP DX
  124.   MOV SI,DX
  125.   MOV [SI],BL
  126. __L8:
  127.   MOV BX,2
  128.   ADD BX,SP
  129.   MOV DX,BX
  130.   MOV BX,[BX]
  131.   INC BX
  132.   MOV SI,DX
  133.   MOV [SI],BX
  134. __L4:
  135.   MOV BX,10
  136.   ADD BX,SP
  137.   PUSH BX
  138.   MOV BX,[BX]
  139.   XCHG DX,BX
  140.   MOV BX,08
  141.   ADD BX,SP
  142.   MOV BX,[BX]
  143.   MOV AX,DX
  144.   SUB DX,DX
  145.   IDIV BX
  146.   MOV BX,AX
  147.   POP DX
  148.   MOV SI,DX
  149.   MOV [SI],BX
  150.   OR BX,BX
  151.   JNZ $+5
  152.   JMP __L5
  153.   JMP __L6
  154. __L5:
  155.   MOV BX,2
  156.   ADD BX,SP
  157.   MOV BX,[BX]
  158.   XCHG DX,BX
  159.   MOV BX,0
  160.   MOV SI,DX
  161.   MOV [SI],BL
  162.   MOV BX,8
  163.   ADD BX,SP
  164.   MOV BX,[BX]
  165.   PUSH BX
  166.   MOV AL,1
  167.   CALL REV
  168.   ADD SP,2
  169.   ADD SP,4
  170.   RET
  171. ;
  172. REV:
  173.   SUB SP,4
  174.   MOV BX,2
  175.   ADD BX,SP
  176.   PUSH BX
  177.   MOV BX,8
  178.   ADD BX,SP
  179.   MOV BX,[BX]
  180.   PUSH BX
  181.   MOV BX,10
  182.   ADD BX,SP
  183.   MOV BX,[BX]
  184.   PUSH BX
  185.   MOV AL,1
  186.   CALL STRINGLENGHT
  187.   ADD SP,2
  188.   POP DX
  189.   ADD BX,DX
  190.   XCHG DX,BX
  191.   MOV BX,1
  192.   SUB DX,BX
  193.   MOV BX,DX
  194.   POP DX
  195.   MOV SI,DX
  196.   MOV [SI],BX
  197. __L10:
  198.   MOV BX,6
  199.   ADD BX,SP
  200.   MOV BX,[BX]
  201.   XCHG DX,BX
  202.   MOV BX,2
  203.   ADD BX,SP
  204.   MOV BX,[BX]
  205.   CMP DX,BX
  206.   MOV BX,CX
  207.   JAE $+3
  208.   INC BX
  209.   OR BX,BX
  210.   JNZ $+5
  211.   JMP __L11
  212.   MOV BX,0
  213.   ADD BX,SP
  214.   XCHG DX,BX
  215.   MOV BX,6
  216.   ADD BX,SP
  217.   MOV BX,[BX]
  218.   MOV AL,[BX]
  219.   CBW
  220.   MOV BX,AX
  221.   MOV SI,DX
  222.   MOV [SI],BX
  223.   MOV BX,6
  224.   ADD BX,SP
  225.   MOV DX,BX
  226.   MOV BX,[BX]
  227.   INC BX
  228.   MOV SI,DX
  229.   MOV [SI],BX
  230.   DEC BX
  231.   XCHG DX,BX
  232.   MOV BX,2
  233.   ADD BX,SP
  234.   MOV BX,[BX]
  235.   MOV AL,[BX]
  236.   CBW
  237.   MOV BX,AX
  238.   MOV SI,DX
  239.   MOV [SI],BL
  240.   MOV BX,2
  241.   ADD BX,SP
  242.   MOV DX,BX
  243.   MOV BX,[BX]
  244.   DEC BX
  245.   MOV SI,DX
  246.   MOV [SI],BX
  247.   INC BX
  248.   XCHG DX,BX
  249.   MOV BX,0
  250.   ADD BX,SP
  251.   MOV BX,[BX]
  252.   MOV SI,DX
  253.   MOV [SI],BL
  254.   JMP __L10
  255. __L11:
  256.   ADD SP,4
  257.   RET
  258. ;
  259. STRINGLENGHT:
  260.   SUB SP,2
  261.   MOV BX,0
  262.   ADD BX,SP
  263.   PUSH BX
  264.   MOV BX,6
  265.   ADD BX,SP
  266.   MOV BX,[BX]
  267.   XCHG DX,BX
  268.   MOV BX,1
  269.   SUB DX,BX
  270.   MOV BX,DX
  271.   POP DX
  272.   MOV SI,DX
  273.   MOV [SI],BX
  274. __L13:
  275.   MOV BX,0
  276.   ADD BX,SP
  277.   MOV DX,BX
  278.   MOV BX,[BX]
  279.   INC BX
  280.   MOV SI,DX
  281.   MOV [SI],BX
  282.   MOV AL,[BX]
  283.   CBW
  284.   MOV BX,AX
  285.   OR BX,BX
  286.   JNZ $+5
  287.   JMP __L14
  288.   JMP __L13
  289. __L14:
  290.   MOV BX,0
  291.   ADD BX,SP
  292.   MOV BX,[BX]
  293.   XCHG DX,BX
  294.   MOV BX,4
  295.   ADD BX,SP
  296.   MOV BX,[BX]
  297.   SUB DX,BX
  298.   MOV BX,DX
  299.   ADD SP,2
  300.   RET
  301.