Кто может проверить, правильно ли я написал программу? - Assembler
Формулировка задачи:
Нужно разработать программу с подпрограммой. В программе задаются данные 3 регистров (для каждого своя), после этого происходят операции на этими данными и результаты записываются соответственно, затем они складываются. Я тут прикинул. Исправьте меня, пожалуйста, если неправильно. Косяки возможны в в подпрограмме.
(53+AL)*2+(150-AL)/3
BX=36 CX=82 DX=18
PROG: XOR AH, AH MOV BL, AL ADD BL, 53 MOV CL, 150 SUB CL, AL ADD BL, BL (по-моему, здесь косяк) MOV AL, 3 DIV CL ADD AL, BL RET MOV AL, 18 CALL PROG MOV DX, AX MOV AL, 82 CALL PROG MOV CX, AX MOV AL, 36 CALL PROG MOV BX, AX ADD DX, BX ADD DX, CX
Решение задачи: «Кто может проверить, правильно ли я написал программу?»
textual
Листинг программы
push bx push cx ; тут код процедуры pop cx pop bx ret
Объяснение кода листинга программы
В данном коде, написанном на языке Assembler, происходит следующее:
push bx
- на стек записывается значение регистра bx.push cx
- на стек записывается значение регистра cx.; тут код процедуры
- здесь располагается код процедуры, который не представлен в данном фрагменте.pop cx
- со стека считывается значение, которое записывается в регистр cx.pop bx
- со стека считывается значение, которое записывается в регистр bx.ret
- выполнение программы завершается, и управление передается операционной системе.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д