Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[52.15.70.216] |
|
Сообщ.
#1
,
|
|
|
Народ! почему прога(см.ниже) не компилируется как .com?
tasm проходит а вот tlink /t выдает сообщение об ошибке: invalid inicial entry point address ---------------------------------------------------------------------- code segment para public "code" use16 main proc assume cs:code,ds:code,ss:code org 100h jmp enddata message1 db "Input time (hh:mm:ss): $" enddata: mov ah,9 mov dx,offset message1 int 21h xor ax,ax mov ah,1h int 21h sub al,30h mov cx,10 xor dl,dl m1: add dl,al loop m1 xor ax,ax mov ah,1h int 21h sub al,30h add dl,al mov bl,dl mov ah,1h int 21h xor ax,ax mov ah,1h int 21h sub al,30h mov cx,10 xor dl,dl m2: add dl,al loop m2 xor ax,ax mov ah,1h int 21h sub al,30h add dl,al mov bh,dl mov ah,1h int 21h xor ax,ax mov ah,1h int 21h sub al,30h mov cx,10 xor dl,dl m3: add dl,al loop m3 xor ax,ax mov ah,1h int 21h sub al,30h add dl,al mov dh,dl mov cl,bh mov ch,bl mov dl,0 mov ah,2dh int 21h mov ax,4c00h int 21h endp main code ends end main |
Сообщ.
#2
,
|
|
|
А если "main proc" поставить после "org 100h"?
|
Сообщ.
#3
,
|
|
|
Ну че заработала!
|
Сообщ.
#4
,
|
|
|
2 Kernel Panic
да, это ты точно -стормозил чего-то я пасибо |
Сообщ.
#5
,
|
|
|
народ,еще один ламерский вопрос:объясните,почему я не могу использовать 32-разядные регистры(либо я совсем тупой либо прога из книжки глючит)
.586p model use16(пробовал и use32) small .code main: xor eax,eax end main мне кажется,что я ее как-то лево компилирую: tasm proga.asm tlink proga.obj |
Сообщ.
#6
,
|
|
|
теперь еще и
tlink /3 proga.obj попробовал-настолько конкретно вешает комп что даже если ее выполнять в сеансе ДОСа вырубает все и переводит монитор в режим энергосбережения-при этом комп остается включен и ни на что не реагирует |
Сообщ.
#7
,
|
|
|
Если прога под ДОС (как я понял, ты делаешь COM-прогу), никаких use'ов тебе не надо, а просто .model tiny и всё.... И все 32-битные регистры твои (естественно, с включенным .386 либо .486 и т.д.)
А потом: tasm /m porga.asm tlink /t /x proga.obj |