Как я сравниваю десятичного и характер в emu8086?

У меня есть сомнение с упражнением, которое я пробую решить, присоединенным для того, чтобы они поняли меня лучше:

Написало программу в языке ассемблера, что, данное последовательность символов Американского стандартного кода обмена информацией, поконченную с '$' получила в реестре AX количество десятичных цифр, которые появляются в последовательности, и в CX, полное количество символов, не считая символа '$'

Ну, пока я могу пробегать цепь, но не знаю, как отличаться десятичные от символов. Я не прошу, чтобы они решили мне одинокое упражнение инструкция, которую я должен использовать, это - то, что я делаю пока:

org 100h
jmp INICIO
texto dw "123asd$" 

INICIO:
mov bx, offset texto
mov ax,0
mov cx,0

ciclo:
cmp [bx],'$'

jne contar
je fin

contar:
inc bx
inc cx 
jmp ciclo

fin:
ret
3
задан 24.03.2017, 16:22
2 ответа

Десятичные цифры - только еще один символ во время представления их.

А именно, для компьютера, печатать из-за экрана '1' или одного 'В' es то же самое.

Если они просят у тебя считать десятичные цифры, они просят у тебя считать все символы у них есть функция того, чтобы быть представлением числа.

Если ты разоришь таблицу Американский стандартный код обмена информацией (http://www.elcodigoascii.com.ar/ например) ты увидишь, что у номера '0' есть стоимость 48, у '1' есть стоимость 49...., '9' есть стоимость у 57. Обобщая, символ - представление десятичного числа, если Ваша стоимость находится между 48 и 57 оба включая.

Как ты считаешь смонтированным код с парой compares ты будешь считать это легким, чтобы это осуществлять. Если бы ты появились сомнения, скажи это.

Увидимся

0
ответ дан 24.11.2019, 14:11
  • 1
    Спасибо я иду посмотрим он вытекает – Emanuel Parra 10.06.2016, 04:35
  • 2
    Помни, что, если ответ ты был полезным помечать ее как правильный ответ – Pako LordPakus 10.06.2016, 22:06

давно, что не коснулся эму, но я думаю, что serГ - в asГ, - у меня нет сейчас средств, чтобы это подтверждать (составитель и s.o), так что это более или менее идея.

org 100h
jmp INICIO
texto dw "123asd$" 

INICIO:
mov bx, offset texto
mov ax,0
mov cx,0

ciclo:
cmp [bx],'

jne contar
je fin

contar:
cmp [bx],'0'
jge menor
inc cx
inc bx
jmp ciclo

menor:
    cmp [bx] ,'9'
    jle incrementar 
incrementar:
    inc ax

fin:
ret
0
ответ дан 24.11.2019, 14:11
  • 1
    Не замечай меня много, но.... этот jle увеличивать и участвовал в рыцарском турнире внизу tag увеличивания: он не имеет много чувства не? Вышло то, что выходит из comparaci и # 243; n оставаться и # 225; где-то здесь – Pako LordPakus 10.06.2016, 21:24

Теги

Похожие вопросы