Вторник, 24.06.2025, 00:13
БИС-4
Меню сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа

1DC3:0110 NOP

1DC3:0111 RET

1DC3:0112

 

-U 100,111

1DC3:0100 B82301        MOV     AX,0123

1DC3:0103 052500        ADD     AX,0025

1DC3:0106 8BD8          MOV     BX,AX

1DC3:0108 01C3          ADD     BX,AX

1DC3:010A 89D9          MOV     CX,BX

1DC3:010C 29C1          SUB     CX,AX

1DC3:010E 29C0          SUB     AX,AX

1DC3:0110 90               NOP

1DC3:0111 C3               RET

 

-R IP

IP 0108

:100

Команда R IP позволяет изменить регистр IP и в данном случае установить указатель команды в начало программы.

 

-R

AX=0148  BX=0148  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000

DS=1DC3  ES=1DC3  SS=1DC3  CS=1DC3  IP=0100   NV UP EI PL NZ NA PE NC

1DC3:0100 B82301        MOV     AX,0123

-T

 

AX=0123  BX=0148  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000

DS=1DC3  ES=1DC3  SS=1DC3  CS=1DC3  IP=0103   NV UP EI PL NZ NA PE NC

1DC3:0103 052500        ADD     AX,0025

 

В предыдущем примере использовались непосредственные данные ,описанные непосредственно в первых двух командах (MOV и ADD).Теперь рассмотрим аналогичный пример ,в котором значения 0123 и 0025 определены в полях сегмента данных.Данный пример позволяет понять ,как компьютер обеспечивает доступ к данным посредством регистра DS и адресного смещения

 

 

Сегмент данных:

 

      ¦ Адрес в DS   ¦   Значение    ¦   Номер байта   ¦

     +-----------------+----------------+--------------------+

      ¦          0000      ¦        23 01     ¦       0  1               ¦

      ¦          0002      ¦        25 00     ¦       2  3               ¦

      ¦          0004      ¦        00 00     ¦       4  5               ¦

      ¦          0006      ¦   2A 2A 2A  ¦       6  7 и 8         ¦

 

Программа в машинных кодах:

 

      A1 00 00   Переслать слово (2 байта) , начинающееся в DS  по адресу 00 в регистре AX.

 

      03060200   Прибавить содержимое слова, начин. в DS по адресу 0002 к регистру AX.

      A30400     Переслать содержимое регистра AX в слово начинающееся в DS по адресу 0004.

 

      CB         Вернуться в DOS.

 

Ввод данных в сегмент данных:

 

-E DS:00 23 01 25 00 00 00

-E DS:06 2A 2A 2A

 

Для ввода программы на машинном языке надо ввести следующие команды ,включая пробелы:

 

-E CS:100 A1 00 00 03 06 02 00

-E CS:107 A3 04 00 CB

 

Просмотр сегмента данных:

 

-D DS:00

1DC3:0000  23 01 25 00 00 00 2A 2A-2A F0 4F 03 4E 17 8A 03.

1DC3:0010  4E 17 17 03 4E 17 57 15-01 01 01 00 02 FF FF FF..

1DC3:0020  FF FF FF FF FF FF FF FF-FF FF FF FF 1C 17 4E 01.

1DC3:0030  53 1B 14 00 18 00 C3 1D-FF FF FF FF 00 00 00 00

1DC3:0040  07 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00  

1DC3:0050  CD 21 CB 00 00 00 00 00-00 00 00 00 00 20 20 20   .

1DC3:0060  20 20 20 20 20 20 20 20-00 00 00 00 00 20 20 20        

1DC3:0070  20 20 20 20 20 20 20 20-00 00 00 00 00 00 00 00           .

 

Просмотр сегмента кода:

 

-D CS:100

1DC3:0100  A1 00 00 03 06 02 00 A3-04 00 CB D9 29 C1 29 C0   .

