Чередование 3 строчных и 3 заглавных букв - Assembler
Формулировка задачи:
Здравствуйте, дали задание чередования символов, 3 заглавных и 3 строчных. Я делал чередование 1 заглавный и 1 строчный. Может кто помочь? Пожалуйста. Мне осталось 1 работу сдать для зачета.
Вот код:
Листинг программы
- .model small
- .386
- .data
- stroka db " ABCDEFGHIJKLMNOPQRSTU"
- len equ $-stroka
- db '$'
- .code
- start:
- mov ax,@data
- mov ds,ax
- mov es,ax
- cld
- mov cx,len
- lea si,stroka
- mov di,si
- mov bx,0
- next:
- lodsb
- cmp al,65
- jb @@1
- cmp al,90
- ja @@1
- cmp bx,0
- je @@2
- add al,32
- xor bx,bx
- jmp @@1
- @@2:
- mov bx,1
- @@1:
- stosb
- loop next
- jmp exit
- exit:
- lea dx,stroka
- mov ah,9h
- int 21h
- mov ax,4c00h
- int 21h
- end start
Решение задачи: «Чередование 3 строчных и 3 заглавных букв»
textual
Листинг программы
- inc bx
- cmp bx,3
- jbe @@2
- add al,32
- @@2:
- cmp bx,6
- jb @@1
- xor bx,bx
- @@1:
Объяснение кода листинга программы
- Сначала происходит инкремент регистра BX.
- Затем происходит сравнение значения регистра BX с 3.
- Если значение регистра BX меньше или равно 3, то происходит переход к метке @@2.
- Значение регистра BX увеличивается на 32.
- Затем происходит сравнение значения регистра BX с 6.
- Если значение регистра BX меньше 6, то происходит переход к метке @@1.
- Значение регистра BX устанавливается равным 0.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д