asm[nasm] problem z kodem

0
[bits 16]
[org 100h]
jmp     short loc_133


loc_133:
mov     cx, 3E9h
mov     di, 18Eh

loc_139:
mov     byte ptr [di], 1 //error
inc     di
loop    loc_139

mov     byte_18E, 0
mov     byte_18F, 0
mov     di, 2

loc_14C:
cmp     byte ptr [di+18Eh], 0 //error
jz      short loc_166
shl     di, 1
lea     si, [di]
shr     di, 1

loc_159:
mov     byte ptr [si+18Eh], 0 //error
add     si, di
cmp     si, 3E9h
jb      short loc_159

loc_166:
inc     di
cmp     di, 3E9h
jnz     short loc_14

mov     di, 2

loc_170:
cmp     byte ptr [di+18Eh], 0 //error
jz      short loc_182

mov     ax, di
call    sub_102
mov     dl, 20h
mov     ah, 2
int     21h  

loc_182:
inc     di
cmp     di, 3E9h
jnz     short loc_170

mov     ax, 4C00h
int     21h

Może ktoś pomóc z errorami?

0

Rozumiem ze mamy zgadywać cóz to za errory i co to w ogóle jest? ;]
Na oko wygląda ok, ale:

  1. Nie pisałbym samego [di] a jednak wskazał na jakiś rejestr segmentowy, tzn np. ds:[di] albo cd:[si]
  2. Wolno indeksować za pomocą di+cośtam ? Nie trzeba tam mieć czasem ax+cośtam?
0

error: comma, colon or end of line expected

0

A wiesz ze komentarze w asemblerze robi się średnikiem a nie // ?

0

W nasmie nie ma ptr.

0

Faktycznie usunięcie tego pomogło.
Mam jeszcze coś takiego:
error: symbol byte_18E' undefined error: symbol byte_18F' undefined

0

A masz zdefiniowane byte_18E i byte_18F?
Podpowiem, że nie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1