
09.11.2009, 22:19
|
|
Новичок
Регистрация: 09.11.2009
Сообщений: 3
С нами:
8686544
Репутация:
0
|
|
После компиляции с "movzx" файл почемуто увеличивается на 16 байт посравнению с предыдущим. Программа ничего не делает, а в отладчике вот это:
Код:
D:\MASM611\BIN>DEBUG 3.COM
-R
AX=0000 BX=0000 CX=004A DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000
DS=13FE ES=13FE SS=13FE CS=13FE IP=0100 NV UP EI PL NZ NA PO NC
13FE:0100 B43C MOV AH,3C
-T
AX=3C00 BX=0000 CX=004A DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000
DS=13FE ES=13FE SS=13FE CS=13FE IP=0102 NV UP EI PL NZ NA PO NC
13FE:0102 66 DB 66
-T
AX=3C00 BX=0000 CX=004A DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000
DS=13FE ES=13FE SS=13FE CS=13FE IP=0105 NV UP EI PL NZ NA PO NC
13FE:0105 42 INC DX
-T
AX=3C00 BX=0000 CX=004A DX=0001 SP=FFFE BP=0000 SI=0000 DI=0000
DS=13FE ES=13FE SS=13FE CS=13FE IP=0106 NV UP EI PL NZ NA PO NC
13FE:0106 0100 ADD [BX+SI],AX DS:0000=20CD
-
|
|
|

10.11.2009, 10:12
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами:
10097606
Репутация:
3349
|
|
Кстати, как отладчик для DOS COM-программы лично мне нравился не стандартный debug, а прожка под названием avputil.com входящяя в состав старинного антивируса AVP (ныне это каспер) и там был более менее норм отладчик.
Хотя как вариант еще юзать отладчик который поставляется в комплекте с Borland Pascal/C++ тоже можно юзать.
|
|
|

10.11.2009, 18:54
|
|
Новичок
Регистрация: 28.07.2009
Сообщений: 4
С нами:
8835896
Репутация:
0
|
|
Какбы такой вот простой вопрос:
Как в masm выводить строку в консоль?
Традиционный код
Код:
mov eax,09
lea edx,strt
int 21h
при после компиляции и запуска приложения показывает стандартное окно с отправкой отчета.
Последний раз редактировалось SENTRY; 10.11.2009 в 19:49..
|
|
|

15.11.2009, 18:34
|
|
Участник форума
Регистрация: 18.04.2009
Сообщений: 120
С нами:
8981650
Репутация:
80
|
|
Помогите пожалуйста кто-то вывести через MessageBoxA текущий айпи адрес, используя gethostbyname. MASM32. Заранее благодарен.
|
|
|

16.11.2009, 12:53
|
|
Участник форума
Регистрация: 19.05.2007
Сообщений: 281
С нами:
9989619
Репутация:
106
|
|
Сообщение от Sams
Помогите пожалуйста кто-то вывести через MessageBoxA текущий айпи адрес, используя gethostbyname. MASM32. Заранее благодарен.
Код:
.386
.model flat,stdcall
option casemap:none
includelib C:\masm\lib\kernel32.lib
includelib C:\masm\lib\user32.lib
includelib C:\masm\lib\ws2_32.lib
include C:\masm\include\kernel32.inc
include C:\masm\include\ws2_32.inc
include C:\masm\include\user32.inc
include C:\masm\include\windows.inc
.data?
wsaData WSADATA <>
hn db 1024 dup(?)
.data
.code
start:
invoke WSAStartup,101h,ADDR wsaData
invoke gethostname,ADDR hn,1024
invoke gethostbyname,ADDR hn
mov eax, [eax+12]
mov eax, [eax]
mov eax, [eax]
invoke inet_ntoa,eax
invoke MessageBoxA,0,eax,eax,0
invoke ExitProcess,0
end start
|
|
|

16.11.2009, 10:24
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами:
10097606
Репутация:
3349
|
|
2 SENTRY
ты юзаеш 32 код для работы с 16 битной системой.
так что пиши
Код:
mov ah,09
lea dx,strt
int 21h
|
|
|

30.11.2009, 02:20
|
|
Постоянный
Регистрация: 04.12.2007
Сообщений: 424
С нами:
9702986
Репутация:
479
|
|
внезапно мне понадобилось реализовать switch/case на ассемблере. Свитч - DWORD. кейсов около 7. как реализовать это на асме в минимальное количество байт?
Последний раз редактировалось ntldr; 30.11.2009 в 02:23..
|
|
|

30.11.2009, 10:23
|
|
Познавший АНТИЧАТ
Регистрация: 05.03.2007
Сообщений: 1,985
С нами:
10097606
Репутация:
3349
|
|
А как не крути но это обычные конструкции вида
Код:
cmp edx, число
jne m1
действий
jmp end
m1:
cmp edx, число
jne m2
действий
jmp end
m2:
------------------------------ итд.
end:
|
|
|

30.11.2009, 18:58
|
|
Познающий
Регистрация: 30.11.2009
Сообщений: 97
С нами:
8655837
Репутация:
80
|
|
Ну да, там так с джампами и выйдет. Вот так, например:
Код:
cmp eax, 1
jz .is_one
cmp eax, 2
jz .is_two
;default
...
.is_one:
...
.is_two:
...
|
|
|

04.12.2009, 18:28
|
|
Новичок
Регистрация: 03.12.2009
Сообщений: 5
С нами:
8651259
Репутация:
0
|
|
Здравствуйте, кодеры! Переведите несколько строк кода с tasm на fasm(среда DOS), а то не получается:
...
toad proc near
...
...
horny label near
toad endp
|
|
|
|
 |
|
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
Вопросы для новичков! (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)
|
|
|
|