Передвижение точки (группы точек) при помощи "стрелок" - Assembler

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

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

Написать программу которая передвигает точку(группу точек), под управлением "стрелок". Вызов функции вывода сделать в подпрограмме.

Решение задачи: «Передвижение точки (группы точек) при помощи "стрелок"»

textual
Листинг программы
  1. .model small
  2. .386
  3.  
  4. .stack 100h
  5.  
  6. .data
  7.  
  8. .code
  9. start:
  10. mov ax,@data
  11. mov ds,ax
  12.  
  13. xor ah,ah
  14. mov al,03h
  15. int 10h
  16.  
  17. push 0B800h
  18. pop es
  19. mov di,1998
  20.  
  21. mov bx,0207h
  22.  
  23. mov dx,03h
  24.  
  25. mov cx,dx
  26. base:
  27. mov word ptr es:[di],bx
  28. add di,2
  29. loop base
  30.  
  31. sub di,6
  32.  
  33. input:
  34. xor ah,ah
  35. int 16h
  36.  
  37. cmp al,1Bh
  38. je exit
  39.  
  40. cmp ah,48h
  41. je up
  42.  
  43. cmp ah,4Bh
  44. je left
  45.  
  46. cmp ah,4Dh
  47. je right
  48.  
  49. cmp ah,50h
  50. je down
  51.  
  52. up:
  53. mov cx,dx
  54. up_del:
  55. mov word ptr es:[di],0000h
  56. add di,2
  57. loop up_del
  58.  
  59. sub di,6
  60.  
  61. sub di,160
  62.  
  63. mov cx,dx
  64. up_move:
  65. mov word ptr es:[di],bx
  66. add di,2
  67. loop up_move
  68.  
  69. sub di,6
  70.  
  71. jmp next
  72.  
  73. left:
  74. mov cx,dx
  75. left_del:
  76. mov word ptr es:[di],0000h
  77. add di,2
  78. loop left_del
  79.  
  80. sub di,8
  81.  
  82. mov cx,dx
  83. left_move:
  84. mov word ptr es:[di],bx
  85. add di,2
  86. loop left_move
  87.  
  88. sub di,6
  89.  
  90. jmp next
  91.  
  92. right:
  93. mov cx,dx
  94. right_del:
  95. mov word ptr es:[di],0000h
  96. add di,2
  97. loop right_del
  98.  
  99. sub di,4
  100.  
  101. mov cx,dx
  102. right_move:
  103. mov word ptr es:[di],bx
  104. add di,2
  105. loop right_move
  106.  
  107. sub di,6
  108.  
  109. jmp next
  110.  
  111. down:
  112. mov cx,dx
  113. down_del:
  114. mov word ptr es:[di],0000h
  115. add di,2
  116. loop down_del
  117.  
  118. sub di,6
  119.  
  120. add di,160
  121.  
  122. mov cx,dx
  123. down_move:
  124. mov word ptr es:[di],bx
  125. add di,2
  126. loop down_move
  127.  
  128. sub di,6
  129.  
  130. next:
  131. mov word ptr es:[di],bx
  132. jmp input
  133.  
  134. exit:
  135. xor ah,ah
  136. int 16h
  137.  
  138. mov ah,4Ch
  139. mov al,00h
  140. int 21h
  141. end start

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


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

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

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

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

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

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