woeful
جمعه 04 تیر 1389, 10:11 صبح
سلام
این کدیه که من برای جمع دو عدد اسکی نوشتم حالا (یه قسمت از کل کد)وقتی Assemble میکنم به کدهایی که قرمز رنگ کردم Illegal indexing mode میده و به سبزه Illegal memory reference میده مشکل کجاست ؟؟
ADD_ASC PROC
CLC
MOV BL,BUFCOUNT1
MOV DL,BUFCOUNT2
SUB BH,BH
MOV DH,BH
SUB BX,1
SUB DX,1
CMP BX,DX
JC LB1
MOV CX,BX
JMP BACK
LB1:
MOV CX,DX
BACK:
MOV AL,BUFAREA1[BX]
ADC AL,BUFAREA2[DX]
AAA
MOV RESULT1[CX],AL
CMP DX,0
JE B2_LOW
CMP BX,0
JE B1_LOW
DEC BX
DEC DX
DEC CX
JMP BACK
B2_LOW:
CMP BX,0
JE EXIT
MOV CX,BX
ADD CX,1
BACK2:
MOV RESULT1[BX],BUFAREA1[BX]
LOOP BACK2
JMP EXIT1
B1_LOW:
CMP DX,0
JE EXIT1
MOV CX,DX
ADD CX,1
BACK3:
MOV AL,BUFAREA2[DX]
MOV RESULT1[DX],AL
LOOP BACK3
EXIT1:
RET
ADD_ASC ENDP
این کدیه که من برای جمع دو عدد اسکی نوشتم حالا (یه قسمت از کل کد)وقتی Assemble میکنم به کدهایی که قرمز رنگ کردم Illegal indexing mode میده و به سبزه Illegal memory reference میده مشکل کجاست ؟؟
ADD_ASC PROC
CLC
MOV BL,BUFCOUNT1
MOV DL,BUFCOUNT2
SUB BH,BH
MOV DH,BH
SUB BX,1
SUB DX,1
CMP BX,DX
JC LB1
MOV CX,BX
JMP BACK
LB1:
MOV CX,DX
BACK:
MOV AL,BUFAREA1[BX]
ADC AL,BUFAREA2[DX]
AAA
MOV RESULT1[CX],AL
CMP DX,0
JE B2_LOW
CMP BX,0
JE B1_LOW
DEC BX
DEC DX
DEC CX
JMP BACK
B2_LOW:
CMP BX,0
JE EXIT
MOV CX,BX
ADD CX,1
BACK2:
MOV RESULT1[BX],BUFAREA1[BX]
LOOP BACK2
JMP EXIT1
B1_LOW:
CMP DX,0
JE EXIT1
MOV CX,DX
ADD CX,1
BACK3:
MOV AL,BUFAREA2[DX]
MOV RESULT1[DX],AL
LOOP BACK3
EXIT1:
RET
ADD_ASC ENDP