>Опишите пожалуйста раздел .DATA
Хоть какой-то намёк на компилятор. К сожалению строку .data в заголовке секции/сегмента данных используют TASM, FASM, MASM, YASM, NASM.
Однозначно определить компилятор по этому слову не получится.
Предположим, что это TASM или MASM. Процессор, вероятнее всего, Intel x86-совместимый. А какой точнее? 16-, 32- или 64-разрядный?
Программа для DOS или Windows? (tasm и masm могут создавать программы только для этих ОС. ) Если для Windows, то оконное или консольное приложение?
Вы уже столько вопросов по Ассемблеру задали и до сих пор не выяснили подо что же пишите программу.
>...и кусок кода с вводом строки и зиписи ее в файл
Т. е. написать всю программу.
16-разрядное приложение MS DOS:
.model small
.stack 100h
.data
MaxLen equ 79
Prompt db 'Введите строку: ',13,10,36
FileName db 'output.txt',0
Buffer db MaxLen + 1
LenStr db ?
String db MaxLen + 1 dup (?)
.code
N78199918:
mov si,@data
mov ds,si
lea dx,Prompt
mov ah,9
int 21h
lea dx,Buffer
inc ah
int 21h
mov ah,3Ch
lea dx,FileName
mov cx,0
int 21h
mov bx,ax
mov ah,40h
lea dx,String
mov cl,LenStr
xor ch,ch
int 21h
mov ah,3Eh
int 21h
mov ah,4Ch
int 21h
end N78199918
32-разрядное консольное приложение Windows:
.386
.model flat, stdcall
option casemap:none
include windows.inc
include kernel32.inc
include user32.inc
includelib kernel32.lib
includelib user32.lib
.stack 100h
.data
MaxLen equ 79
Prompt db 'Введите строку: ',13,10,0
FileName db 'output.txt',0
.data?
hStdIn dd ?
hStdOut dd ?
hFile dd ?
LenStr dd ?
String db MaxLen dup (?)
.code
N78199918:
invoke GetStdHandle,STD_INPUT_HANDLE
mov hStdIn,eax
invoke GetStdHandle,STD_OUTPUT_HANDLE
mov hStdOut,eax
invoke lstrlenA,addr Prompt
invoke WriteConsole,hStdOut,addr Prompt,eax,0,0
invoke ReadConsole,hStdIn,addr String,MaxLen,addr LenStr,0
invoke CreateFile,addr FileName,GENERIC_WRITE,NULL,\
NULL,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL
mov hFile, eax
;OemToCharBuff - чтобы не было вопросов, почему Блокнот вместо
;русских букв показывает нечитаемые символы
invoke OemToCharBuff,addr String,addr String,LenStr
invoke WriteFile,hFile,addr String,LenStr,addr LenStr,NULL
invoke CloseHandle,hFile
invoke ExitProcess,0
end N78199918
P.S. В обеих программах не проверяются никакие ошибки ввода-вывода в том числе файловых операций.
Введённая строка записывается в файл output.txt, который создаётся в одном каталоге с исполняемым файлом программы.
Другие языки программирования и технологии
вопрос по Ассемблеру
Ассемблер для AVR подойдёт?
icq 118024746
Похожие вопросы
- Вопрос по ассемблеру
- вопрос по ассемблеру
- Вопрос по Ассемблеру - Ввести с клавы 3 слова и вывести их на экран лесенкой Tasm
- Вопрос по ассемблеру
- Вопрос по ассемблеру!
- Вопрос про Ассемблер
- Вопрос по изучению языка Ассемблера под MS DOS. (Нужны советы по программному обеспечению/программированию)
- Что может ассемблер?
- Почему многие программисты ненавидят ассемблер?Ведь у него куча плюсов!Он позволяет максимально задействовать
- С помощью команд fpu вычислить площадь круга, исходя из введѐнного диаметра. Ассемблер...