Сколько байт в памяти занимают команды? - Assembler
Формулировка задачи:
Помогите люди добрые ответить на 4 вопроса!
С ассемблером дела не имел. Была только одна лекция, учусь на заочке.
1. Сколько байт в памяти занимает команда передачи данных MOV?
2. Сколько байт в памяти занимает команда выхода из процедуры RET?
3. Сколько байт в памяти занимает весь сегмент кода?
4. Сколько байт в памяти занимает директива процедуры ENDP?
Файл листинга:
Листинг программы
- Turbo Assembler Version 4.1 11/07/12 12:40:29 Page 1
- com.asm
- 1 0000 codesg SEGMENT PARA 'Code'
- 2 ASSUME CS:codesg,DS:codesg, SS:codesg, ES:nothing
- 3 ORG 100H
- 4 0100 EB 05 90 begin: JMP main
- 5 ;-------------------------------------------------------------
- 6 0103 01 02 03 04 flddb DB 1, 2, 3, 4
- 7 ;-------------------------------------------------------------
- 8 0107 main PROC NEAR
- 9 0107 8A 26 0103r MOV AH,byte ptr flddb
- 10 010B 32 F6 XOR DH,DH
- 11 010D C3 RET
- 12 010E main ENDP
- 13 010E codesg ENDS
- 14 END begin
- Turbo Assembler Version 4.1 11/07/12 12:40:29 Page 2
- Symbol Table
- Symbol Name Type Value
- ??DATE Text "11/07/12"
- ??FILENAME Text "com "
- ??TIME Text "12:40:29"
- ??VERSION Number 040A
- @CPU Text 0101H
- @CURSEG Text CODESG
- @FILENAME Text COM
- @WORDSIZE Text 2
- BEGIN Near CODESG:0100
- FLDDB Byte CODESG:0103
- MAIN Near CODESG:0107
- Groups & Segments Bit Size Align Combine Class
- CODESG 16 010E Para none CODE
Решение задачи: «Сколько байт в памяти занимают команды?»
textual
Листинг программы
- 9 0107 8A 26 0103r MOV AH,byte ptr flddb
Объяснение кода листинга программы
0107
- адрес, где находится текущая команда в памяти8A
- опкод команды, который указывает процессору, какую операцию нужно выполнить26
- модификатор команды, в данном случае, он указывает на размер операнда0103
- адрес операнда в памяти, в данном случае, это адрес переменной flddbMOV
- инструкция, которая перемещает значение из одного места памяти в другоеAH
- регистр общего назначенияbyte ptr
- указатель на размер операнда (в данном случае, это байтовый размер)flddb
- переменная, значение которой перемещается в регистр AH через указатель byte ptr
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д