Побуквенный вывод слова через цикл + ожидания нажатия клавиши (после нажатия очистка и установка курсора на ) - Assembler
Формулировка задачи:
строку) Masm32 (com -программа)
вообщем столкнулся с проблемой.
к примеру ввожу ' LSD49 $'
выводится через цикл loop (в ECX - 4) = LSD49 LSD49 LSD49 LSD49, а нужно по буквенно тоесть "L" "S" "D" "4" "9" ! с 2 частью более менее разобрался. есть код, а вот как их совместить?
очень надеюсь на вашу помошь
ниже 2 кода:
№1 код
1
2 (пробовал со смещением - бред получился!)
№2 код
.386 .model tiny .data titlex db ' Igor$ ' .code ORG 100h start : mov ECX, 4 e1: LEA EBX, offset titlex ;str1 DB ' Igor$' ;mov EDX, offset str1 MOV AH, 9 INT 21h loop e1 RET end start
.386 .model tiny .data .code ORG 100h start : mov ECX, 4 e1: str1 DB ' Igor$' mov EDX, offset [str1+2] MOV AH, 9 INT 21h loop e1 RET end start
.286 .model tiny .code start: org 100h MOV AH,00 ;Выполнить ввод с клавиатуры INT 16H ; CMP AL,00 ;Функциональная клавиша? JNE finish ; нет -- выйти CMP AH,53H ;Скэн-код для клавиши DEL? JNE finish ; нет -- выйти MOV AX,0600H ;Прокрутить на одну строку вверх MOV BH,07 ;Атрибут: нормальный, черно-белый MOV CX,0000 ;Координаты от 00,00 MOV DX,184FH ; до 24,79 (полный экран) INT 10H ;Вызвать BIOS MOV AH,02 ; MOV BH,00 ;Установить курсор Mov Dl,00 MOV DH,24 ; по координатам 0,0 INT 10H ;Вызвать BIOS mov ah,1 int 21h cmp al,0Dh jne start mov ax,4C00h int 21h finish: ret end start
Решение задачи: «Побуквенный вывод слова через цикл + ожидания нажатия клавиши (после нажатия очистка и установка курсора на )»
textual
Листинг программы
; masm dos com # .286 .model tiny .code org 100h start: mov si,offset string mov cx,N mov ah,2 @@: lodsb mov dl,al int 21h loop @b retn string db 'Hello, world!' N = $ - string end start
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д