Advertisement
Guest User

Untitled

a guest
May 12th, 2017
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. TITLE TABSRCH (COM) Табличный поиск
  2. CODESG  SEGMENT PARA 'Code'
  3.     ASSUME CS:CODESG,DS:CODESG,ES:CODESG
  4.     ORG 100H
  5. BEGIN:  JMP SHORT MAIN
  6. ; ------s-----------------------------------------
  7. STOKNIN     DW  '23'
  8. STOKTAB DB  '05','Excavators'
  9.     DB  '08','Lifters   '
  10.     DB  '09','Presses   '
  11.     DB  '12','Valves    '
  12.     DB  '23','Processors'
  13.     DB  '27','Pumps     '
  14. DESCRN  DB  10 DUP (?), '$'
  15. ; -----------------------------------------------
  16. MAIN PROC NEAR
  17.     MOV AX,STOKNIN  ;Загрузить номер элемента
  18.     XCHG    AL,AH
  19.     MOV CX,06       ;Число элементов в таблице
  20.     LEA SI,STOKTAB  ;Начальный адрес таблицы
  21. A20:   
  22.     CMP AX,[SI]     ;Сравнить элементы
  23.     JE  A30     ;Если равны - выйти,
  24.     ADD SI,12       ;  нет - следующий элемент
  25.     LOOP    A20
  26.     CALL    R10ERR      ;Элемент в таблице не найден
  27.     RET
  28. A30:    MOV CX,05       ;Длина описания элемента
  29.     LEA DI,DESCRN   ;Адрес описания элемента
  30.     INC SI
  31.     INC SI      ;Выделить описание
  32.     REP MOVSW           ;  из таблицы
  33.    
  34.     mov ah, 09h
  35.     lea dx, DESCRN
  36.     int 21h
  37.    
  38.     MOV AX, 4C00h;
  39.     int 21h
  40.    
  41.     RET
  42. MAIN ENDP
  43. ;
  44. R10ERR PROC
  45. ; Вывод сообщения об ошибке
  46.     RET
  47. R10ERR ENDP
  48. CODESG ENDS
  49. END BEGIN
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement