Проанализировать введенную строку и вывести результат - Assembler

Узнай цену своей работы

Формулировка задачи:

Ввести одну из строк символьных данных: "Ананьев", "Стерехов", "Юденков", "Лебедев", "Фролов" Проанализировав введенные данные. выдать на экран 48, если Ананьев 49 если Стерехов или юденков 45 если Лебедев 50 если фролов Помогите пожалуйста, нужно чтобы компилировалась через winasm. В dosbox

Решение задачи: «Проанализировать введенную строку и вывести результат»

textual
Листинг программы
  1. ; fasm code...
  2. org   100h
  3. push  setup
  4. ret
  5.  
  6. start: shl   ax,8
  7.        int   21h
  8.        db    '^'
  9.        lodsw
  10.        lodsw
  11.  
  12.        mov   si,hairs
  13.        cmp   ax,'Le'
  14.        jne   @@N
  15.        jmp   @prn
  16.  
  17. @@N:   add   si,2
  18.        add   byte[si+2],3
  19.        cmp   ax,'An'
  20.        jne   @@T
  21.        jmp   @prn
  22.  
  23. @@T:   inc   byte[si+1]
  24.        cmp   ax,'St'
  25.        je    @prn
  26.        cmp   ax,'Yd'
  27.        je    @prn
  28.        mov   al,7
  29.        int   29h
  30.        jmp   exit
  31.  
  32. @prn:  mov   ax,3
  33.        int   10h
  34.        lodsw
  35.        int   29h
  36.        shr   ax,8
  37.        int   29h
  38.  
  39. exit:  xor   ax,ax
  40.        int   16h
  41.        ret
  42.  
  43. setup: in    al,40h
  44.        db    '<',10
  45.        jne   setup
  46.        mov   dx,user
  47.        db    'R'
  48.        jmp   $$+4
  49.  
  50. user   db    10,10 dup(0)
  51. hairs  db    '4548'

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.833 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы