
[英]I'm trying to print sum and average of three numbers taken from user. Program's not running properly
[英]Add prices of products taken by user
想要添加用户输入的产品价格以获得总账单,我现在将产品价格乘以数量以将价格保存在任何变量中,以便我可以添加它们并获得总账单
请告诉如何以变量的产品价格添加它们并找出总账单。 如何在此代码中使用添加指令?
先感谢您
INCLUDE LABMACRO.ASM
.MODEL SMALL
.STACK 100H
.DATA
M0 DW "********** WELCOME TO THE SUPER MARKET ********** $"
M1 DW " ENTER PRODUCT NAME : $ "
M2 DW " ENTER PRODUCT PRICE : $ "
M3 DW " ENTER PRODUCT QUANTITY : $ "
M4 DW " ADD MORE ITEMS <Y OR N> : $ "
M5 DW " TOTAL BILL : $ "
M6 DW " TOTAL COST OF PRODUCT : $ "
M7 DW "******************************************** $"
VARN DB 10 , ? ,10 DUP(?)
RES DW ?
.CODE
MAIN PROC
MOV AX,@DATA
MOV DS,AX
CURSOR_SET 00,0CH,10H
DISPLAY M0
INPUT_CHAR CHAR
CMP AL,0DH
JE CLEAR_SCR
CLEAR_SCR:
CLEAR
AGAIN:
CLEAR
CURSOR_SET 01,0CH,10H
DISPLAY M7
CURSOR_SET 01,0DH,19H
DISPLAY M1
INPUT VARN
CALL MULTIPLY
AGAIN2:
CURSOR_SET 01,12H,19H
DISPLAY M4
INPUT_CHAR CHAR
CMP AL,'Y'
JE AGAIN
CMP AL,'N'
JE TOTAL
TOTAL:
CURSOR_SET 01,15H,15H
DISPLAY M5
;CALL ADDITION
MOV AH,4CH
INT 21H
MAIN ENDP
MULTIPLY PROC
CURSOR_SET 01,0EH,19H
DISPLAY M2
mov cx,0
call InputNo
push dx
CURSOR_SET 01,0FH,19H
DISPLAY M3
mov cx,0
call InputNo
pop bx
mov ax,dx
mul bx
mov dx,ax
push dx
CURSOR_SET 01,10H,19H
DISPLAY M6
mov cx,10000
pop dx
call View
CURSOR_SET 01,11H,10H
DISPLAY M7
jmp AGAIN2
MULTIPLY ENDP
InputNo proc
mov ah,0
int 16h
mov dx,0
mov bx,1
cmp al,0dh
je FormNo
sub ax,30h
call ViewNo
mov ah,0
push ax
inc cx
jmp InputNo
FormNo:
pop ax
push dx
mul bx
pop dx
add dx,ax
mov ax,bx
mov bx,10
push dx
mul bx
pop dx
mov bx,ax
dec cx
cmp cx,0
jne FormNo
ret
InputNo endp
View proc
mov ax,dx
mov dx,0
div cx
call ViewNo
mov bx,dx
mov dx,0
mov ax,cx
mov cx,10
div cx
mov dx,bx
mov cx,ax
cmp ax,0
jne View
ret
view endp
ViewNo proc
push ax
push dx
mov dx,ax
add dl,30h
mov ah,2
int 21H
pop dx
pop ax
ret
ViewNo endp
end main
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.