1DC3:0110  90 C3 D6 E0 5C 74 12 80-BF D6 E0 3A 34 00 B2 1D  

1DC3:0120  D7 E0 5C 43 83 06 D1 DF-01 C7 06 CB DF D7 E0 01  

1DC3:0130  1E CB DF 80 3E CF DF 00-75 0D C7 87 D7 E0 2A 2E  

1DC3:0140  43 43 83 06 D1 DF 02 C7-87 D7 E0 2A 00 83 06 D1   CC

1DC3:0150  DF 01 5B C3 57 8B 3E CD-DF AC AA 0A C0 75 FA 5F  

1DC3:0160  C3 57 8B 3E CB DF EB F1-53 A1 D1 DF BB DB E1 03  

1DC3:0170  D8 80 7F FF 5C 74 04 C6-07 5C 43 89 1E CD DF 5B  

 

 

 

 

Просмотр регистров и текущей команды:

 

-R

AX=0123  BX=0148  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000

DS=1DC3  ES=1DC3  SS=1DC3  CS=1DC3  IP=0103   NV UP EI PL NZ NA PE C

1DC3:0103 03060200      ADD     AX,[0002]                          DS:0002=

 

Трассировка -выполнение одной команды:

 

-T

 

AX=0148  BX=0148  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000

DS=1DC3  ES=1DC3  SS=1DC3  CS=1DC3  IP=0107   NV UP EI PL NZ NA PE C

1DC3:0107 A30400        MOV     [0004],AX                          DS:0004=

-T

 

AX=0148  BX=0148  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000

DS=1DC3  ES=1DC3  SS=1DC3  CS=1DC3  IP=010A   NV UP EI PL NZ NA PE C

1DC3:010A CB            RETF

 

Возврат на начало программы:

 

-R IP

IP 010A

:100

 

 

Просмотр регистров и текущей команды:

 

-R

AX=0148  BX=0148  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000

DS=1DC3  ES=1DC3  SS=1DC3  CS=1DC3  IP=0100   NV UP EI PL NZ NA PE C

1DC3:0100 A10000        MOV     AX,[0000]                          DS:0000=0123

 

Трассировка  до конца программы с выполнением команды RET:

 

-T

 

AX=0123  BX=0148  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000

DS=1DC3  ES=1DC3  SS=1DC3  CS=1DC3  IP=0103   NV UP EI PL NZ NA PE C

1DC3:0103 03060200      ADD     AX,[0002]                          DS:0002=0025

-T

 

AX=0148  BX=0148  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000

DS=1DC3  ES=1DC3  SS=1DC3  CS=1DC3  IP=0107   NV UP EI PL NZ NA PE C

1DC3:0107 A30400        MOV     [0004],AX                          DS:0004=0148

-T

 

AX=0148  BX=0148  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000

DS=1DC3  ES=1DC3  SS=1DC3  CS=1DC3  IP=010A   NV UP EI PL NZ NA PE C

1DC3:010A CB            RETF

-T

 

AX=0148  BX=0148  CX=0000  DX=0000  SP=FFF2  BP=0000  SI=0000  DI=0000

DS=1DC3  ES=1DC3  SS=1DC3  CS=0D75  IP=0000   NV UP EI PL NZ NA PE NC

0D75:0000 005926        ADD     [BX+DI+26],BL                      DS:016E=E1



123

Друзья сайта
  • $$$ для web-мастеров
  • UNDERLIGHT
  • Программы для всех
  • ЭВМ-83
  • Поиск
    Календарь
    «  Июнь 2025  »
    ПнВтСрЧтПтСбВс
          1
    2345678
    9101112131415
    16171819202122
    23242526272829
    30
    Мы с вами
    Архив записей
    Обратная связь
    Главный Администратор
    ICQ: 407-470-624
    e-mail: meloman93@mail.ru
    Copyright MyCorp © 2025

    Конструктор сайтовuCoz