Подключение внешних процедур - Assembler
Формулировка задачи:
Здравствуйте. Написал программу (прошу не смеяться):
Надо сделать процедуру resh внешней. Пытался сделать сам - не получалось. Если можете, напишите главную прогу + прогу с внешней процедурой и как компилировать.
TITLE PROGNAME (EXE) ;---------------------------------------- STACKSG SEGMENT PARA STACK 'Stack' DW 32 DUP(?) STACKSG ENDS ;---------------------------------------- DATASG SEGMENT PARA 'Data' UVAR DW 3 a dw 3 b dw 2 x dw 6 p1 dw (?) p2 dw 2 p3 dw 3 ASCVAL DB ' ','$' EXIT DW (?) DATASG ENDS ;---------------------------------------- CODESG SEGMENT PARA 'Code' BEGIN PROC FAR ASSUME CS:CODESG, DS:DATASG, SS:STACKSG PUSH DS XOR AX,AX PUSH AX MOV AX,DATASG MOV DS,AX LEA SI,ASCVAL call resh mov uvar,ax CALL SCRLIN RET BEGIN ENDp resh proc mov ax,a imul p3 mov p1,ax mov ax,x imul ax idiv p1 mov p1,ax mov ax,a imul b idiv p2 add ax,p1 mov p1,ax mov ax,x imul b imul a imul p2 add ax,p1 resh endp SCRLIN PROC NEAR ... вывод числа ... SCRLIN ENDP CODESG ENDS END BEGIN
Решение задачи: «Подключение внешних процедур»
textual
Листинг программы
EXTERN Name_of_PROC ...... ;далее в коде вызываем её, когда надо
Объяснение кода листинга программы
- В коде присутствует команда EXTERN, которая используется для подключения внешних процедур.
- В данной команде указывается имя процедуры, которую необходимо подключить. В данном случае это
Name_of_PROC
. - Далее в коде вызывается эта процедура, когда это необходимо.
- Команда EXTERN и процедура
Name_of_PROC
должны быть размещены в разных местах кода, чтобы корректно работать. - Ваш код должен содержать не более 20 элементов, включая команду EXTERN и вызовы процедуры
Name_of_PROC
. - Номера элементов кода, которые соответствуют этим пунктам, будут зависеть от конкретной реализации и структуры вашего кода.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д