На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Перед отправкой сообщения внимательно прочтите правила раздела!!!
1. Запрещается обсуждать написание вирусов, троянов и других вредоносных программ!
2. Помните, что у нас есть FAQ раздела Assembler и Полезные ссылки. Посмотрите, возможно, там уже имеется решение вашего вопроса.

3. Настоятельно рекомендуем обратить особое внимание на правила форума, которые нарушаются чаще всего:
  3.1. Заголовок темы должен кратко отражать её суть. Темы с заголовками типа "Срочно помогите!" или "Ассемблер" будут отправляться в Корзину для мусора.
  3.2. Исходники программ обязательно выделяйте тегами [code]...[/code] (одиночные инструкции можно не выделять).
  3.3. Нежелательно поднимать старые темы (не обновлявшиеся более года) без веской на то причины.

Не забывайте также про главные Правила форума!

Добро пожаловать и приятного вам общения!!! ;)
 
Модераторы: Jin X, Qraizer
  
> Вывод регистра в десятичном формате
    Задание такое, чтоб вывести кол-во четных и нечестных чисел, а также их кол-во, стоящие между А и В. Я выполнила эти условия, но столкнулась с тем, что не могу вывести результат, т.е. я не могу вывести значения регистров в десятичном формате(да даже в любом др :wall: не могу).
    ExpandedWrap disabled
                    use16
      org 100h
      mov si,0; жзапись четных
      mov bp,0;  запись нечетных
      mov di,0  ;для записи кол-ва эелементов
      mov ax,[a]
      mov bx,ax
         lp1:
          inc di
          mov ax,bx
          cmp ax,[b]
           je exit
          mov ax,bx
          test ax, 1  ;проверка на четность
          jz chet
          jne nechet
       
       
         exit:
           mov ah,9
          mov dx,chets
          int 21h
       
      ;вывод кол-ва четных
       
          mov ah,9
          mov dx,nechets
          int 21h
      ;вывод кол-ва нечетных
          mov ax,4C00h
          int 21h
       
      chet:
           inc si
           inc bx
          jmp lp1
      nechet:
         inc bp
        inc bx
          jmp lp1
       
       
       ;----------------------------------------------------------
      a dw 3
      b dw 7
      chets db 'kol-vo chet $ '
      nechets db 'kol-vo nechet $'
      Цитата belka @
      столкнулась с тем, что не могу вывести результат, т.е. я не могу вывести значения регистров в десятичном формате
      1.Делите число на 10, получая остаток и целую часть. Пример: 147/10 = 14(целое) + 7(хвост).
      2.Выводите хвост, или храните (т.к. выводятся обычно сначала старшие разряды).
      3.поступаете с целым (14) как и в п.1, получая 1(целое) + 4(хвост).
      В итоге, пишете: 1,хв,хв = 147. ;)
        А как их потом вывести на экран? Ибо когда я пытаюсь вывести, то у меня выводится символ, а не число
          Плюс 30h.
          0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
          0 пользователей:


          Рейтинг@Mail.ru
          [ Script execution time: 0,0256 ]   [ 15 queries used ]   [ Generated: 28.03.24, 14:53 GMT ]