Реферат: Программная модель процессоров семейства X86
imul множитель_1 - операция умножения двух целочисленных двоичных значений со знаком
Деление двоичных чисел
div делитель - выполнение операции деления двух двоичных беззнаковых значений
Алгоритм работы:
Для команды необходимо задание двух операндов — делимого и делителя. Делимое задается неявно и размер его зависит от размера делителя, который указывается в команде
divdl ;ah:al=ax/dl, ax –делимое, dl- делитель , ah-частное, al -остаток
divx1 ;ax:dx=dx:ax/0ad91h, dx:ax –делимое, x1 word- делитель , ax-частное,
;dx -остаток
divecx ;eax:edx=edx:eax/ecx, edx:eax –делимое, ecx- делитель , eax-частное,
;edx -остаток
idiv делитель - операция деления двух двоичных значений со знаком
Пример программы умножения двух однобайтных чисел.
model small .stack 100h .data x1 db 78yl db ?yh db ?.code start: mov ax,@data mov ds,ax xor ax, ax mov al, 25 mulx1jncm1 ;???? ??? ????????????mov yh,ahm1: mov yl, al mov ax,4c00h int 21hend start
Пример. Вычислите следующее выражение у=(х2-х3)/х1, х1,х2,х3 - однобайтные числа
model small
.stack 100h
.data
s1 db 'Введитех1',10,13,'$'
s2 db 'Введите х2',10,13,'$'
s3 db 'Введите х3',10,13,'$'
x1 db ?
x2 db ?
ycdb ? ;частное
yo db ? ;остаток
.code
start:
mov ax,@data
mov ds,ax
mov ah,09h
mov dx, offset s1