Студопедия
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Программный код

Читайте также:
  1. Программный материал
  2. Программный принцип работы компьютера
  3. Программный способ
  4. Программный стек TCP/IP для сети Internet.
  5. Специальный программный инструментарий

(!) Құдай – дүниенің ақылды бастамасы

(?) Табиғат пен құдайдың біргуі

(?) Құдайды терістеу

(?) Ақырзаман туралы ілім

(?) Барлық жауаптар дұрыс емес

 

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

Написать программу на языке Ассемблер, которая при вводе строки считает количество в этой строке букв «A»и «B» и выводит на экран одно из сообщений: «Количество букв «А» в больше, чем количество букв «B»»; «Количество букв «B» в больше, чем количество букв «A»»; «Количество букв «А» «B» равное», в зависимости от того, что на самом деле.

Блок схема

(Укрупненная)

 
Начало

 
 
 
Ввод строки
Сравнение посимвольно каждой буквы или цифры строки с «А» и «В»; Наращивание переменной в регистре с символом, который подошел при сравнении    
 
Сравнение регистров и вывод соответствующего сообщения    


Останов

Блок схемы №2

(По укрупненным блокам)

 

3,1
D1 db 'Kolichestvo bukv "A" bolshe, chem kolichestvo bukv "B"$' D2 db 'Kolichestvo bukv "B" bolshe, chem kolichestvo bukv "A"$' D3 db 'Kolichestvo bukv "A" i "B" ravno$'  


У

ДА
ДА
ДА
НЕТ
НЕТ
НЕТ
3,2
3,3
3,4
3,5
3,6
3,7
3,8
3,9
Inc bx Inc si  
Cmp cl,'A'  
Cmp cl,'B'  
Inc di Inc si  
Inc si  
Cmp cl,'Odh'  
Mov ah,2 Mov dl,0dh Int 21h Mov dl,0ah Int 21h  


Блок-схема №3

(По укрупненным блокам)

   
ДА
НЕТ
РАВНО
4,1
4,2
4,3
4,4
4,5
Mov ah,9 Lea dx,d3 Int 21h  
Mov ah,9 Lea dx,d1 Int 21h  
Mov ah,9 Lea dx,d2 Int 21h  
Cmp di,bx  


Программный код

1. Code segment para public 'code'

2. Assume cs:code, ds:code,ss:code,es:code

3. ORG 100h

4. mov Dx,code

5. mov Ds,dx

6. mov Ss,dx

7. mov Es,dx

8. Jmp M1

9. Par1 Label Byte

10. Md1 db 20

11. Rd1 db?

12. Str1 db 101 dup(?)

13. D1 db 'Kolichestvo bukv "A" bolshe, chem kolichestvo bukv "B"$'

14. D2 db 'Kolichestvo bukv "B" bolshe, chem kolichestvo bukv "A"$'

15. D3 db 'Kolichestvo bukv "A" i "B" ravno$'

16. M1:

17. Mov ah,0ah

18. Lea DX,par1

19. Int 21h

20. Mov di,0

21. Mov bx,0

22. Mov cx,0

23. Lea si,str1

24. M6:

25. Mov cx,[si]

26. Cmp cl,'a'

27. Je m3

28. Cmp cl,'b'

29. Je m5

30. Cmp cl,0dh

31. Je m9

32. Inc si

33. Jmp m6

34. M3:

35. Inc bx

36. Inc si

37. Jmp m6

38. M5:

39. Inc di

40. Inc si

41. Jmp m6

42. M9:

43. Mov ah,2

44. Mov dl,0dh

45. Int 21h

46. Mov dl,0ah

47. Int 21h

48. Cmp di,bx

49. Jg v1

50. Jl v2

51. Je v3

52. V1:

53. Mov ah,9

54. Lea dx,d2

55. Int 21h

56. Jmp m21

57. V2:

58. Mov ah,9

59. Lea dx,d1

60. Int 21h

61. Jmp m21

62. V3:

63. Mov ah,9

64. Lea dx,d3

65. Int 21h

66. M21:

67. Mov ah,4ch

68. Int 21h

69. Code ends

70. End

ScreenShot

( Компиляция )




Дата добавления: 2014-12-19; просмотров: 69 | Поможем написать вашу работу | Нарушение авторских прав

<== предыдущая лекция | следующая лекция ==>
Нигилизм бұл...| РАСПРЕДЕЛЕНИЕ ТЕМ, ЧАСОВ ЗАНЯТИЙ ПО МОДУЛЯМ И СЕМЕСТРАМ

lektsii.net - Лекции.Нет - 2014-2025 год. (0.012 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав