Вывод кодов ascii каждого символа строки - Assembler
Формулировка задачи:
Вводится строка символов (буквы, цифры). Нужно вывести их коды ascii, а не сами символы (как в этом примере)
Листинг программы
- .stack 100h
- .data
- string db 161 dup ('$')
- dlina db 10 dup (0)
- n db ?
- ;vivod
- enter db 'enter:', 0Dh, 0Ah, '$'
- newstring db 0Dh, 0Ah, '$'
- result db 'result:', 0Dh, 0Ah, '$'
- .code
- start:
- mov ax, data
- mov ds, ax
- mov es, ax
- ;vvod
- mov ah,09h
- mov dx, offset enter
- int 21h
- mov ah,0ah
- mov dx, offset string
- int 21h
- ;vivod
- mov ah,09h
- mov dx, offset newstring
- int 21h
- mov ah,09h
- mov dx, offset result
- int 21h
- mov ah,09h
- lea dx, string+2
- int 21h
- ;konec
- mov ah, 4ch
- int 21h
- code ends
- end start
Решение задачи: «Вывод кодов ascii каждого символа строки»
textual
Листинг программы
- mov ah,2
- mov dl,al
- int 21h
Объяснение кода листинга программы
- Загружается значение регистра
ah
с константой2
, которая указывает, что программа будет выполнять функцию вывода символа. - Регистру
dl
присваивается значение регистраal
, которое, вероятно, содержит ASCII-код символа, который нужно вывести. - Вызывается прерывание
21h
, которое вызывает сервис DOS для вывода символа, находящегося в регистреdl
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д