Нужно создать символьный рядок длинной 7 символов и разместить поочередно символы А и Б.
Есть прототип кода (ниже)
А вот дальше я застрял.. .
Datas segment
Simvol db «7»
String db 3 dup(«8»)
String db $
;0Dh – символ возвращения каретки (Carriage Return),
;0Ah - символ перевода ряда
CR_LFdb 0dh,0ah, '$'
Datas ends
Codes segment
Assume cs:Codes,ds:Datas
First:
mov ax, Datas
mov ds, ax
mov ah, 40h;Подготовка и
mov bx, 1; вывод
mov cx, 3; выходящего ряда String
lea dx, String; методами DOS
int 21h
mov ah, 9h; Выведение на екран
mov dx, offset CR_LF;перевод курсора на
int 21h;следующий рядок
mov al, Simvol; Размещение
mov String, al; символа
mov String+1, al; в позиции рядка
mov String+2, al
mov ah, 40h; Подготовка
mov bx, 1; і вывод
mov cx, 3; итогового ряда
lea dx, String; методами DOS
int 21h
mov ah, 4ch; Возвращение
int 21h; в среду DOS
Codes ends
end First
Другие языки программирования и технологии
Помогите с программой на TASM
> создать символьный рядок длинной 7 символов
Может быть "создать символьную строку длиной 7 символов.
Вы попробуйте произнести, то что написали, с правильными ударениями и понять смысл этого. (Для справки, прилагательное "длинный" в творительном падеже женского рода (длинной) имеет ударение на звук "и", а существительное "длина" в (творительном падеже "длиной") имеет ударение на звук "о").
Очень длинной длиной и не очень короткой шириной. xD
Теперь о программе. Вам требуется именно создать строку? Т.е. программно выделить под неё динамическую память в куче или достаточно просто разместить символы в зарезервированной при линковке области сегмента данных?
Выводить в окно терминала вам обязательно нужно функцией записи в файл?
Datas segment
String db 7 dup (?)
CR_LF db 13, 10
Prompt db 'Для завершения работы нажмите любую клавишу...'
Datas ends
Codes segment
assume cs:Codes, ds:Datas, ss:Stck
First:
mov ax, Datas
mov ds, ax
mov es, ax
mov cx, 7
mov al, 'А'
lea di, String
Repeat:
stosb
xor al, 1
loop Repeat
mov cx, 7
lea dx, String
call Print
mov cx, 2
lea dx, CR_LF
call Print
mov cx, 46
lea dx, Prompt
call Print
mov ah, 8
int 21h
mov ah, 4Ch
int 21h
Print proc
mov ah, 40h
mov bx, 1
int 21h
ret
Print endp
Codes ends
Stck segment stack
dw 100h dup (?)
Stck ends
end First
Может быть "создать символьную строку длиной 7 символов.
Вы попробуйте произнести, то что написали, с правильными ударениями и понять смысл этого. (Для справки, прилагательное "длинный" в творительном падеже женского рода (длинной) имеет ударение на звук "и", а существительное "длина" в (творительном падеже "длиной") имеет ударение на звук "о").
Очень длинной длиной и не очень короткой шириной. xD
Теперь о программе. Вам требуется именно создать строку? Т.е. программно выделить под неё динамическую память в куче или достаточно просто разместить символы в зарезервированной при линковке области сегмента данных?
Выводить в окно терминала вам обязательно нужно функцией записи в файл?
Datas segment
String db 7 dup (?)
CR_LF db 13, 10
Prompt db 'Для завершения работы нажмите любую клавишу...'
Datas ends
Codes segment
assume cs:Codes, ds:Datas, ss:Stck
First:
mov ax, Datas
mov ds, ax
mov es, ax
mov cx, 7
mov al, 'А'
lea di, String
Repeat:
stosb
xor al, 1
loop Repeat
mov cx, 7
lea dx, String
call Print
mov cx, 2
lea dx, CR_LF
call Print
mov cx, 46
lea dx, Prompt
call Print
mov ah, 8
int 21h
mov ah, 4Ch
int 21h
Print proc
mov ah, 40h
mov bx, 1
int 21h
ret
Print endp
Codes ends
Stck segment stack
dw 100h dup (?)
Stck ends
end First
Похожие вопросы
- Помогите написать программу со switch в СИ
- Помогите написать программу на С. Тема Составление программ с использованием массивов
- Помогите написать программу выключения компьютера на С++
- Помогите исправить программу
- помогите написать программы в ассемблере
- Помогите написать программу в с++
- Помогите написать программу на Visual Basic (найти ошибку)
- Помогите доделать программу
- Помогите написать программу на С++
- помогите написать программу на С в Борланде?