Помощь - Поиск - Пользователи - Календарь
Полная версия: Вывод чисел на экран
Форум «Всё о Паскале» > Delphi, Assembler и другие языки. > Assembler
Neon6868
Программа вычисляет значение формулы и должна вывести числа из регистров AL и AH. Я вывод регистра AH выводится какой-то непонятный символ. Подскажите плиз почему так? И как мне вывести значение регистра AL ?


  model small
  stack 100h
.data
  a db 8
  b db -3
  delt1 db 8
  mnozh db 2
  delt2 db 8
  slag1 dw 0
  slag2 dw 0
  slag3 dw 0
  slag12 dw 0
  rez1 dw 0
  rez2 dw 0
  d db 0
.code
start:
  mov ax,@data
  mov ds,ax
  xor ax,ax
  mov al,a
  add al,b
  cbw
  mul mnozh
  div delt1
  mov slag1,ax
  xor ax,ax
  mov al,a
  cbw
  mul ax
  mov rez1,ax
  xor ax,ax
  mov al,b
  cbw
  imul ax
  mov rez2,ax
  xor ax,ax
  mov ax,rez1
  sub ax,rez2
  div delt2
  mov slag2,ax
  xor ax,ax 
  mov ax,slag1
  sub ax,slag2
  mov slag12,ax
  xor ax,ax
  mov al,b
  cbw
  idiv a
  mov slag3,ax
  xor ax,ax 
  mov ax,slag12
  sub ax,slag3    

    mov d, 10
    mov dl, d
    idiv dl

    mov dl, al
    add dl, 30h
    mov al, ah

    mov ah, 0
    push ax
    mov ah, 2
    int 21h
    mov dl, 10
    
    mov ah, 0
    mov al, d
    idiv dl
    mov d, al
    pop ax
  
  mov ax,4c00h
  int 21h
  end start
spill
2-я функция 21h прерывания выводит на дисплей в текущую позицию курсора символ с кодом, хранящимся в DL. То есть она выведет не число, а символ который имеет в ASCII таблице такой номер. Поэтому, если тебе понадобится вывести число, то нужно сначала разбить его на цифры и вывести каждую по отдельности..
Neon6868
Цитата(spill @ 18.03.2008 22:30) *

2-я функция 21h прерывания выводит на дисплей в текущую позицию курсора символ с кодом, хранящимся в DL. То есть она выведет не число, а символ который имеет в ASCII таблице такой номер. Поэтому, если тебе понадобится вывести число, то нужно сначала разбить его на цифры и вывести каждую по отдельности..


Спасибо, исправил. smile.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.