0 / 0 / 0
Регистрация: 02.12.2011
Сообщений: 10
1

ошибка в использовании регистров

08.12.2011, 15:05. Показов 632. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
программа вычисляет число нулей k в двоичной записи натурального числа m
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int m_asm(int m)
{
        int k;
        __asm 
        {
        mov ax,m
        mov cx,2                        
        mov dx,0
        m1: cmp ax,0 je m2   
            div cx                                
            cmp ah,0  je inc dx  
            sub ax,ah 
            div cx                    
            mov ax,al
        jmp m1
        m2: mov k,dx
        }
      return k;
}
компилятор говорит:size conflict
а как правильно сделать присвоение переменной ax её остатка ah, а затем и частного от деления ах на сх?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.12.2011, 15:05
Ответы с готовыми решениями:

Вывод на экран двоичного содержимого двух регистров (ввести значения этих регистров требуется с клавиатуры)
требуется разработать программу вывода на экран двоичного содержимого двух регистров так, чтобы...

Сложить содержание регистров R1 и R4 текущего банка регистров и отразить результат на статическом индикаторе
Сложить содержание регистров R1 и R4 текущего банка регистров и отразить результат на статическом...

Ошибка код 109 после очистки регистров
Добрый день! Обновил windows 8.1pro на 10pro. Система неделю чувствовала себя нормально, пока не...

Ошибка при использовании vector (в конце, после вывода результатов выскакивает ошибка, но сам результат коректен)
Суть в следующем, мы считываем введеные значения и выводим этот массив Проблема такова что...

1
Клюг
7673 / 3188 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
08.12.2011, 16:40 2
Цитата Сообщение от Daria Pimenova
div cx
Дык, остаток-то будет в DX:
DIV r/m16 Unsigned divide DX:AX by r/m16; AX <- Quotient, DX <- Remainder
А задачка решается через сдвиги.
Примерно так:
Assembler
1
2
3
4
5
6
7
    mov cx, 16
    mov bx, m
    xor ax, ax
@@l:    rcl bx, 1
    sbb ax, 0
    loop    @@l
    add ax, 16
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.12.2011, 16:40
Помогаю со студенческими работами здесь

Ошибка в использовании библиотеки/ошибка в библиотеке
Изучаю Java, написал библиотеку для рисования некоторых геометрических фигур (точка, круг, квадрат,...

Ошибка при использовании where
Добрый день всем. Есть таблица товаров и есть поля типа varchar. Составил такой запрос UPDATE...

Ошибка при использовании using
Что означает данная ошибка?

Ошибка в использовании strcat
Почему не работает функция strcat и компилятор ругается на X #include &quot;stdafx.h&quot; #include...

Else - ошибка при использовании
Здравствуйте, прошу помочь с кодом. В данной процедуре ошибка использования Else. Помогите,...

Ошибка при использовании new
VS 2010, проект windows forms. Программа компилируется, ошибка при выполнении. Есть класс Graph: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru