мета-данные страницы
  •  
Загрузка не удалась. Возможно, проблемы с правами доступа?

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
asm:second1 [10/02/2011 17:38] arabusovasm:second1 [10/02/2011 22:46] (текущий) arabusov
Строка 8: Строка 8:
  
 Определим массив переменных greet Определим массив переменных greet
-<code>+<code asm>
 _DATA segment word public "DATA" _DATA segment word public "DATA"
  
Строка 16: Строка 16:
 </code> </code>
 и инициализируем ds указанием на сегмент данных и инициализируем ds указанием на сегмент данных
-<code>+<code asm>
 _CODE segment word public "CODE" _CODE segment word public "CODE"
  
Строка 23: Строка 23:
  
 </code> </code>
-В результате выполнения следующих последовательностей команд в регистре al окажется символ 'o'((Для справки: как вывести содержимое регистра al на экран:<code>mov ah,0eh+В результате выполнения следующих последовательностей команд в регистре al окажется символ 'o'((Для справки: как вывести содержимое регистра al на экран:<code asm>mov ah,0eh
 mov bh,0 mov bh,0
 int 10h</code>)) int 10h</code>))
-  - <code>+  - <code asm>
 mov al,'o' mov al,'o'
 </code> </code>
-  - <code>mov al,[greet+4]</code> +  - <code asm>mov al,[greet+4]</code> 
-  - <code>mov si, (offset greet) + 4+  - <code asm>mov si, (offset greet) + 4
 mov al,[si]</code> mov al,[si]</code>
-  - <code>mov bx, offset greet + 4+  - <code asm>mov bx, offset greet + 4
 mov al,[bx]</code> mov al,[bx]</code>
-  - <code>mov bx,offset greet+  - <code asm>mov bx,offset greet
 mov si,4 mov si,4
 mov al,[bx + si]</code> mov al,[bx + si]</code>
Строка 54: Строка 54:
 ==== Примеры ==== ==== Примеры ====
 Модуль Си:<code c>#include <stdio.h> Модуль Си:<code c>#include <stdio.h>
-extern int Fun (void)+extern int Fun (void);
 int main () int main ()
 { {
Строка 60: Строка 60:
    return 0;    return 0;
 }</code> }</code>
-Модуль Ассемблер:<code>.MODEL SMALL+Модуль Ассемблер:<code asm>.MODEL SMALL
 PUBLIC _Fun PUBLIC _Fun
 .CODE .CODE
Строка 71: Строка 71:
   - скомпилировать ассемблерный модуль в объектный с опцией /mx   - скомпилировать ассемблерный модуль в объектный с опцией /mx
   - в IDE Turbo C v2.0 создать проект, в которой вписать название модуля Си и объектного модуля, полученного из ассемблерного   - в IDE Turbo C v2.0 создать проект, в которой вписать название модуля Си и объектного модуля, полученного из ассемблерного
 +=== Последовательность действий для сборки гибридной программы ===
 +tasm //asm_module.asm// /mx
 +
 +tc
 +
 +**Project -> Project Name** //project.prj//
 +
 +**Compile -> Make**
 +
 +**File -> OS Shell** //if no errors//
 +
 +//project//
 +=== Содержимое файла project.prj====
 +<code>asm_module.obj
 +c_module.c</code>