用8086语言实现超市收银系统,要求商品最大件数为10,单价为整数。
时间: 2024-03-03 19:53:28 浏览: 70
超市收银系统
以下是一个用8086汇编语言实现的简单超市收银系统,商品最大件数为10,单价为整数。
```
.model small
.stack 100h
.data
prompt1 db '请输入商品件数:$'
prompt2 db '请输入商品单价:$'
prompt3 db '请支付:$'
prompt4 db '找零:$'
goods_count db ?
unit_price db ?
payment db ?
change db ?
total_price db ?
goods_list db 10 dup(0)
.code
mov ax, @data
mov ds, ax
; 获取商品件数
mov ah, 9
lea dx, prompt1
int 21h
mov ah, 1
int 21h
sub al, 30h
mov goods_count, al
; 获取商品单价
mov ah, 9
lea dx, prompt2
int 21h
mov ah, 1
int 21h
sub al, 30h
mov unit_price, al
; 计算总价
mov bl, goods_count
mul unit_price
mov total_price, al
; 获取支付金额
mov ah, 9
lea dx, prompt3
int 21h
mov ah, 1
int 21h
sub al, 30h
mov payment, al
; 计算找零
mov al, payment
sub al, total_price
mov change, al
; 输出找零金额
mov ah, 9
lea dx, prompt4
int 21h
mov ah, 2
mov dl, change
add dl, 30h
int 21h
mov ah, 4ch
int 21h
end
```
该程序通过 int 21h 中断调用来实现屏幕输入和输出,通过乘法运算来计算总价,通过减法运算来计算找零。由于使用了简单的命令行界面,所以程序比较简单,但可以满足基本的超市收银系统需求。程序中可以根据需要进行修改和扩展,例如添加商品列表、优惠活动等功能。
阅读全文