Как вывести переменную в консоль - Assembler

Узнай цену своей работы

Формулировка задачи:

Помогите, пожалуйста, поставленную задачу решил, а вот в консоль значение вывести не могу... Как вывести то?
       data segment    ;
           ab db 10,13, 'a bigger then b$'
           am db 10,13, 'b bigger then a$'
           mes1 db 'a  = $'
           mes2 db  10, 13, 'b = $'
           mes_e db 10, 13, 'x = -10$'  
           minus db '-$'
           s db  
           a db ?
           b db ?
           x db ?
           x1 db ?
       data ends    
                
       code segment     
       start:   
          assume cs:code, ds: data         
          mov ax, data     
          mov ds, ax   
          
          mov ah,9    
          mov dx, offset mes1   
          int 21h
          
          mov ah, 01  
          int 21h  
          mov a, al
          
          mov ah,9    
          mov dx, offset mes2    
          int 21h
          
          mov ah, 01  
          int 21h  
          mov b, al
          
          mov ah, 09   
          lea dx, mes_e  
          
          cmp a, al  
          je equal
          jg bigger
          jl less
          lea dx, mes_e   
     
           equal: int 21h 
                  jmp exit
          
          bigger: mov ah, 0
                  mov al, b
                  div a
                  mov x, 1
                  sub x, al 
                  mov ah,9
                  mov dx, offset ab
                  int 21h
                  jmp exit
                  
          less:   mov al, a
                  mov x, al
                  mov al, 5
                  sub x, al
                  mov al, b
                  mov ah, 0
                  mov al, x
                  div b
                  mov x, al
                  ;;;;;;;
                  
                  ;;
                  mov ah,9
                  mov dx, offset am
                  int 21h 
                  jmp exit
                  
  exit:   mov ax, 4c00h    
          int 21h  
          code ends    
      end start

Решение задачи: «Как вывести переменную в консоль»

textual
Листинг программы
mov ah, 0
mov al, b
div a

Объяснение кода листинга программы

  1. mov ah, 0 - Переменная ah устанавливается равной 0. Это может использоваться для очистки регистра или флага.
  2. mov al, b - Переменная al копирует значение переменной b. al обычно используется для хранения байтового значения.
  3. div a - Деление переменной al на переменную ah происходит с возвратом частного и остатка. Здесь a и ah должны быть неравны нулю. ah используется как делитель, а al используется как делимое. Результат деления сохраняется в регистре al, а остаток сохраняется в регистре ah. Если ah равен 0, то это деление на ноль, и результат будет некорректным.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4 из 5
Похожие ответы