Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Введите две строки. В случае если они одинаковые. Выводится сообщение о том что строки совпали, в противном случае выводится сообщение, о том что строки не совпадают.

Напишите программу, запрашивающую у оператора строку, а затем выводящую ее на экран. Выполните трассировку программы. | Ввести с клавиатуры натуральное число. Найти сумму его первой и последней цифры и вывести на экран. Выполните трассировку программы. | Напишите программу, запрашивающую у оператора строку, а затем выводящую каждое слово в отдельной строке. Выполните трассировку программы. | Ввести с клавиатуры натуральное число. Поменять порядок следования цифр в числе и вывести на экран. | C0 - Нижний левый угол B3 - Вертикальная линия | Дополните программу. При верном вводе пароля он появляется на экране через временную задержку разного цвета. | Напишите программу, в которой вводятся целые числа а, b. Напишите макрокоманду определения min. | Напишите программу, в которой вводятся целые числа c, d. Напишите макрокоманду определения max. | Ввести с клавиатуры натуральное число. Проверить будут ли его цифры все различны. Вывести на экран сообщение. Преобразование строки в число производить в макрокоманде. | Дана длина ребра куба. Найти площадь полной поверхности этого куба. |


Читайте также:
  1. A.1.2. Технология командной строки.
  2. II. Сообщение темы и цели урока.
  3. III. Мотивация учебной деятельности, сообщение темы и цели урока
  4. III. Мотивация учебной деятельности, сообщение темы и цели урока.
  5. IV. Выявление случаев сибирской язвы среди людей
  6. IV. Сообщение темы и цели урока
  7. Quot; Впереди Вас в …. ч …. мин отправлен поезд N ….., сообщение о прибытии которого не получено".

stacksg segment para stack 'Stack'

dw 32 dup(?)

stacksg ends

 

datasg segment para 'Data'

d1 label byte

max1 db 50

len1 db?

ary1 db 51 dup('$')

d2 label byte

max2 db 50

len2 db?

ary2 db 51 dup('$')

message db 'HI!$'

 

acc db 'sovpali$'

message2 db 'HI!$'

no_a db 'ne sovpali$'

mes1 db 'Vvedite stroku$'

datasg ends

 

codesg segment para 'Code'

begin:

assume cs:codesg, ds:datasg, ss:stacksg, es:datasg

push ds

sub ax,ax

push ax

mov ax,datasg

mov ds,ax

 

mov dh,0

call kursor

mov ah,09h

lea dx,mes1

int 21h

 

mov dh,1

call kursor

 

mov ah,0ah

lea dx,d1

int 21h

 

mov dh,2

call kursor

 

mov ah,09h

lea dx,mes1

int 21h

 

mov dh,3

call kursor

 

mov ah,0ah

lea dx,d2

int 21h

 

mov dh,4

call kursor

 

 

mov bx, offset len1

mov al, [bx]

mov bx, offset len2

mov ah, [bx]

cmp al,ah

jnz a3

 

push ds

pop es

cld

mov cl,al

mov si,offset ary1

mov di,offset ary2

repe cmpsb

 

jcxz a1; если cx равен нулю -- строки совпали сообщим об этом

mov ah,9

lea dx,no_a; если cx не равен нулю -- строки не совпали сообщим об этом

int 21h

jmp a2; идем на выход из программы

a1: mov ah,9

lea dx,acc

int 21h

a2: mov ah,8

int 21h

mov ah,4ch; в любом случае выходим из программы

int 21h

a3: mov ah,9

lea dx,no_a

int 21h

jmp a2

 

kursor proc near

push ax

push dx

mov dl,0

mov bh,0

mov ah,02h

int 10h

pop ax

pop dx

ret

kursor endp

 

codesg ends

end begin

11. Программа подсчета количества введенных символов и при нажатии сочетания клавиш Alt+C прекратить ввод. Вычисления производить в процедуре.

 

.model small

.data

 

CountCHR dw 0

AIndex dw 0

StrCount db 8 dup(?)

 

stdout equ 1

info db '‚Введите строку: ',10,13,'$'

info1 db 10,13,'Количество введённых символов: ','$'

 

.code

myp proc

mov ax, @data

mov ds, ax

mov AH, 09h

mov DX, offset info

int 21h

 

again:

mov AH, 08h

int 21h

cmp AL, 0

je AltCtrl

 

mov DL, AL

mov AH, 02h

int 21h

inc CountCHR

jmp again

AltCtrl:

mov AH, 08h

int 21h

cmp AL, 2Eh

je quit

jmp again

 

quit:

mov AX, CountCHR

cmp AX, 0

je endb

mov AH, 09h

mov DX, offset info1

int 21h

mov AX, CountCHR

call PutI2

mov AH, 40h

mov DX, offset STRCount

mov BX, stdout

mov CX, 08h

int 21h

endb:

mov ax, 4C00h

int 21h

myp endp

 

Puti2 proc near

 

mov bx, 10

xor dx, dx

div bx

or ax, ax

jz Done

push dx

call Puti2

pop dx

Done: mov al, dl

or al, '0'

call PutCH

ret

PutI2 endp

 

PutCH proc near

mov di, AIndex

mov STRCount[di], al

mov byte ptr STRCount+1[di], 0

inc AIndex

ret

PutIt endp

 

.stack

dw 32 dup(?)

end myp

 

******************************************************************************************************************************************************************************************************************************************************************************************************************************

Л/р №4

 

Используя макроопределения решить следующие задачи:

 


Дата добавления: 2015-08-17; просмотров: 76 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Дополните программу. Введите строку текста и выведите его по буквам в режиме телетайпа разными по цвету буквами.| Напишите программу, которая получает строку и слово. С помощью макроса определить входит ли данное слово в строку.

mybiblioteka.su - 2015-2024 год. (0.012 сек.)