为啥我这汇编代码报错too many memory references for ‘mov‘裂开%%%%%%%%%orz Orz orz Orz orz Orz orz Orz orz Orz orz

#;CodeBlocks环境:
.intel_syntax
.data
msg:    .asciz  "Hello,GNU Assembler!\n"
.text
.global _main
_main:
    push    ebp
    mov    ebp,esp
    push    offset  msg
    call    _printf
    mov     eax,0
    leave
    ret
.end
 

可以通过以下三个表实现: 1. 活动表:包含活动的基本信息,如活动名称、开始时间、结束时间等。表结构如下: ``` CREATE TABLE activity ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50) NOT NULL, start_time DATETIME NOT NULL, end_time DATETIME NOT NULL ); ``` 2. 奖品表:包含奖品的基本信息,如奖品名称、奖品等级、奖品概率等。表结构如下: ``` CREATE TABLE prize ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50) NOT NULL, level INT NOT NULL, probability FLOAT NOT NULL, activity_id INT NOT NULL, FOREIGN KEY (activity_id) REFERENCES activity(id) ); ``` 其中,`activity_id` 用来记录奖品所属的活动ID,通过外键关联到活动表中的ID字段。 3. 活动奖品表:用来记录一个活动关联的奖品,包括奖品ID和数量。表结构如下: ``` CREATE TABLE activity_prize ( id INT PRIMARY KEY AUTO_INCREMENT, activity_id INT NOT NULL, prize_id INT NOT NULL, quantity INT NOT NULL, FOREIGN KEY (activity_id) REFERENCES activity(id), FOREIGN KEY (prize_id) REFERENCES prize(id) ); ``` 其中,`activity_id` 和 `prize_id` 用来记录活动和奖品的关联关系,`quantity` 用来记录该奖品的数量。 在创建活动时,首先向活动表中插入一条记录,然后向活动奖品表中插入8条记录,每条记录对应一个奖品,并设置该奖品的数量为1。然后遍历所有奖品,计算每个奖品的概率并更新到奖品表中。 在添加奖品时,首先检查该活动是否已经包含8个奖品,如果是,则不能再添加奖品。否则,向奖品表中插入一条记录,并将该奖品与当前活动关联,同时设置奖品数量为1。然后重新计算当前活动已经包含的所有奖品的概率,并更新到奖品表中。 在查询活动时,可以通过活动ID关联查询活动奖品表和奖品表,获取该活动所包含的所有奖品。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值