Перевод числа из OCT в BIN систему счисления ассемблер - Assembler
Формулировка задачи:
Доброго времени суток! Стоит задача перевести число из 8 в 2 систему счисления на ассемблере. При запуске программы вводим число в 8 системе счисления и программа переводит это число в бинарную систему счисления. Не знаю, как описать этот перевод на ассемблере. Объясните пожалуйста на примере программы.
Решение задачи: «Перевод числа из OCT в BIN систему счисления ассемблер»
textual
Листинг программы
.model small .386 .data var db 5 dup(?) msg1 db 0Ah,0Dh,'input (oct): $' msg2 db 0Ah,0Dh,'output (bin): $' .stack db 255 dup(?) .code start: mov ax,@data mov ds,ax mov es,ax mov ah,09h lea dx,msg1 int 21h lea di,var xor cx,cx input: mov ah,01h int 21h cmp al,0Dh je ready cmp al,'7' jbe skip mov ah,02h mov dl,08h int 21h mov ah,02h mov dl,20h int 21h mov ah,02h mov dl,08h int 21h jmp input skip: and al,0Fh stosb inc cx cmp cx,5 je ready jmp input ready: or cx,cx je exit push cx lea si,var xor di,di xor ax,ax lodsb mov di,ax dec cx mov bx,8 collect: or cx,cx je two mov ax,di mul bx mov di,ax xor ah,ah lodsb add di,ax dec cx jmp collect two: pop cx mov ax,3 mul cx mov dx,ax mov cx,16 sub cx,ax mov bx,di shl bx,cl mov cx,dx mov ah,09h lea dx,msg2 int 21h bit: shl bx,1 jc one zero: mov ah,02h mov dl,'0' int 21h jmp good one: mov ah,02h mov dl,'1' int 21h good: loop bit exit: mov ah,02h mov dl,0Ah int 21h mov ah,4Ch mov al,00h int 21h end start
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д