Организация и функционирование ЭВМ. Камалягин А.А - 4 стр.

UptoLike

4
Stack SEGMENT Stack
DB 100H DUP(?) ;стек размером 256 байтов.
Stack ENDS
ASSUME CS:Code, DS:Data, SS:Stack
Code SEGMENT
Start:
MOV AX,DATA ; загрузка номера сегмента (1)
MOV DS,AX ; в регистр DS. (2)
MOV DX,OFFSET Greet ; загрузка в DX адреса симв. строки. (3)
MOV AH,9 ; задание функции вывода строки. (4)
INT 21H ; вывод строки. (5)
MOV AL,0 ; завершение программы через (6)
MOV AH,4CH ; системную функцию возврата (7)
INT 21H ; в диспетчер MS DOS. (8)
Code ENDS
END Start ;адрес начала программы.
5.2. Используя компилятор Турбо Ассемблер, создайте файлы HELLO.OBJ и
HELLO.LST. Выведите на экран
текст HELLO.LST и проанализируйте его.
5.3. Используя компоновщик TLINK, создайте файлы HELLO.EXE и
HELLO.MAP.
5.4. Выведите на экран файл HELLO.MAP и ознакомьтесь с ним.
5.5. Убедитесь в работоспособности программы HELLO.
6. ОБЩИЕ СВЕДЕНИЯ
Несмотря на то, что современные языки программирования высокого
уровня обеспечивают не только удобное, но и эффективное системное програм-
мирование, в тех случаях, когда особенно важно
получить оптимальный объект-
ный код, необходимо использовать Ассемблер.
Исходный модуль программы на Ассемблере представляет собой после-
довательность строк, имеющих следующий формат:
[метка] команда [операнд(ы)] [комментарий]
После метки ставится двоеточие, команда и операнд разделяются по крайней
мере одним пробелом ; если операндов несколько, то они разделяются запятыми;
перед комментарием ставится точка
с запятой. В квадратные скобки заключены
необязательные компоненты.
Ассемблер имеет ряд операторов, которые позволяют управлять процес-
сом ассемблирования и формирования листинга. Эти операторы называются
псевдокомандами или директивами. Они действуют только в процессе ассемб-
лирования программы и не генерируют машинных кодов.
                                     4
  Stack SEGMENT Stack
      DB 100H DUP(?)          ;стек размером 256 байтов.
  Stack ENDS

  ASSUME      CS:Code, DS:Data, SS:Stack

   Code SEGMENT
Start:
       MOV AX,DATA            ; загрузка номера сегмента             (1)
       MOV DS,AX              ; в регистр DS.                        (2)
       MOV DX,OFFSET Greet    ; загрузка в DX адреса симв. строки.   (3)
       MOV AH,9               ; задание функции вывода строки.       (4)
       INT 21H                ; вывод строки.                        (5)
       MOV AL,0               ; завершение программы через           (6)
       MOV AH,4CH             ; системную функцию возврата           (7)
       INT 21H                ; в диспетчер MS DOS.                  (8)
   Code ENDS
   END Start                  ;адрес начала программы.

5.2. Используя компилятор Турбо Ассемблер, создайте файлы HELLO.OBJ и
HELLO.LST. Выведите на экран текст HELLO.LST и проанализируйте его.
5.3. Используя компоновщик TLINK, создайте файлы HELLO.EXE и
HELLO.MAP.
5.4. Выведите на экран файл HELLO.MAP и ознакомьтесь с ним.
5.5. Убедитесь в работоспособности программы HELLO.

                            6. ОБЩИЕ СВЕДЕНИЯ
      Несмотря на то, что современные языки программирования высокого
уровня обеспечивают не только удобное, но и эффективное системное програм-
мирование, в тех случаях, когда особенно важно получить оптимальный объект-
ный код, необходимо использовать Ассемблер.
      Исходный модуль программы на Ассемблере представляет собой после-
довательность строк, имеющих следующий формат:
      [метка] команда [операнд(ы)] [комментарий]
После метки ставится двоеточие, команда и операнд разделяются по крайней
мере одним пробелом ; если операндов несколько, то они разделяются запятыми;
перед комментарием ставится точка с запятой. В квадратные скобки заключены
необязательные компоненты.
      Ассемблер имеет ряд операторов, которые позволяют управлять процес-
сом ассемблирования и формирования листинга. Эти операторы называются
псевдокомандами или директивами. Они действуют только в процессе ассемб-
лирования программы и не генерируют машинных кодов.