5. Исходный текст программы:
.386
csegsegmentuse16
assume cs:cseg
a dw 0020h
;=====================;
m1: MOV CX,a
MOV BX,-25
CMP CX,BX
JL m2
MOV BX,25
CMP CX,BX
JNG m3
m2: OR CH,11100000b ; В случае если не входит в интервал
m4: MOV ah,4ch
INT 21h
m3: MOV CH,CL ; Входит в интервал
XOR CH,00000111b
JMP m4
cseg ends
end m1
6. Листинг трансляции
1 .386
2 0000 cseg segment use16
3 assume cs:cseg
4 0000 0020 a dw 0020h
5 ;=====================;
6 0002 2E: 8B 0E 0000r m1: MOV CX,a
7 0007 BB FFE7 MOV BX,-25
8 000A 3B CB CMP CX,BX
9 000C 7C 0B 90 90 JL m2
10 0010 BB 0019 MOV BX,25
11 0013 3B CB CMP CX,BX
12 0015 7E 09 90 90 JNG m3
13 0019 80 CDE0m2:ORCH,11100000b; В случае если не входит в интервал
14 001C B4 4C m4: MOV ah,4ch
15 001ECD21INT21h
16 0020 8AE9m3:MOVCH,CL; Входит в интервал
17 0022 80 F5 07 XOR CH,00000111b
18 0025 EB F5 JMP m4
19 0027 cseg ends
20 end m1
7. Данные для отладки: исходные и ожидаемые результаты
Исходные данные в памяти | |||
Симв. имя |
Адреса в памяти |
Значения байтов (в hex) 1 вариант |
Значения байтов (в hex) 2 вариант |
A |
CS: 0000 |
20 00h |
0A 00 |
Ожидаемый результат | |||
Симв. имя |
Адреса в памяти |
Значения байтов (в hex) 1 вариант |
Значения байтов (в hex) 2 вариант |
|
CH |
E0 |
0D |
8. Результаты исполнения: скриншоты из отладчика