2015-10-09 1 views
0

J'ai récemment installé tasm pour winxp en utilisant le mode Windows XP et l'ai installé. Les commandes tasm et tlink fonctionnent, mais j'obtiens une erreur au niveau de MAIN PROC ou START:, même erreur pour les deux.Erreur TASM: CS inaccessible du segment actuel

Ceci est mon code pour entrer un numéro et une sortie le même nombre:

.model small  
.stack 100h 
.code 
.data 

start: 
mov ah,1 
int 21h 

mov dl,al 
mov ah,2 
int 21h 

mov ah,4ch 
int 21h 

end start 

et l'erreur que je reçois est:

name.asm(5) CS unreachable from current segment 

Est-il possible cela est dû à mon logiciel? Initialement, j'utilisais tasm w/DOSBox pour win7, mais cela continuait de se réinitialiser et de montrer des symboles sur tout l'écran. enter image description here

+0

Peut-être que vous vouliez mettre '.data' avant' .code' (ils semblent être en arrière)? –

+1

donc ce serait '.model small'' .stack' '.data'' .code' 'début:' –

Répondre

0

Le code OP a commencé par ce qui suit. J'ai ajouté des commentaires:

.model small ; Code and Data max 64K 
.stack 100h  ; Only 256 bytes of stack 
.code   ; Start writing code... 
.data   ; Start giving some data... 

start:   ; Here's the entry point 
mov ah,1  ; Put 1 into ah 

Et l'assembleur fournissais l'erreur CS unreachable from the current segment.

@Michael Petch a fait remarquer qu'en ouvrant le segment .data puis en écrivant du code, l'OP essayait de mettre du code dans le segment de données - ce que l'assembleur n'a pas aimé. En échangeant les instructions .code et .data, l'assembleur était satisfait.