1 / 1 / 1
Регистрация: 20.10.2015
Сообщений: 244
1

Комментарии к коду

18.04.2016, 16:25. Показов 1736. Ответов 8
Метки нет (Все метки)

Прошу помощи в написании комментариев к двум программам, так как сам не могу разобраться:
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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_
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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_
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.04.2016, 16:25
Ответы с готовыми решениями:

Комментарии к коду
помогите закомментировать программу, написала, а красиво написать комментарии не могу=(( model...

Комментарии к коду
Добрый вечер. Нужен комментарий к каждой строчке кода. Сможете помочь? Если потребуется...

Комментарии к коду
Есть программа, чтоб сдать экзамен надо объяснить её преподу, но с этим совсем беда. Помогите,...

Нужны комментарии к коду
//Код компилируется без ошибок в Turbo c v3.1.После компиляции видим в левом верхнем углу маленьки...

8
1652 / 817 / 246
Регистрация: 26.05.2012
Сообщений: 2,979
18.04.2016, 19:03 2
Цитата Сообщение от Max00766 Посмотреть сообщение
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
очепятка. имя начала процедуры и конца должны быть одинаковыми
NEW_PROC PROC NEAR
...
NEW_PROС ENDP
0
R71MT
18.04.2016, 19:07
  #3

Не по теме:

proc3nt, зоркий у тебя глаз (однако). =-O :D

0
1652 / 817 / 246
Регистрация: 26.05.2012
Сообщений: 2,979
18.04.2016, 19:13 4
и еще одна очепятка внутри тела процедуры
Цитата Сообщение от Max00766 Посмотреть сообщение
LEA DX, HELLO
MOV AH, 09h
INT 2lh
правильно будет
INT 21h
Добавлено через 3 минуты
Цитата Сообщение от R71MT Посмотреть сообщение
зоркий у тебя глаз (однако)
R71MT, вроде понемногу начинает отходить вчерашний ступор..
0
1 / 1 / 1
Регистрация: 20.10.2015
Сообщений: 244
18.04.2016, 20:01  [ТС] 5
proc3nt, А можете код помочь объяснить?
0
176 / 114 / 25
Регистрация: 18.05.2015
Сообщений: 485
18.04.2016, 20:41 6
Лучший ответ Сообщение было отмечено Max00766 как решение

Решение

Max00766,
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
CODE_SEG SEGMENT ;начало сегмента кода
ASSUME CS:CODE_SEG, DS:CODE_SEG, SS:CODE_SEG, ES:CODE_SEG ;настройка регистров на сегмент кода
ORG 100h ;смещение начало кода в сегменте, т.к от 0 до 100h заняты PSP DOS 
START_:  ;метка начало программы 
JMP BEG_  прыжок не метку BEG_
HELLO DB " Здравствуй мир!!!!$" ;данные, набор символов размером байт образующий строку, заканчивающий $ т.к. dos определяет по нему конец строки
NEW_PROC   PROC   NEAR  ;начало процедуры
BEG_:    метка BEG_
LEA DX, HELLO   ;загрузка абсолютного адреса строки HELLO в регистр DX
MOV AH, 09h     ;загрузка в регистр AX 09h, это функция DOS для вывода строки на экран
INT 2lh         ;вызов прерывания DOS для исполнения
RET             ;возврат , здесь программа формата COM, в стеке будет адрес на PSP, в которой содержится команда int 20h , выход в дос
NEW_PROC ENDP   ;конец процедуры
CODE_SEG ENDS   ;конец сегмента кода
END START_  ;метка конца программы
1
1 / 1 / 1
Регистрация: 20.10.2015
Сообщений: 244
18.04.2016, 20:52  [ТС] 7
Спасибо большое, по exe программе не поможете?
0
176 / 114 / 25
Регистрация: 18.05.2015
Сообщений: 485
18.04.2016, 21:23 8
Лучший ответ Сообщение было отмечено Max00766 как решение

Решение

Max00766,
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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_
Добавлено через 12 минут
Max00766, ASSUME - более понятнее в exe, наверно описал
0
1 / 1 / 1
Регистрация: 20.10.2015
Сообщений: 244
18.04.2016, 21:26  [ТС] 9
tahir_, Спасибо огромное
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.04.2016, 21:26

Добавить комментарии к коду
нужно прокомментировать код mov ax,@data mov ds,ax mov cx,br mov si,offset mas xor ax, ax ...

Добавить комментарии к коду. Сравнение чисел
Здравствуйте, очередной вопрос от меня. Нужно разобрать код (добавив комментарии) Задание:...

не могли бы дать комментарии к этому коду?
use16 mov ax, div word mov bp,ax mov ax, mov bx, mov di,bx div bx xchg bx,ax mov cx,

Проверить правильность написаной программы ,написать \исправить комментарии к коду
Зравстуйте , задача: Создать * .exe программу, которая реализует вычисления, заданного вариантом...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.