Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.11.2013, 19:20   #1
Fratzica
 
Регистрация: 23.11.2013
Сообщений: 3
По умолчанию Помагите преобразовать в Асемблер код

main()
{
char key[255];
while(key[0]!='q')
{
gets(key);
}
}
Fratzica вне форума Ответить с цитированием
Старый 23.11.2013, 21:49   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
format PE console
entry start
 
include 'D:\fasmw16726\INCLUDE\win32a.inc'
 
section '.data' data readable writeable
key db 255 dup(0)

section '.code' code readable executable
start:


next:
  xor eax,eax
  cinvoke gets,key
  cmp [key],'q'
  jnz next

  invoke ExitProcess,0

section '.idata' import data readable
library kernel,'kernel32.dll',\
        msvcrt,'msvcrt.dll'
 
import kernel,\
       ExitProcess,'ExitProcess'
 
import msvcrt,\
       gets,'_gets'
Не проверял.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.11.2013, 18:16   #3
Fratzica
 
Регистрация: 23.11.2013
Сообщений: 3
По умолчанию

Мне нужен код в формате .exe ; Скажыте что я не правельно делаю :

Код:
data segment 
m1 db 'Введите строку : $'
r db 30, ?, 30 dup (?)
m2 db 0Dh,0Ah,'Вот ваша страка :','$'
m21 db 0Dh,0Ah,'','$'
m3 db 'q'
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
mov ah,9
lea dx,m21
int 21h
mov ah,9
lea dx,m1
int 21h
mov ah,0Ah
lea dx,r
int 21h
mov bl,r+1
xor bh,bh
mov [r+2+bx],'$'
mov ah,9
mov ah,9
lea dx,m21
int 21h
lea dx,m2
int 21h
mov ah,9
lea dx,r+2
int 21h
mov ah,9
lea dx,m21
int 21h




;mov al,m3
;mov cl,r

while_begin:
cmp [r],'q'
JE while_end 

mov ah,9
lea dx,m21
int 21h
mov ah,9
lea dx,m1
int 21h
mov ah,0Ah
lea dx,r
int 21h
mov al,r
mov bl,r+1
xor bh,bh
mov [r+2+bx],'$'
mov ah,9
mov ah,9
lea dx,m21
int 21h
lea dx,m2
int 21h
mov ah,9
lea dx,r+2
int 21h
mov ah,9
lea dx,m21
int 21h


jmp while_begin

while_end:
mov ah,4ch
int 21h



code ends
end start


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 24.11.2013 в 23:00.
Fratzica вне форума Ответить с цитированием
Старый 25.11.2013, 22:55   #4
Fratzica
 
Регистрация: 23.11.2013
Сообщений: 3
По умолчанию Помагите преобразовать в Асемблер код

Код:
main()
{
char key[255];
while(key[0]!='q')
{
gets(key);
}
}
Мне нужен код в формате .exe ; Скажыте что я не правельно делаю :

Код:
data segment 
m1 db 'Введите строку : $'
r db 30, ?, 30 dup (?)
m2 db 0Dh,0Ah,'Вот ваша страка :','$'
m21 db 0Dh,0Ah,'','$'
m3 db 'q'
data ends
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
mov ah,9
lea dx,m21
int 21h
mov ah,9
lea dx,m1
int 21h
mov ah,0Ah
lea dx,r
int 21h
mov bl,r+1
xor bh,bh
mov [r+2+bx],'$'
mov ah,9
mov ah,9
lea dx,m21
int 21h
lea dx,m2
int 21h
mov ah,9
lea dx,r+2
int 21h
mov ah,9
lea dx,m21
int 21h




;mov al,m3
;mov cl,r

while_begin:
cmp [r],'q'
JE while_end 

mov ah,9
lea dx,m21
int 21h
mov ah,9
lea dx,m1
int 21h
mov ah,0Ah
lea dx,r
int 21h
mov al,r
mov bl,r+1
xor bh,bh
mov [r+2+bx],'$'
mov ah,9
mov ah,9
lea dx,m21
int 21h
lea dx,m2
int 21h
mov ah,9
lea dx,r+2
int 21h
mov ah,9
lea dx,m21
int 21h


jmp while_begin

while_end:
mov ah,4ch
int 21h



code ends
end start
Fratzica вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
преобразовать в код С++ daniil2010 Помощь студентам 2 22.04.2010 15:33
Преобразовать код... CodeExpert Помощь студентам 3 09.11.2009 16:00
Как преобразовать код SeRhy HTML и CSS 1 17.08.2008 15:50