Вариант 1. В каждом задании даны начальные значения регистров AX,BX,CX,DX. Определить значения этих регистров после выполнения данного фрагмента

  • ID: 26784 
  • 5 страниц

Содержание:


Задача 1

Постановка задачи

Дан фрагмент программы на ассемблере:

push BX

push CX

push DX

push AX

mov AX,3508h

add BX,AX

pop AX

pop DX

mov AX,CX

shl BX,1

not AX

В каждом задании даны начальные значения регистров AX,BX,CX,DX. Определить значения этих регистров после выполнения данного фрагмента.

1. AX=0427h, BX=5ACEh, CX=0000h, DX=000Fh

Решение

Начальные значения регистров:

AX=0427h, BX=5ACEh, CX=0000h, DX=000Fh

Рассмотрим по строчно выполнение программы:

push BX поместить содержимое регистра BX в стек

push CX поместить содержимое регистра CX в стек

push DX поместить содержимое регистра DX в стек

push AX поместить содержимое регистра AX в стек

mov AX,3508h AX = 3508h

add BX,AX BX = 5ACEh + 3508h = 8FD6h

pop AX вытащить из стека AX = 0427h

pop DX вытащить из стека DX = 000Fh

mov AX,CX AX = CX = 0000h

shl BX,1 Сдвиг битов BX влево на 1 разряд.