I need help in this assembly program, I can fix those 4 errors .MODEL SMALL .286
ID: 3841989 • Letter: I
Question
I need help in this assembly program, I can fix those 4 errors
.MODEL SMALL
.286
.DATA
.CODE
Menu:
mov ah, 0
mov al,3h
int 10h
mov ax, 0600h
mov bh,0fh
mov cx, 0000h
mov dx, 184Fh
int 10h
mov ah,02h
mov bh,00
mov dh,00
mov dl,00
int 10h
mov dl, mostrarMenu
mov ah,09
int 21h
mov ah,08
int 21h
mostrarMenu db 'Bienvenido Eliga una figura',13,10
db '1. Circulo',13,10
db '2. Linea',13,10
db '3. Cuadrado',13,10
db '4. Triangle',13,10
db 'Selecciona un opcion',13,10,'$'
cmp al,49
je op1
cmp al,50
je op2
cmp al,51
je op3
cmp al,52
je op4
op1:
.model SMALL
.code
org 100h
circle1:
mov ax, 13h
int 10h
PUSH 0A000H
pop es
mov dx, 160
mov di,100
mov al, 04h
mov bx, 50
call circle
mov ah,0
int 16h
mov ax, 3
int 10h
mov ah, 4ch
int 21h
circle:
mov bp,0
mov si, bx
c00:
call _8pixels
sub bx, bp
inc bp
sub bx, bp
jg c01
add bx, si
dec si
add bx, si
c01:
cmp si, bp
jae c00
ret
_8pixels:
CALL _4PIXELS
_4PIXELS:
xchg bp, si
call _2PIXELS
_2PIXELS:
neg si
push di
add di, si
IMUL DI,320
add di, dx
mov es:[di+bp], al
sub di, bp
stosb
pop di
ret
end circle1
op2:
.MODEL SMALL
.DATA
H DW 100
W DW 100
TEMP DW 0000
TEMP2 DW 0000
.CODE
LINE PROC
MOV AH, OH
MOV AL, 12H
INT 10H
MOV CX, H
MOV DX, W
MOV TEMP2, CX
MOV BX, CX
ADD BX, DX
MOV TEMP, BX
MOV AX, 0C02H
BACK:
INT 10H
INC CX
CMP CX, 300
JNZ BACK
MOV AX, 0C02H
RET
LINE ENDP
START:
MOV AX, @DATA
MOV DS, AX
CALL LINE
MOV AX,0H
INT 16H
MOV AH, OH
MOV AL,03H
INT 10H
FIN:
MOV AX, 4C00H
INT 21H
END START
op3:
.MODEL SMALL
.DATA
H DW 100
W DW 100
TEMP DW 0000
TEMP 2 DW 0000
.CODE
RECT PROC
MOV AH, 0H
MOV AL, 12H
INT 10H
MOV CX, W
MOV DX, H
MOV TEMP2, CX
MOV BX, CX
ADD BX, DX
MOV TEMP, BX
MOV AX, 0C02H
BACK1:
INT 10H
INC DX
CMP DX, CX
JNZ BACK1
MOV AX, 0C02H
BACK2:
INT 10H
DEC CX
CMP CX, TEMP2
JNZ BACK2
MOV AX, 0C02H
BACK3:
INT 10H
DEC DX
CMP DX, CX
JNZ BACK 3
RET
RECT ENDP
RECT1:
MOV AX, @DATA
MOV DX, AX
CALL RECT
MOV AX, 0H
INT 16H
MOV AH, 0H
MOV AL, 03H
INT 10H
FIN:
MOV AX, 4C00H
INT 21H
END RECT1
op4:
.MODEL SMALL
.DATA
H DW 50
W DW 50
TEMP DW 0000
TEMP2 DW 0000
.CODE
JMP START
MODE DB 18
X_CENTER DW 300
Y_CENTER DW 200
Y_VALUE DW 0
X_VALUE DW 100
DECISION DW 1
COLOUR DB 2
TRI:
MOV AH, 00
MOV AL, MODE
INT 10H
DRAWCIRCLE:
MOV AL, COLOUR
MOV AH, 0CH
MOV CX, X_VALUE
ADD CX, X_CENTER
MOV DX, Y_VALUE
NEG DX
ADD DX, Y_CENTER
INT 10H
MOV CX, X_VALUE
NEG CX
ADD CX, X_CENTER
INT 10H
MOV CX, Y_VALUE
ADD CX, X_CENTER
MOV DX, X_VALUE
NEG DX
ADD DX, Y_CENTER
INT 10H
MOV CX, Y_VALUE
NEG CX
ADD CX, X_CENTER
INT 10H
INC Y_VALUE
CONDITIO1:
CMP DECISION, 0
JA CONDITION2
MOV CX, Y_VALUE
MOV AX, 2
IMUL CX
ADD CX, 1
INC CX
ADD DECISION, CX
MOV BX, Y_VALUE
MOV BX, X_VALUE
CMP BX, DX
JG READKEY
JMP DRAWCIRCLE
CONDITION2:
DEC X_VALUE
MOV CX, Y_VALUE
SUB CX, X_VALUE
MOV AX, 2
IMUL CX
INC CX
ADD DECISION, CX
MOV BX, Y_VALUE
MOV DX, X_VALUE
CMP BX, DX
JG READKEY
JMP DRAWCIRCLE
READKEY:
MOV AH, 00
INT 16H
ENDD:
MOV AH, 00
MOV AL, 03
INT 10H
MOV AH, 04CH
MOV AL, 00
INT 21H
END TRI
END Menu
icrosoft (R) Macro Assembler Uersiom 5.00 right (C) Microsoft Corp 1981-1985, 1987. All rights reserved object filename [menu oBJ1: Source listing CNUL.LSTI: ross-reference CNUL.CRFJ nu. ASM(29) error A2006: Phase error between passes menu ASM(39): error A2009: Symbol not defined: 0P2 menu .ASM(41): error A2009: Symbol not defined OP3 menu ASMC43): error A2009: Symbol not defined OPA 50418 466110 Bytes symbol space free Warning Errors 4 Severe ErrorsExplanation / Answer
.MODEL SMALL
.286
.DATA
.CODE
Menu:
mov ah, 0
mov al,3h
int 10h
mov ax, 0600h
mov bh,0fh
mov cx, 0000h
mov dx, 184Fh
int 10h
mov ah,02h
mov bh,00
mov dh,00
mov dl,00
int 10h
mov dl, mostrarMenu
mov ah,09
int 21h
mov ah,08
int 21h
mostrarMenu db 'Bienvenido Eliga una figura',13,10
db '1. Circulo',13,10
db '2. Linea',13,10
db '3. Cuadrado',13,10
db '4. Triangle',13,10
db 'Selecciona un opcion',13,10,'$'
cmp al,49
je op1
cmp al,50
je op2
cmp al,51
je op3
cmp al,52
je op4
op1:
.model SMALL
.code
org 100h
circle1:
mov ax, 13h
int 10h
PUSH 0A000H
pop es
mov dx, 160
mov di,100
mov al, 04h
mov bx, 50
call circle
mov ah,0
int 16h
mov ax, 3
int 10h
mov ah, 4ch
int 21h
circle:
mov bp,0
mov si, bx
c00:
call _8pixels
sub bx, bp
inc bp
sub bx, bp
jg c01
add bx, si
dec si
add bx, si
c01:
cmp si, bp
jae c00
ret
_8pixels:
CALL _4PIXELS
_4PIXELS:
xchg bp, si
call _2PIXELS
_2PIXELS:
neg si
push di
add di, si
IMUL DI,320
add di, dx
mov es:[di+bp], al
sub di, bp
stosb
pop di
ret
end circle1
op2:
.MODEL SMALL
.DATA
H DW 100
W DW 100
TEMP DW 0000
TEMP2 DW 0000
.CODE
LINE PROC
MOV AH, OH
MOV AL, 12H
INT 10H
MOV CX, H
MOV DX, W
MOV TEMP2, CX
MOV BX, CX
ADD BX, DX
MOV TEMP, BX
MOV AX, 0C02H
BACK:
INT 10H
INC CX
CMP CX, 300
JNZ BACK
MOV AX, 0C02H
RET
LINE ENDP
START:
MOV AX, @DATA
MOV DS, AX
CALL LINE
MOV AX,0H
INT 16H
MOV AH, OH
MOV AL,03H
INT 10H
FIN:
MOV AX, 4C00H
INT 21H
END START
op3:
.MODEL SMALL
.DATA
H DW 100
W DW 100
TEMP DW 0000
TEMP 2 DW 0000
.CODE
RECT PROC
MOV AH, 0H
MOV AL, 12H
INT 10H
MOV CX, W
MOV DX, H
MOV TEMP2, CX
MOV BX, CX
ADD BX, DX
MOV TEMP, BX
MOV AX, 0C02H
BACK1:
INT 10H
INC DX
CMP DX, CX
JNZ BACK1
MOV AX, 0C02H
BACK2:
INT 10H
DEC CX
CMP CX, TEMP2
JNZ BACK2
MOV AX, 0C02H
BACK3:
INT 10H
DEC DX
CMP DX, CX
JNZ BACK 3
RET
RECT ENDP
RECT1:
MOV AX, @DATA
MOV DX, AX
CALL RECT
MOV AX, 0H
INT 16H
MOV AH, 0H
MOV AL, 03H
INT 10H
FIN:
MOV AX, 4C00H
INT 21H
END RECT1
op4:
.MODEL SMALL
.DATA
H DW 50
W DW 50
TEMP DW 0000
TEMP2 DW 0000
.CODE
JMP START
MODE DB 18
X_CENTER DW 300
Y_CENTER DW 200
Y_VALUE DW 0
X_VALUE DW 100
DECISION DW 1
COLOUR DB 2
TRI:
MOV AH, 00
MOV AL, MODE
INT 10H
DRAWCIRCLE:
MOV AL, COLOUR
MOV AH, 0CH
MOV CX, X_VALUE
ADD CX, X_CENTER
MOV DX, Y_VALUE
NEG DX
ADD DX, Y_CENTER
INT 10H
MOV CX, X_VALUE
NEG CX
ADD CX, X_CENTER
INT 10H
MOV CX, Y_VALUE
ADD CX, X_CENTER
MOV DX, X_VALUE
NEG DX
ADD DX, Y_CENTER
INT 10H
MOV CX, Y_VALUE
NEG CX
ADD CX, X_CENTER
INT 10H
INC Y_VALUE
CONDITIO1:
CMP DECISION, 0
JA CONDITION2
MOV CX, Y_VALUE
MOV AX, 2
IMUL CX
ADD CX, 1
INC CX
ADD DECISION, CX
MOV BX, Y_VALUE
MOV BX, X_VALUE
CMP BX, DX
JG READKEY
JMP DRAWCIRCLE
CONDITION2:
DEC X_VALUE
MOV CX, Y_VALUE
SUB CX, X_VALUE
MOV AX, 2
IMUL CX
INC CX
ADD DECISION, CX
MOV BX, Y_VALUE
MOV DX, X_VALUE
CMP BX, DX
JG READKEY
JMP DRAWCIRCLE
READKEY:
MOV AH, 00
INT 16H
ENDD:
MOV AH, 00
MOV AL, 03
INT 10H
MOV AH, 04CH
MOV AL, 00
INT 21H
END TRI
END Menu
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.