отладка сборки x-86 с помощью dosbox - PullRequest
0 голосов
/ 06 июня 2018

, так как я до сих пор не знаю метода для написания и компиляции сборок x-86 программ связанных списков через ide (emu8086 не поддерживает структуру связанных списков, насколько я знаю), я написал его в блокноте и скомпилировал с помощью dosbox, код компилируетсябез ошибок и когда я запускаю через g4e (адрес mov ах, 4ch я получаю, чтобы ввести число, и там программа застревает

вот мой код

node struc

 value db ?
 next dw ?

node ends


dseg segment

list node <'1',3h>
    ORG 3h
    node <'3',6h>
    ORG 6h
    node <'7',9h>
    ORG 9h
    node <'9',-1> 
searchInt db 0
counter1 db 0
welcome db 'Please enter a number between 1-10$'

dseg ends          

sseg segment stack
db 10h dup (?)    
sseg ends

cseg segment
assume cs:cseg,ds:dseg,ss:sseg

start:
   mov ax,dseg
   mov ds,ax
   lea si,list
   mov dx,offset welcome
   call print
   userInput:
   xor ax,ax
   mov ah, 1
   int 21h

   cmp al,30h
   jb userInput
   cmp al,39h
   ja userInput
   jmp searching

   searching: 
   lea si,list
   cmp [si].value,al
   je counter
   cmp [si].value,-1
   je sof
   mov si,[si].next
   jmp searching

   counter:
   inc counter1
   cmp [si].value,-1
   je sof
   jmp searching


   print proc ;procedure for printing messages 
   mov ah,9h
   int 21h
   MOV dl, 10
   MOV ah, 02h
   INT 21h
   MOV dl, 13
   MOV ah, 02h
   int 21h ;start a new line
   ret
   print endp

   sof:
   mov ah,4ch
   int 21h

 cseg ends
 end start

может кто-то указатьгде моя проблема?

...