Форум программистов, компьютерный форум, киберфорум
Assembler: DOS/Real Mode/16-bits
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
1 / 1 / 0
Регистрация: 17.10.2012
Сообщений: 13
1

Даны 5 символов в стеке, вытащить из стека символы и вставить в стек только заглавные буквы

20.12.2012, 15:45. Просмотров 1443. Ответов 5
Метки нет (Все метки)

Даны 5 символов в стеке, вытащить из стека символы и вставить в стек только заглавные буквы. Я вот сделал не много а вот как проверить на заглавные буквы я не знаю, прошу помочь
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
TITLE Z_Stack
CODE_SEG SEGMENT
    ASSUME CS:CODE_SEG,DS:CODE_SEG,ES:CODE_SEG
    ORG 100H
;use16                 
org 100h   
START   PROC 
     
  
    mov ax,'M'   ;prisvaivaet v registr ax a
    push ax      ;zakidivaet v stek
    mov ax,'s'   ;prisvaivaet v registr ax s
    push ax      ;zakidivaet v stek
    mov ax,'S'   ;prisvaivaet v registr ax s
    push ax      ;zakidivaet v stek
    mov ax,'m'   ;prisvaivaet v registr ax m
    push ax      ;zakidivaet v stek
    mov ax,'a'   ;prisvaivaet v registr ax a
    push ax      ;zakidivaet v stek
;----------------------------------------------------
    pop ax       ;vitaskivaet iz steka
    pop bx       ;vitaskivaet iz steka
    pop cx       ;vitaskivaet iz steka
    pop dx      ;vitaskivaet iz steka
    pop si       ;vitaskivaet iz steka
    
   
    push ax      ;zapisivaet v stek
    push bx      ;zapisivaet v stek
    push cx      ;zapisivaet v stek
    push dx      ;zapisivaet v stek
    push si      ;zapisivaet v stek
    
mov cx,5          ;skolko raz vipolnyaetsya cikl
loop_1:
 
    mov ah,02h          
    pop dx         ;Vivod na ekran
    int 21h           
    loop loop_1
        
exit:
mov ah,08
int 21h
    mov ax,4C00h        
    int 21h             
 
     
CODE_SEG ENDS
     END    START
 
END
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.12.2012, 15:45
Ответы с готовыми решениями:

Записать в стек все заглавные буквы заданного текста и вывести содержимое стека на экран
Записать в стек все заглавные буквы некоторого текста. Вывести стек на экран.

Создать третий стек из тех символов первого стека, которые есть и в первом и во втором стеке
Из двух заданных стеков, хранящих символы, создать новый стек из тех символов первого стека,...

Вводится различные символы, нужно вывести только заглавные буквы, которые стоят по две
Помогите пожалуйста!!! Вводится различные символы (!2543ФАавпвыПАваААА46лпРТ), нужно вывести только...

Из набора 10 любых символов напечатать только заглавные английские буквы и их коды
из набора 10 любых символов напечатайть только заглавные английские буквы и их коды Добавлено...

5
Ушел с форума
Автор FAQ
13840 / 6888 / 770
Регистрация: 11.11.2010
Сообщений: 12,423
20.12.2012, 15:51 2
dimitrol707, у строчной латинской буквы 5-ый разряд =0, у прописной латинской =1, поэтому команда test al,100000b должна спасти "отца русской демократии"
0
1 / 1 / 0
Регистрация: 17.10.2012
Сообщений: 13
20.12.2012, 16:09  [ТС] 3
он у меня показывает = и циклится бесконечно

Добавлено через 4 минуты
делал еще с
Assembler
1
2
3
4
cmp al,'A'
jl start 
cmp al,'Z'
jle loop_1
тоже самое выводит
0
Ушел с форума
Автор FAQ
13840 / 6888 / 770
Регистрация: 11.11.2010
Сообщений: 12,423
20.12.2012, 18:16 4
dimitrol707, код приведенный тобой выбирает прописные буквы, причем с ошибкой, нужно выбирать строчные буквы, вот так
Assembler
1
2
3
4
5
   cmp al,'a'
   jb nestrochnaya_bukva 
   cmp al,'z'
   ja nestrochnaya_bukva
   and al,11011111b; делаем из строчной латинской прописную латинскую
0
1 / 1 / 0
Регистрация: 17.10.2012
Сообщений: 13
20.12.2012, 18:38  [ТС] 5
Мне не нужно заменять строчную на прописную, мне просто нужно проверить символы и вывести на экран прописные в моемой случае, М и S
0
Ушел с форума
Автор FAQ
13840 / 6888 / 770
Регистрация: 11.11.2010
Сообщений: 12,423
20.12.2012, 18:46 6
dimitrol707,
Assembler
1
2
3
4
5
  cmp al,'A'
   jb nepropisnaya_bukva 
   cmp al,'Z'
   ja nepropisnaya_bukva
   вывод AL на экран
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.12.2012, 18:46

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Из двух заданных стеков, хранящих символы, создать новый стек из тех символов первого стека, которые есть и в первом
Из двух заданных стеков, хранящих символы, создать новый стек из тех символов первого стека,...

Переменные в стеке. Где хранятся? Как обрабатываются? Есть ли программный стек или только стек процессора?
Есть у меня пробелы в познаниях, хотел бы их устранить. 1. Что такое стек в самом языке С++ ? 2....

Создать стек из вещественных чисел; найти максимальный элемент в стеке; организовать просмотр данных стека
Создать стек из вещественных чисел. Определить максимальный элемент в стеке. Организовать просмотр...

Дан стек символов. Преобразовать стек, оставив в нем из группы подряд идущих символов только один
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics,...

В массиве из 70 символов все заглавные буквы А заменить на строчные и все сточные-на заглавные.
1.написать программу по созданию таблицы Пифагора. 2.В массиве из 70 символов все заглавные буквы...

Структура стек (: добавить элемент в стек, удалить элемент из стека, получить значение с вершины стека, размер стека...)
Всем привет,ребят помогите пожалуйста с лабой,вообще без понятия про стеки:( Может кто то...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.