Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Assembler
Перезагрузить страницу Вывести результат в двоичном и шестнадцатеричном виде
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
hack7 hack7 вне форума
Новичок
 
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 26.08.2017
По умолчанию Вывести результат в двоичном и шестнадцатеричном виде - 26.08.2017, 18:44

Хочу разобраться как вывести результат в двоичном формате Подскажите пожалуйста
.model small
.stack 256
.386
.data
a db 15
b db 70
c db 25
d db 35
f dw 0
.code
main:
xor ax, ax
mov al, 15
cbw
movsx bx, al
sub ax, bx
imul c
mov ax, 2
div ax
mov cl, 2
idiv cl
xor dx, dx
mov dl, d
movsx ax, dl
add ax, dx
exit:
mov ax, 4c00h
int 21h
end main
Ответить с цитированием
  (#2 (permalink)) Старый
Винитарх Винитарх вне форума
Специалист
 
Аватар для Винитарх
 
Сообщений: 7,956
Сказал(а) спасибо: 2
Поблагодарили 303 раз(а) в 303 сообщениях
Регистрация: 01.03.2003
Адрес: Краснодар
По умолчанию 26.08.2017, 23:33

1. Смотрите значение битов, начиная со старшего, в регистре ax. Если бит равен нулю, то выводите 30 (это код "0"). Иначе - выводите 31 (это код "1").
2. В 2017 году пользоваться древним ассемблером и программными прерываниями DOS - не уважать себя и не любить свою будущую профессию.
Ответить с цитированием
  (#3 (permalink)) Старый
deckard deckard вне форума
Member
 
Сообщений: 77
Сказал(а) спасибо: 0
Поблагодарили 5 раз(а) в 5 сообщениях
Регистрация: 04.03.2008
По умолчанию 27.08.2017, 20:13

Вот пример вывода слова в 16ричном виде

asm Код:
.model small
    .code
start:  jmp beg

printword:push ax   ; печать слова AX в 16ричном виде
    mov al,ah
    call printbyte  ; печатать старший байт слова
    pop ax
    call printbyte  ; печатать младший байт слова
    ret

printbyte:      ; печать байта AL в 16ричном виде
    push ax
    push dx
    mov ah,0
    mov dl,16        ; al=ax / 16 , ah=ax mod 16
    div dl
    push ax
    cmp al,9+1       ; это больше 10 - печать символов A-F
    jc pb1
    add al,7
pb1:    add al,48
    call printchar
    pop ax
    mov al,ah
    cmp al,9+1
    jc pb2
    add al,7
pb2:    add al,48
    call printchar
    pop  dx
    pop  ax
    ret

printchar:push ax ; печать символа AL
        push dx
        mov ah,2
        mov dl,al
        int 21h
        pop dx
        pop ax
    ret        

beg:   ; тестирование
    mov AX,12EFh
    call printword
    mov AL,13       ; перевод строки
        call printchar
        mov al,10
        call printchar
    mov ax,4C00h
    int 21h
    end start
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод числа на экран в шестнатеричном и двоичном виде alexu C++ Builder 5 30.08.2011 02:01
Простая задачка про шахматы как вывести результат kost Игры разума 8 16.08.2010 11:17
Корректировка вывода как вывести результат Евгений А. С/С++ 3 29.12.2009 13:45
Сложение чисел на двоичном сумматоре Wizzard Pascal 7 18.01.2008 15:34
Как получить результат в виде строк poliqwert C++ Builder 3 05.06.2007 00:31
Метке присваиваем Caption равно 1 как вывести результат Sputni_ck C++ Builder 11 13.01.2007 12:19
Как результат работы оформить в виде com-файла Alenka_kiss Assembler 3 18.04.2006 04:17
Как вывести таблицу в исходном виде и с колонкой налогов Victor2005 Вопросы начинающих программистов 4 17.05.2005 23:53
Как вывести результат дизасма windsurfer Assembler 0 21.12.2004 20:10
Как читать-записывать файлы в двоичном виде DENIS451 C++ Builder 6 27.10.2004 23:37
Как вывести сообщение в виде строки символов в заданной строке экрана nsmile Вопросы начинающих программистов 5 21.10.2004 18:08
Как вывести в окно messages результат работы goal Anonymous Prolog 29 05.01.2004 18:55



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов