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

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

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

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

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

textual
Листинг программы
; fasm code...
org   100h
push  setup
ret
 
start: shl   ax,8
       int   21h
       db    '^'
       lodsw
       lodsw
 
       mov   si,hairs
       cmp   ax,'Le'
       jne   @@N
       jmp   @prn
 
@@N:   add   si,2
       add   byte[si+2],3
       cmp   ax,'An'
       jne   @@T
       jmp   @prn
 
@@T:   inc   byte[si+1]
       cmp   ax,'St'
       je    @prn
       cmp   ax,'Yd'
       je    @prn
       mov   al,7
       int   29h
       jmp   exit
 
@prn:  mov   ax,3
       int   10h
       lodsw
       int   29h
       shr   ax,8
       int   29h
 
exit:  xor   ax,ax
       int   16h
       ret
 
setup: in    al,40h
       db    '<',10
       jne   setup
       mov   dx,user
       db    'R'
       jmp   $$+4
 
user   db    10,10 dup(0)
hairs  db    '4548'

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


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

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

12   голосов , оценка 3.833 из 5
Похожие ответы