Проанализировать введенную строку и вывести результат - 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'
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д