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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.11.2011, 14:29   #1
serrggeee
Пользователь
 
Регистрация: 12.01.2010
Сообщений: 21
По умолчанию трансляция и компановка программ на асемблере используя пакет TASM 5

Я вот по учебнику изучаю асемблер, но учебник для процессоров пентиум 3 а у меня Celeron будут ли выполняться программы приведёные в примерах этого учебника
serrggeee вне форума Ответить с цитированием
Старый 29.11.2011, 15:07   #2
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

serrggeee
Для этого нужно знать хотя бы название твоего учебника, и даже если будут -- кривые руки пока еще никто не отменял...
Mikl___ вне форума Ответить с цитированием
Старый 29.11.2011, 15:43   #3
serrggeee
Пользователь
 
Регистрация: 12.01.2010
Сообщений: 21
По умолчанию

кника называется "Твой электронный учебник" издательство питер
это код программы
; Prg_3_1.asm
;Программа преобразованого шеснадцатеричного числа
;в символьном виде двоичное представление.
;Вход : исходное шестнадцатеричное число из двух цифр.
;вводится с клвавиатуры.
;Выход : результат преобразования пемещается в регистр dl .
;
;
data segment para public "data" ; сегмент данных
message db "Введите две шестнадцатеричные цифры, $"
data ends
stk segment stack
db 256 dup ("?") ; сегмент стека
stk ends
code segment para public "code" ; начало сегмента кода
main proc ; начало процедуры main
assume cs : code , ds : data , ss : stk
mov ax , data ; адрес сегмента данных в регистр ax
mov dx , ax ; ax в ds
mov ah , 9
mov dx , offset message
int 21h
xor ax , ax ; очистить регистр ax
mov ah , 1h ; 1h в регистр ah
int 21h ; генирация прерывания с номером 21h
mov dl , al ; содержимое регистра al в регистр dl
sub dl , 30h ; вычитание: (dl)= (dl)-30h
cmp dl , 9h ; сравните (dl) с 9h
jle M1 ; перейти на метку М1 , если dl<9h или dl=9h
sub dl , 7h ; вычитание : (dl)= (dl)-7h
M1: ;определение метки М1
mov cl , 4h ; пересылка 4h в регистр cl
shl dl , cl ; сдвиг содержимого dl на 4 разряда влево
int 21h ; вызов прерывания с номером 21h
sub al , 30h ; вычитание: (dl)= (dl)-30h
cmp al , 9h ; сравните (al) с 9h
jle M2 ; перейти на метку M2, если al<9h или al=9h
sub al , 7h ;вычитание : (al)= (al)-7h
M2: ; определение меткиM2
add dl , al ; сложение: (dl)= (dl)+(al)
mov ax , 4c00h ; пересылка 4c00h в регистр ax
int 21h ; вызов прерывания с номером 21h
main endp ;конец процедуры main
code ends ;конец сегмента кода
end main ;конец программы с точкой входа main
serrggeee вне форума Ответить с цитированием
Старый 30.11.2011, 04:10   #4
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

serrggeee
Не вижу упоминания в этой программе вообще ни о каком процессоре, ни о пне 3, ни о Celeron. Хотя видно что программа написана для DOS и для любого 16-разрядного Intel x86. Так что на твоем Celeron'е гарантированно будет выполнятся под Windows в режиме DOS-эмуляции
Mikl___ вне форума Ответить с цитированием
Старый 30.11.2011, 09:21   #5
serrggeee
Пользователь
 
Регистрация: 12.01.2010
Сообщений: 21
По умолчанию

я использую пакет masm 32 в папку BIN поместил папку New куда поместил свой проект это для порядка.
это батник трансляции которая прошла и создала только объектный код
@ echo ___________Prg_____________________ ____________________

c:\masm32\bin\ml.exe /coff /c .\ISHODNIC\Prg.asm ,Prg.obj , Prg.lst
а это батник компановщика

@ echo ___________Prg_____________________ ____________________

@ if EXIST Prg.obj c:\masm32\bin\link.exe /SUBSYSTEM:WINDOWS New\Prg.obj
подскажите почему не проходит компановка?
serrggeee вне форума Ответить с цитированием
Старый 30.11.2011, 11:19   #6
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

serrggeee
потому что программа для DOS, а ты ее компонуешь с ключами для Windows, ты бы подольше и повнимательнее почитал бы свой "электронный учебник", там это должно быть...
Mikl___ вне форума Ответить с цитированием
Старый 30.11.2011, 11:55   #7
serrggeee
Пользователь
 
Регистрация: 12.01.2010
Сообщений: 21
По умолчанию

Спасибо! а этот ключ как я понимаю @
serrggeee вне форума Ответить с цитированием
Старый 30.11.2011, 12:34   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

@ это аналог echo off для одной команды.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 01.12.2011, 04:10   #9
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,139
По умолчанию

serrggeee
ключи я выделил красным цветом
c:\masm32\bin\ml.exe /coff /c .\ISHODNIC\Prg.asm ,Prg.obj , Prg.lst
@ if EXIST Prg.obj c:\masm32\bin\link.exe /SUBSYSTEM:WINDOWS New\Prg.obj
а для DOS должно быть
c:\masm32\bin\ml /c .\ISHODNIC\Prg.asm
c:\masm32\bin\link .\ISHODNIC\Prg.obj,,,,,

Книги по прежнему игнорируешь?
Mikl___ вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Компиляция программ на TASM Pusher Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 14 27.03.2013 12:22
как установить пакет TASM serrggeee Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 21 30.11.2011 09:17
TASM дело тонкое!:) (Где в TASM IDE?) 3.14oner Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 9 15.11.2011 16:20
Не проходит компановка Artemprodigy Visual C++ 1 27.10.2010 23:53
Компиляция программ TASM lSMoKEl Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 16.10.2009 20:05