Форум программистов, компьютерный форум, киберфорум
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
1 / 1 / 0
Регистрация: 22.09.2015
Сообщений: 51
1
FASM

Ввести строку, число N. Вывести введенную строку на экран N раз (перевести в 32 битную версию)

26.06.2019, 20:25. Показов 1650. Ответов 2
Метки fasm (Все метки)

Author24 — интернет-сервис помощи студентам
Кликните здесь для просмотра всего текста
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
org 100h
        mov ah,9                
        mov dx,msg1             
        int 21h                 
        mov ah,0ah              
        mov dx, stroka         
        int 21h                 
m1:     mov ah,9               
        mov dx,msg2            
        int 21h                 
        mov ah,1             
        int 21h               
        cmp al,'0'              
        jl m1                  
        cmp al,'9'              
        jg m1                      
        and al,0fh             
        mov cl,al
        mov ch,0               
lp:     mov ah,2               
        mov dl,13              
        int 21h                 
        mov dl,10              
        int 21h                 
        mov si,stroka+2        
 
os1:    mov dl,[si]     
        cmp dl,13      
        jz ose          
        int 21h         
        inc si          
        jmp os1         
ose:    loop lp        
        mov ah,1                
        int 21h                 
        int 20h         
        
msg1    db 13,10,'Разработать программу на языке Ассемблера для FASM. Модель памяти - не регламентируется '
        db 13,10,'Программа при запуске выводит приветствие с ФИО исполнителя и текст задания.'
        db 13,10,'Ввести строку, ввести число N {пример для N}. Вывести введенную строку на экран N раз. '
        db 13,10,'{пример для N} '
        db 13,10,'mov ah,1 '
        db 13,10,'int 21h '
        db 13,10,'and al,0fh'
        db 13,10,'Тозик С.П.'
        db 13,10,'Введите строку: $'
msg2    db 13,10,'N = $'
stroka  db 100,101 dup (0)




Вроде перевел, но не до конца
вот
Кликните здесь для просмотра всего текста
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
org 100h
        mov ax,9                
        mov edx,msg1            
        int 21h                
        mov ax,0ah              
        mov edx, stroka         
        int 21h                 
m1:     mov ax,9                
        mov edx,msg2            
        int 21h                 
        mov ax,1                *
        int 21h                 
        cmp ax,'0'              
        jl m1                   
        cmp ax,'9'              
        jg m1                  
        and ax,0fh             
        mov cx,ax
        mov cx,0                
lp:     mov ax,2                
        mov dx,13               
        int 21h                 **
        mov dx,10            
        int 21h                 
        mov esi,stroka+2         
 
os1:    mov dx,[si]     
        cmp dx,13       
        jz ose          
        int 21h        
        inc esi          
        jmp os1        
ose:    loop lp         
        mov ax,1            
        int 21h                 
        int 20h        
        
msg1    db 13,10,'Разработать программу на языке Ассемблера для FASM. Модель памяти - не регламентируется '
        db 13,10,'Программа при запуске выводит приветствие с ФИО исполнителя и текст задания.'
        db 13,10,'Ввести строку, ввести число N {пример для N}. Вывести введенную строку на экран N раз. '
        db 13,10,'{пример для N} '
        db 13,10,'mov ah,1 '
        db 13,10,'int 21h '
        db 13,10,'and al,0fh'
        db 13,10,'Тозик С.П.'
        db 13,10,'Введите строку: $'
msg2    db 13,10,'N = $'
stroka  db 100,101 dup (0)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.06.2019, 20:25
Ответы с готовыми решениями:

Вывести введенную строку на экран N раз
Сижу уже два дня и не чего не получается написать нужна помощь. По заданию не понятно каким...

Введенную с клавиатуры строку A записать в обратном порядке в строку B. Строку B вывести на экран.
Введенную с клавиатуры строку A записать в обратном порядке в строку B. Строку B вывести на экран....

Введенную с клавиатуры строку A записать в обратном порядке в строку B. Строку B вывести на экран
Введенную с клавиатуры строку A записать в обратном порядке в строку B. Строку B вывести на экран.

Введенную с клавиатуры строку A записать в обратном порядке в строку B. Строку B вывести на экран
Помогите решить от и до))

2
Модератор
Эксперт по электронике
8477 / 4335 / 1643
Регистрация: 01.02.2015
Сообщений: 13,462
Записей в блоге: 8
29.06.2019, 11:33 2
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
format PE console 4.0
entry start
 
include 'win32ax.inc'
 
section '.text' code readable executable
 
  start:
        cinvoke printf, aszPromptStr
        cinvoke scanf,  aszFmtStr, aszString
        cinvoke printf, aszPromptN
        cinvoke scanf,  aszFmtInt, N
        ;вывод результата
        mov     ecx,    [N]
        .for:
                push    ecx
                cinvoke printf, aszString
                cinvoke printf, aszCrLf
                pop     ecx
        loop    .for
 
        ;ожидание нажатия ENTER
        cinvoke printf, aszPressEnter
        invoke  _getch
        invoke  ExitProcess, 0
 
section '.data' data readable writeable
        aszPromptStr    db      'String: ', 0
        aszPromptN      db      'N: ', 0
        aszFmtStr       db      '%s', 0
        aszFmtInt       db      '%d', 0
        aszCrLf         db      0Dh, 0Ah, 0
        aszPressEnter   db      0Dh, 0Ah, 0Dh, 0Ah, "Press any key to exit", 0
section '.bss' readable writeable
        aszString       rb      1024
        N               rd      1
 
section '.idata' import data readable writeable
 
        library kernel32,'KERNEL32.DLL',\
                user32,'USER32.DLL',\
                msvcrt, 'msvcrt.dll'
 
        include 'api\kernel32.inc'
        include 'api\user32.inc'
        import  msvcrt,\
        printf, 'printf',\
        scanf,  'scanf',\
        _getch, '_getch'
0
programmer
2391 / 525 / 69
Регистрация: 01.06.2011
Сообщений: 3,639
01.07.2019, 00:44 3
сВят великиЙ,

программу не тестировал,
но лишняя средняя mov cx,0
строка 19

Assembler
1
2
3
        mov cx,ax
        mov cx,0                
lp:     mov ax,2
1
01.07.2019, 00:44
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.07.2019, 00:44
Помогаю со студенческими работами здесь

Вывести на экран строку, введенную с клавиатуры
Нужно вывести на экран строку которую только что ввел с клавиатуры. Я написал некий код TITLE...

Работа со строками (вывести на экран введенную строку)
Помогите пожалуйста, нужно просто вывести на экран, введенную строку, что не так: string stroka;...

Ввести с клавиатуры строку, состоящую из целых чисел, разделенных пробелами. Найти минимальное число и вывести на экран
Я вроде чё-то понял, но вроде и нет :D. Можете подсказать, где и что не так? А то не понимаю, что...

Вывести на экран введенную строку, предварительно заменив пробелы символами табуляции и удалив знаки препинания
Вывести на экран введенную строку, предварительно заменив пробелы символами табуляции и удалив...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru