- •Отчет по лабораторной работе №2 «Организация памяти в программе»
- •2005 Г. Текст задания
- •Файл диагностических сообщений
- •Протокол пошагового исполнения программы
- •Пояснения корректных методов адресации
- •Пояснения имеющихся некорректных конструкций
- •Сведения о сегментировании
- •Пояснения о использовании псп в данной программе
Протокол пошагового исполнения программы
Отладчик |
Программа |
Исходные данные |
Изменяемые данные | ||
До |
После | ||||
F1 |
1E |
SP SS:[0016] |
0018 0000 |
0016 2524 | |
F1 |
2ВС0 |
АХ |
0000 |
0000 | |
F1 |
50 |
SP SS:[0014] |
0016 3346 |
0014 0000 | |
F1 |
В83625 |
АХ |
0000 |
2536 | |
F1 |
8ED8 |
DS |
2524 |
2536 | |
F1 |
B8F401 |
АХ |
2536 |
01F4 | |
F1 |
8ВС8 |
СХ |
00А6 |
01F4 | |
F1 |
В324 |
BL |
00 |
24 | |
F1 |
В7СЕ |
ВН |
00 |
СЕ | |
F1 |
C7060200CEFF |
DS:[0002] |
0000 |
FFCE | |
F1 |
BB0E00 |
ВХ |
СЕ24 |
000Е | |
F1 |
А30000 |
DS:[0000] |
0000 |
01F4 | |
F1 |
8АО7 |
AL |
F4 |
D8 | |
F1 |
8А4703 |
AL |
D8 |
32 | |
F1 |
8B4F03 |
СХ |
01F4 |
ЕС32 | |
F1 |
BF0200 |
DI |
0000 |
0002 | |
F1 |
8А850Е00 |
AL |
32 |
28 | |
F1 |
ВВ0300 |
ВХ |
000Е |
0003 | |
F1 |
8А811600 |
AL |
28 |
F9 | |
F1 |
В83625 |
АХ |
01F9 |
2536 | |
F1 |
8ЕС0 |
ES |
2524 |
2536 | |
F1 |
268В07 |
АХ |
2536 |
00FF | |
F1 |
В80000 |
АХ |
00FF |
0000 | |
F1 |
8ЕС0 |
ES |
2536 |
0000 | |
F1 |
1E |
SP SS:[0012] |
0014 0000 |
0012 2536 | |
F1 |
07 |
SP ES |
0012 0000 |
0014 2536 | |
F1 |
268B4FFF |
СХ |
ЕС32 |
FFCE | |
F1 |
91 |
АХ СХ |
0000 FFCE |
FFCE 0000 | |
F1 |
BF0200 |
DI |
0002 |
0002 | |
F1 |
268901 |
ES:[0005] |
С000 |
FFCE | |
F1 |
8ВЕС |
ВР |
0000 |
0014 | |
Fl |
8B5602 |
DX |
0000 |
2524 | |
Fl |
CA0200 |
SP |
0014 |
001A |
Пояснения корректных методов адресации
Команда |
Краткое пояснение |
mov ах, n1 |
поместить число n1 в АХ |
mov cx, ax |
поместить значение АХ в СХ |
mov bl, EOL |
поместить символ EOL в BL |
mov bh, n2 |
поместить число п2 в ВН |
mov mem2, n2 |
поместить n2 в память по адресу mem2 |
mov bx, OFFSET vec2 |
поместить смещение массива vec2 в ВХ |
mov meml, ax |
поместить значение АХ в память по адресу meml |
mov al, [bx] |
поместить байт по адресу ВХ в AL |
mov al, [bx]+3 |
поместить байт по адресу ВХ+3 в AL |
mov ex, 3[bx] |
поместить слово по адресу ВХ+3 в СХ |
mov di, ind |
поместить число ind в DI |
mov al, vec2[di] |
поместить байт по адресу vec2+di в al |
mov bx, 3 |
поместить число 3 в ВХ |
mov al, matr[bx][di] |
поместить байт по адресу matr+bx+di в al |
mov ax, SEG vec2 |
поместить сегмент, в котором vec2 в АХ |
mov es, ax |
поместить значение АХ в сегментный регистр ES |
mov ax, es:[bx] |
поместить слово по адресу ES:[ВХ] в АХ |
mov ax, 0 |
поместить число 0 в АХ |
mov es, ax |
поместить значение АХ в сегментный регистр ES |
push ds |
поместить значение DS в стек |
pop es |
извлечь значение из стека и поместить его в ES |
mov ex, es:[bx-l] |
поместить слово по адресу ES:[BX-1] в СХ |
xchg ex, ax |
поместить значение АХ в СХ, а СХ в АХ |
mov di, ind |
поместить число ind в DI |
mov es:[bx + di], ax |
поместить значение АХ в слово по адресу ES:[BX+DI] |
mov bp, sp |
поместить значение SP в ВР |
mov dx, [bp]+2 |
поместить в DX слово по адресу ВР+2 |
Ret 2 |
^поместить слово по адресу SS:[SP] в IP, SS:[SP+2] в CS и увеличить SP на б |