Комментарии к коду - Assembler (223974)
Формулировка задачи:
Прошу помощи в написании комментариев к двум программам, так как сам не могу разобраться:
Листинг программы
- STACK_SEG SEGMENT PARA STACK 'STACK'
- DB 100 DUP (?)
- STACK_SEG ENDS
- DATA_SEG SEGMENT
- HELLO DB "Hello world!!!$"
- DATA_SEG ENDS
- TEXT_SEG SEGMENT PARA 'CODE'
- ASSUME CS:TEXT_SEG, SS:STACK_SEG, DS:DATA_SEG, ES:DATA_SEG
- NEW_PROC PROC NEAR
- BEG_:
- MOV AX, DATA_SEG
- MOV DS, AX
- LEA DX, HELLO
- MOV AH, 09h
- INT 2lh
- MOV AH, 4CH
- INT 21H ; exit to MS-DOS
- NEW_PROG ENDP
- TEXT_SEG ENDS
- END BEG_
Листинг программы
- CODE_SEG SEGMENT
- ASSUME CS:CODE_SEG, DS:CODE_SEG, SS:CODE_SEG, ES:CODE_SEG
- ORG 100h
- START_:
- JMP BEG_
- HELLO DB " Здравствуй мир!!!!$"
- NEW_PROC PROC NEAR
- BEG_:
- LEA DX, HELLO
- MOV AH, 09h
- INT 2lh
- RET
- NEW_PROC ENDP
- CODE_SEG ENDS
- END START_
Решение задачи: «Комментарии к коду»
textual
Листинг программы
- STACK_SEG SEGMENT PARA STACK 'STACK' ;определяем стек программы, начало
- DB 100 DUP (?) ;объем стека
- STACK_SEG ENDS ;конец сегмента стека
- DATA_SEG SEGMENT ; начало сегмента данных
- HELLO DB "Hello world!!!$" ;строка
- DATA_SEG ENDS ;конец сегмента данных
- TEXT_SEG SEGMENT PARA 'CODE' ;определяем сегмент кода, начало
- ASSUME CS:TEXT_SEG, SS:STACK_SEG, DS:DATA_SEG, ES:DATA_SEG ;сообщаем ассемблеру сегмент и ассоциацией имени, но определять в каком регистре сегмент данных например все равно придется
- NEW_PROC PROC NEAR
- BEG_:
- MOV AX, DATA_SEG ;настраиваем ax на сегмента данных , другими словами,
- MOV DS, AX ;помещаем адрес сегмента данных из AX в DS для доступа к ним
- LEA DX, HELLO
- MOV AH, 09h
- INT 2lh
- MOV AH, 4CH ;функция завершения программы и выход в дос
- INT 21H ; exit to MS-DOS
- NEW_PROG ENDP
- TEXT_SEG ENDS
- END BEG_
Объяснение кода листинга программы
- Определяем стек программы, начало
- Определяем сегмент данных, начало
- Создаем строку
Hello world!!!$
в сегменте данных - Определяем сегмент кода, начало
- Сообщаем ассемблеру сегменты и ассоциацию имен
- Определяем процедуру, начало которой будет находиться по адресу BEG_
- Настраиваем AX на сегмент данных
- Помещаем адрес сегмента данных из AX в DS для доступа к ним
- Определяем адрес строки
Hello world!!!$
в DX - Запускаем функцию вывода строки на экран с использованием регистра AH
- Вызываем функцию завершения программы и выхода в DOS
- Запускаем процедуру, которая будет выполняться по адресу BEG_
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д