ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

25.06.2007, 12:01
|
|
Участник форума
Регистрация: 08.11.2006
Сообщений: 167
Провел на форуме: 539434
Репутация:
54
|
|
у мну лам проблем.
имеется такой код на масм:
Код:
.DATA
Buff db 100
.code
start:
mov [Buff], byte "A"
end start:
надо вообщем в буффер вставить А.
но ошибка.
помогите пожалуйсто
Последний раз редактировалось De-visible; 29.04.2008 в 01:24..
|
|
|

25.06.2007, 12:08
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
2 x-treem тебе нужно весь буфер забить символом A?
Если а то вот код на FASM
Код:
xor edi,edi
m:
mov [Buff+edi], byte "A"
inc edi
cmp edi,100
jbe m
я с масм не работал, поэтому незнаю прокатит
mov [Buff+edi], byte "A" или нет.
Ты попробуй сделать так:
Код:
xor edi,edi
lea ebx,buff
mov al,"A"
m:
mov [ebx+edi], byte al
inc edi
cmp edi,100
jbe m
Последний раз редактировалось slesh; 25.06.2007 в 12:13..
|
|
|

25.06.2007, 12:11
|
|
Участник форума
Регистрация: 08.11.2006
Сообщений: 167
Провел на форуме: 539434
Репутация:
54
|
|
не, мне нуна добавлять туда символы.
сначала например А
потом Hello
потом puki
а потом вывести в мессаджбоксе
|
|
|

25.06.2007, 12:13
|
|
Познавший АНТИЧАТ
Регистрация: 21.03.2007
Сообщений: 1,200
Провел на форуме: 7134052
Репутация:
1204
|
|
2x-treem:
Если мне не изменяет память, так работать с памятью нельзя. Надо через регистры.
Типа:
mov AL, byte "A"
mov [Buff], AL
|
|
|

25.06.2007, 12:16
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
Сообщение от x-treem
не, мне нуна добавлять туда символы.
сначала например А
потом Hello
потом puki
а потом вывести в мессаджбоксе
Ну тогда юзай АПИ функцию
Код:
mov [Buff], 0
invoke lstrcat,[Buff],'HELLO' ; добавить данные к буферу
|
|
|

25.06.2007, 12:23
|
|
Постоянный
Регистрация: 08.05.2006
Сообщений: 816
Провел на форуме: 1845671
Репутация:
1338
|
|
iv. с памятью можно так работать, это же не из одного места памяти в другое, это в область памяти число пересылается... команда mov - это сделать в силах! mov Buff, "A"
x-treem
Код:
.386
.model flat, stdcall
option casemap:none
.DATA?
Buff db 100 dup(?)
.code
start:
mov [Buff], "A"
ret
end start
Нужно было обьявить правильно буфер "Buff db 100 dup(?)" + "end start:" - двоеточие не нужно...
P.S. x-treem Символы добавляются откуда? из DATA или просто в коде по штуке? или тебе сразу строку можно в буфер положить?
Последний раз редактировалось xqwerx; 25.06.2007 в 12:25..
|
|
|

25.06.2007, 12:29
|
|
Участник форума
Регистрация: 08.11.2006
Сообщений: 167
Провел на форуме: 539434
Репутация:
54
|
|
у мну lstrcat не работает. то естьвот
.DATA
Buff db 100
.CODE
start:
mov al, "И"
mov [Buff], al
xor al,al
mov al, "з"
add [Buff+1], al
add [Buff+2], al
mov [Buff], 0
invoke lstrcat,[Buff],"HELL"
invoke MessageBox, 0, addr Buff, addr Buff, MB_OK
invoke ExitProcess, NULL
end start
и нету мессадж бокса. да и вообще только 4 символа можно добавить
что тут не так?
|
|
|

25.06.2007, 12:43
|
|
Участник форума
Регистрация: 28.05.2007
Сообщений: 125
Провел на форуме: 638513
Репутация:
103
|
|
invoke lstrcat,[Buff],"HELL"
"HELL" должна быть определена в .data как строка
---------Пример функции lstrcat----------------
.data
hell db "HELL",0
.code
invoke lstrcat,addr Buff,addr hell
------------------Работа с символами-------------------
lea edi, Buff
mov al, "и"
mov byte ptr ds:[edi] , al
xor al,al
inc edi
mov al,"з"
mov byte ptr ds:[edi] ,al
имхо так
Последний раз редактировалось GoreMaster; 25.06.2007 в 12:50..
|
|
|

25.06.2007, 12:46
|
|
Постоянный
Регистрация: 08.05.2006
Сообщений: 816
Провел на форуме: 1845671
Репутация:
1338
|
|
x-treem Если ты пишешь на masm'e то все данные в виде строк и т.д. нужно хранить в .data ,а буферы в .data? ... В fasm'e немного по другому...
Код:
;###################################################
.386
.model flat, stdcall
option casemap :none ; case sensitive
;###################################################
include C:\masm32\include\windows.inc
include C:\masm32\include\user32.inc
include C:\masm32\include\kernel32.inc
includelib C:\masm32\lib\user32.lib
includelib C:\masm32\lib\kernel32.lib
;###################################################
.DATA
Buff db 100 dup(?)
szMsg db "Hello",0
;###################################################
.code
start:
mov Buff, "A"
invoke MessageBox, 0, ADDR Buff, ADDR Buff, 40h
invoke MessageBox, 0, ADDR szMsg, ADDR szMsg, 40h
invoke lstrcpy, ADDR Buff, ADDR szMsg
invoke MessageBox, 0, ADDR Buff, ADDR Buff, 40h
invoke ExitProcess, 0
end start
;###################################################
Некоторые приемы вывода в Мессаге...
|
|
|

04.07.2007, 13:03
|
|
Постоянный
Регистрация: 09.10.2005
Сообщений: 333
Провел на форуме: 1387660
Репутация:
74
|
|
как обычно компилю тасмом com программу
--------------------код------------------------
cseg segment
assume cs:cseg, ds:cseg,es:cseg,ss:cseg
org 100h
start:
mov ax, 0b800h
mov es,ax
mov di, 0
mov ah,31
mov al, 1
mov es:[di], ax
mov ax, 10h
int 16h
int 20h
cseg ends
end start
--------------------код------------------------
tasm program.asm
tlink program.obj/t/x
все ок(тасм ошибок никаких не выдает) , запускаю из командной строчки и программа виснет(ОС не виснет) , смайлик не выводится.... хотя раньше выводился. В чем может быть проблема?
|
|
|
|
 |
|
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
Вопросы для новичков! (faq)
|
PEPSICOLA |
С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby |
92 |
14.05.2010 17:59 |
|
ОС с нуля
|
z01b |
С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby |
36 |
03.07.2008 15:30 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|