Читайте также: |
|
(!) Құдай – дүниенің ақылды бастамасы
(?) Табиғат пен құдайдың біргуі
(?) Құдайды терістеу
(?) Ақырзаман туралы ілім
(?) Барлық жауаптар дұрыс емес
Формулировка задачи
Написать программу на языке Ассемблер, которая при вводе строки считает количество в этой строке букв «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 | Поможем написать вашу работу | Нарушение авторских прав |
<== предыдущая лекция | | | следующая лекция ==> |
Нигилизм бұл... | | | РАСПРЕДЕЛЕНИЕ ТЕМ, ЧАСОВ ЗАНЯТИЙ ПО МОДУЛЯМ И СЕМЕСТРАМ |