Кодировочная таблица - Assembler
Формулировка задачи:
Добрый день. Программа на ассемблере(ТАСМ), под ДОС. Требуется вывести кодировочную таблицу (с управляющими символами). Код вроде бы и есть, но не работает так, как надо, а ошибку найти никак не могу. Подозреваю, что что-то с циклом. Заодно приклепляю, что получается при запуске моего варианта. Буду очень благодарна за помощь или хотя бы наводку.
Вот код программы:
.MODEL small .data const16 db 16 hexsym db '0123456789ABCDEF' pattern db 'XX-$' codsym db ? .code .startup mov ax,40h mov es,ax mov codsym,0 mov cx,16 prtable: mov si,16 push cx mov cx,1 povt: mov al,codsym mov ah,0 div const16 mov bx,offset hexsym xlat mov pattern,al mov al,ah xlat mov pattern+1,al mov ah,9 lea dx,pattern int 21h mov bh,es:[62h] mov bl,0 mov ah,10 mov al,codsym mov cx,1 int 21h mov ah,03 int 21h mov ah,02 add dl,2 int 21h add codsym,16 mov cx,si dec si loop povt pop cx inc codsym loop prtable mov ah,4ch int 21h end
Решение задачи: «Кодировочная таблица»
textual
Листинг программы
.MODEL tiny .code .186 org 100h start: mov ax,3 int 10h mov ax,0b800h mov es,ax xor dx,dx xor di,di mov cx,256 cld @@01: call @@02 mov al,'-' stosw mov al,dl stosw mov al,' ' stosw inc dx loop @@01 xor ax,ax int 16h ret @@02: mov al,dl shr al,4 call @@03 mov al,dl @@03: and al,0fh add al,'0' cmp al,'9' jbe @@04 add al,7 @@04: mov ah,7h stosw ret end start
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д