Программирование на Ассемблере под DOS

         

Сохраняем получившуюся дуру


Нижеследующий текст набираем в текстовом редакторе:
;-[блок 2]-------------------------- CODESG segment assume CS:CODESG org 100
;-[блок 3]-------------------------- MAIN proc xor AL,AL mov BH,10h mov CH,5 mov CL,10h mov DH,10h mov DL,3Eh mov AH, 6 int 10h call WINDOW call WINDOW call WINDOW call WINDOW int 20h MAIN endp
WINDOW proc ADD BH,10h ADD CH,1 ADD CL,1 SUB DH,1 SUB DL,1 INT 10h RET WINDOW endp
;-[блок 4]-------------------------- CODESG ends
end MAIN
Сохраняем получившуюся дуру под именем proga_1.asm.
  Далее запускаем файл tasm.exe и в качестве параметра передаем ему имя файла с исходным текстом программы...То есть командная строка у вас (в том же Windows Commander'е) вот какая должна быть: tasm proga_1.asm
  Если вы правильно набрали текст программы, то TASM должен выплюнуть вам вот что: Turbo Assembler Version 4.1 Copyright (c) 1988, 1996 Borland International Assembling file: proga_1.asm Error messages: None Warning messages: None Passes: 1 Remaining memory: 406k
  Самое тут главное - это чтоб "Error messages" был "None". Это значит, что ошибок в программе нет.
  Поехали дальше... Если ошибок у вас действительно никаких не было, то в том же каталоге, что и proga_1.asm ищите файл proga_1.OBJ. Можете даже по F3 попробовать просмотреть его содержимое... Что-нибудь поняли? Если нет - отсылаю вас к "Введению в машинный код".
  А теперь запускаем хорошую программу TLINK следующим образом: tlink /t proga_1.obj
  Обратите внимание: линкуем мы именно файл с типом OBJ, а не ASM.
  Что получилось? А получился файл proga_1.COM!! И этот .COM работает!
  Посмотрите на его содержимое в DZEBUG'е :). Отличется ли оно чем от той проги, что мы делали ранее?
  Нет, не отличается!
  Медитируем...

Содержание раздела