Консультация № 172427
21.09.2009, 20:48
0.00 руб.
0 5 0
Доброго времени суток!!!
Помогите написать програмку деления 4-х байтного слова на 2-х байтное. Нужен код программы. Сам я в ассемблере ничего не понимаю. Заранее благодарю.

Обсуждение

Неизвестный
21.09.2009, 20:53
общий
Ввод исходных чисел с клавиатуры и вывод нужны?
Неизвестный
21.09.2009, 20:55
общий
нет ввод без клавы, вывод смотрится в дампе деление насколько я понял должно быть при помощи div. Немного коментариев которые я не понял, так как делимое у нас 4-х байтное то старшая часть записывается в регистр AX, а младшая в DX, а вот как реализовывается всё это мне не понятно.
Неизвестный
21.09.2009, 22:06
общий
если кратко, то так
Код:
.model small
.stack 200h
.data
delimoe dd 12345678h
deletel dw 5678h
.code
.startup
mov dx,word ptr delimoe+2
mov ax,word ptr delimoe
mov bx,deletel
div bx ; dx:ax/bx=ax результат

.exit(0)
end
Неизвестный
22.09.2009, 17:17
общий
Vitaliy V:
Хорошо бы указывать процессор, режим работы процессора, если процессор типа intel/amd x86/x64, синтаксис транслятора (intel/motorola)

Для i368+/32bit
Код:

.text
mov eax,dword ptr divident ;помещаем в eax делимое
xor edx,edx ;очищаем edx
movzx ebx,word ptr divisor ;помещаем в ebx делитель
div ebx ;делим eax:edx на ebx, в eax получаем частное
.data
divident: dd 12345678h
divisor: dw 1234h
Неизвестный
22.09.2009, 21:17
общий
Спасибо большое.
Форма ответа