Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум на Исходниках.RU > Assembler > Двоичное представление строки символов |
Автор: RexColtPower 20.10.20, 13:54 |
Новичок в Ассемблере и не могу дописать прогу! Заранее большое спасибо) Необходимо ввести с терминала строку символов и вывести на экран ее двоичное представление! Свой набросок скинул ниже. <{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> TITLE TestProg STACKSG SEGMENT PARA STACK 'STACK' DB 64 DUP(?) STACKSG ENDS DATASG SEGMENT PARA 'DATA' STR DB 50,52 DUP('$') hi1 db "Enter string of symbols: ", "$" hi2 db 0dh, 0ah, "Bynary: ", "$" DATASG ENDS CODESG SEGMENT PARA 'CODE' ASSUME CS:CODESG,DS:DATASG,SS:STACKSG ENTRY PROC FAR ;-----------------------------------------Стандартная процедура---------------------------------------- PUSH DS SUB AX,AX PUSH AX MOV AX,DATASG MOV DS,AX ;------------------------------------------Вывод строки hi1------------------------------------------------- MOV AH,09 LEA DX,hi1 INT 21H ;-------------------------------------Приглашение пользователя на ввод строки------------------------------- MOV AH,10 LEA DX,STR INT 21H MOV AH, 01h ;забираем символ INT 21h XOR BX, BX ;-----------------------------------------Обработка символов в цикле---------------------------------------- ckl1: ckl2: ;----------------------------------------------Вывод результата--------------------------------------------- print: MOV AH,09 LEA DX,hi2 INT 21H LEA DX, bin INT 21H RET ENTRY ENDP CODESG ENDS END ENTRY |
Автор: Jin X 20.10.20, 17:40 |
M RexColtPower, вы читали правила вверху страницы? Оформите своё сообщение как положено (включая заголовок, если вам доступно его редактирование – вопрос пишется в сообщении, а не в описании). И спрашивайте конкретно: что именно не получается? Или вы хотите готовое решение на блюдичке? |
Автор: JoeUser 21.10.20, 02:56 |
Скрытый текст Jin X, ты же модер с правами правки. Если не сложно - поправь за бедного студеня его мольбу о помощи, плс RexColtPower, ассемблеры, равно как операционные системы - бывают разные. Ты определись, тебе критично что-то из перечисленного? |
Автор: Jin X 21.10.20, 09:51 |
JoeUser, если я поправлю, какова вероятность, что в следующий раз он сделает всё как надо? Чтобы научиться чему-то, нужно сделать это самому. Если я и поправлю, то позже. Чел, видимо, хочет, чтобы за него сделали лабу. Так не годится. Если где-то затык, тогда нужно задать конкретный вопрос: что именно не получается? Мы подскажем, направим. |
Автор: RexColtPower 21.10.20, 17:22 |
Загвоздка заключается в том, что я не понимаю какой алгоритм нужно вставить в два цикла (ckl1 и ckl2) для преобразования строки символов в двоичное представление. Циклы ckl1 и ckl2 предназначены для обработки 0 и 1. Может быть подскажите какие команды я должен использовать для решения своей проблемы ? Структура программы представлена на языке Ассемблер для ПЭВМ типа IBM PC. И да прошу прощение за несоблюдение правил форума. |
Автор: Qraizer 21.10.20, 18:30 |
Недоступно. Поправил. Уже. Боюсь, во второй раз Jin X что-нибудь да выпишет.С другой стороны, не прочитав предварительно Правила, Вы, уважаемый, фактически продемонстрировали Ваши деловые и профессиональные качества. Вы уверены, что Вам хватит самодисциплины дальше по жизни, неважно, чем Вы планируете заниматься и чем зарабатывать? |
Автор: Akina 21.10.20, 19:54 |
Преобразование одного байта в бин-вид - как-то так <{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}> mov ah, nextbyte mov cx,8 loop: xor al,al shl ah, 1 adc al, '0' ; вывод байта на экран - можно вместо этого класть в буфер, чтобы потом вывести tty al rep loop |
Автор: RexColtPower 21.10.20, 20:10 |
Цитата Akina @ Спасибо! |