Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.03.2013, 08:57   #1
miyachi
 
Регистрация: 30.10.2011
Сообщений: 8
По умолчанию Выяснить, какие цифры (по одной справа и слева) надо приписать к числу 1022

Выяснить, какие цифры (по одной справа и слева) надо приписать к числу 1022, чтобы полученное число делилось на 7, 8, 9. Assembler

Я вот сделал тока не пойму где он зациклился, помогите найти ошибку и как правильно вывести число на экран
Код:
org 100h
      Number = 1022
       
         start:
               xor cx,cx
               call for1
         for1:
               mov ax,0
               mov cx,9
               inc ax
               
               cmp ax,cx                 
               push ax   
       
               jng for2  
              
            
                             
         for2:
               mov bx,0
               mov cx,9
               inc bx
               
               cmp bx,cx
               push bx    
                       
               jng schet
            
                    
         schet:
              
              pop ax 
              mov dx,1000
              mul dx 
              xor dx,dx
              mov dx,100
              mul dx
              push ax
              
              xor dx,dx 
              xor cx,cx
              mov ax,Number
              mov cx,10
              mul cx
              mov bx,ax
                   
              pop ax
              add ax,bx
                        
              pop bx
              add ax,bx
              
              push ax
              je sravnenie
         
         sravnenie:   
              pop ax 
              push ax
              mov bx,7
              xor dx,dx
              div bx
              cmp dx,0 
              je vivod
              je dalwe
           dalwe:
              pop ax
              push ax
              mov bx,8 
              xor dx,dx
              div bx
              cmp dx,0
              je vivod 
              
              je dalwe1
            dalwe1:
              pop ax
              mov bx,9 
              xor dx,dx
              div bx
              cmp dx,0  
              jne for2
              jne for1
               push ax 
              je vivod
      
              
           vivod:        
         pop ax
        xor cx,cx
        mov bx,10  
        
 
omg:        xor dx,dx
        div bx
        push dx
        inc cx
        or ax,ax
        jnz omg
 
gmo:        pop ax
            or  al,30h
            int 29h 
            loop gmo
                
            mov ax,4c00h
            int 21h
               ret
 
         end start
          
ret
miyachi вне форума Ответить с цитированием
Старый 04.03.2013, 20:55   #2
miyachi
 
Регистрация: 30.10.2011
Сообщений: 8
По умолчанию

Код:
include 'emu8086.inc'
org 100h
      
         mov cx,9
   vc:     inc i
           mov ax,i
           mov bx,10000
           mul ax
           mov ax,chislo
           add ax,bx
           mov bx,10
           mul bx
           mov vrem,ax
           push cx
           mov cx,9
   vv:
           inc j
           mov ax,vrem
           
           add ax,bx
           
    kk:
           xor dx,dx
           mov bx,k
           mov ax,bx
           div bx
           cmp dh,0
           je yes
           jne net
           inc k
           loop kk
     yes:
           mov ax,j
           CALL PRINT_NUM_UNS
           
           loop vv
     net:
           loop vv
     
     move_next:
           pop cx
           loop vc
         ret
    
   chislo dw 1022
   i  dw 0
   j  dw 0
   k  dw 7
   
   vrem  dw ?
   
   DEFINE_PRINT_NUM_UNS
После 12 строки в регистре АХ должно сохраниться 1АЕ8С(110220), вместо этого в АХ сохраняется АЕ8С, а 1 сохраняется в dl ! из за этого получается не правильно, помогите исправить
miyachi вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Процедура добавления к исходному числу введённого справа (Pascal) Volk_xD Помощь студентам 4 29.05.2011 16:24
Два background'а для body (слева и справа от контента)? alex2406 HTML и CSS 7 14.06.2010 16:34
Отступы границ сайта слева и справа slaxik HTML и CSS 4 31.01.2010 11:45
Найти числа,которые читаются слева-направо и справа-налево одинаково(например, 1001). Паскаль NikLik Помощь студентам 8 22.11.2007 23:00