
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.97.14.87] |
![]() |
|
Сообщ.
#1
,
|
|
|
Новичок в Ассемблере и не могу дописать прогу! Заранее большое спасибо) Необходимо ввести с терминала строку символов и вывести на экран ее двоичное представление! Свой набросок скинул ниже.
![]() ![]() 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 |
![]() |
Сообщ.
#2
,
|
|
M RexColtPower, вы читали правила вверху страницы? Оформите своё сообщение как положено (включая заголовок, если вам доступно его редактирование – вопрос пишется в сообщении, а не в описании). И спрашивайте конкретно: что именно не получается? Или вы хотите готовое решение на блюдичке? |
Сообщ.
#3
,
|
|
|
Скрытый текст Jin X, ты же модер с правами правки. Если не сложно - поправь за бедного студеня его мольбу о помощи, плс ![]() RexColtPower, ассемблеры, равно как операционные системы - бывают разные. Ты определись, тебе критично что-то из перечисленного? |
![]() |
Сообщ.
#4
,
|
|
JoeUser, если я поправлю, какова вероятность, что в следующий раз он сделает всё как надо? Чтобы научиться чему-то, нужно сделать это самому. Если я и поправлю, то позже.
Чел, видимо, хочет, чтобы за него сделали лабу. Так не годится. Если где-то затык, тогда нужно задать конкретный вопрос: что именно не получается? Мы подскажем, направим. |
Сообщ.
#5
,
|
|
|
Загвоздка заключается в том, что я не понимаю какой алгоритм нужно вставить в два цикла (ckl1 и ckl2) для преобразования строки символов в двоичное представление. Циклы ckl1 и ckl2 предназначены для обработки 0 и 1. Может быть подскажите какие команды я должен использовать для решения своей проблемы ? Структура программы представлена на языке Ассемблер для ПЭВМ типа IBM PC. И да прошу прощение за несоблюдение правил форума.
|
![]() |
Сообщ.
#6
,
|
|
Цитата Jin X @ Недоступно. Поправил.(...если вам доступно его редактирование ...) Цитата RexColtPower @ Уже. Боюсь, во второй раз Jin X что-нибудь да выпишет.С другой стороны, не прочитав предварительно Правила, Вы, уважаемый, фактически продемонстрировали Ваши деловые и профессиональные качества. Вы уверены, что Вам хватит самодисциплины дальше по жизни, неважно, чем Вы планируете заниматься и чем зарабатывать? И да прошу прощение за несоблюдение правил форума. |
![]() |
Сообщ.
#7
,
|
|
Преобразование одного байта в бин-вид - как-то так
![]() ![]() mov ah, nextbyte mov cx,8 loop: xor al,al shl ah, 1 adc al, '0' ; вывод байта на экран - можно вместо этого класть в буфер, чтобы потом вывести tty al rep loop |
Сообщ.
#8
,
|
|
|
Цитата Akina @ Спасибо! |