Hi, I have a code in assembler and I can not enter the SI
register, the address that points to variable INFO
this is the code:
SZ = 2
DSEG SEGMENT
INFO DB 0CBH,0D3H
RESULT DB ?
OFFSETS DW 2 DUP (?)
DSEG ENDS
sseg segment stack
db 100h dup(?)
sseg ends
cseg segment
assume ds:dseg, ss:sseg, cs:cseg
main:
MOV AX,DSEG
MOV DS,AX
MOV SI,OFFSET INFO
MOV BX,OFFSET OFFSETS
MOV DI , SI
ADD DI , 3
MOV CX , SZ
REPEAT:
CALL POLI
INC SI
DEC DI
LOOP REPEAT
POLI :
MOV AL , [SI]
MOV AH , [DI]
CMP AL , AH
JB COM
ROR AH , 1
CMP AH , AL
JE RE1
MOV RESULT , 0
JMP SOF
COM:
ROR AL , 1
CMP AL , AH
JE RE2
MOV RESULT , 0
JMP SOF
RE1:
MOV OFFSETS [BX] , AX
INC BX
JMP SOF
RE2:
MOV DH , AL
MOV DL , AH
MOV OFFSETS [BX], DX
INC BX
SOF:
RET
ret
int 21h
cseg ends
end main