贪吃蛇编译成中文汇编如下:
[处理器 486]
[指令模式 双字模式]
[外部的 __fltused]
[外部的 __ftol]
[外部的 __chkstk]
;=========数据段定义===========
段声明 .数据
短语_0 定义字节 '得分:%整',00H
短语_1 定义字节 '游戏结束!',00H
短语_2 定义字节 'kernel32.dll',00H
短语_3 定义字节 'Sleep',00H
短语_4 定义字节 '习语言简易版贪吃蛇 by 花心胡萝卜 ',00H
短语_5 定义字节 '习语言 简易贪吃蛇 花心胡萝卜编写。',00H
短语_6 定义字节 '控制方法:上 W,下 S,左 A,右 D。',00H
短语_7 定义字节 '按任意键开始玩。',00H
短语_8 定义字节 '由于刚开始玩习语言,很多不知道的东西!',00H
短语_9 定义字节 '所以导致程序不美观,',00H
短语_10 定义字节 '希望大家见谅!',00H
短语_11 定义字节 '欢迎大家与我讨论习语言!',00H
短语_12 定义字节 'QQ:84613538',00H
短语_13 定义字节 '习语言官方论坛:http://www.',00H
短语_14 定义字节 '习语言QQ群:61440235',00H
短语_15 定义字节 '欢迎使用习语言!',00H
对齐 4
公共的 _计数 4
公共的 _标识 4
公共的 _定时器标识 4
全局的 _得分
_得分 定义双字 00H
全局的 _游戏速度
_游戏速度 定义双字 012cH
公共的 _食物画笔 12
公共的 _蛇画笔 12
公共的 _定时器控制 4
公共的 _定时器按键 4
公共的 _食物 12
公共的 _蛇 1612
;=========代码段定义===========
段声明 .代码
外部的 _图形初始化显示器
外部的 _图形打开显示器
外部的 _图形关闭显示器
外部的 _图形等待显示器关闭
外部的 _图形初始化定时器
外部的 _图形创建定时器
外部的 _图形销毁定时器
外部的 _图形清屏
外部的 _图形设置背景色
外部的 _图形设置画笔
外部的 _图形获取画笔
外部的 _图形设置画刷
外部的 _图形获取画刷
外部的 _图形画方框
外部的 _图形输出文字
外部的 _获取按键
外部的 _格式化
外部的 _取随机数
外部的 _获取模块证
外部的 _获取函数地址
全局的 _显示器消息主处理
_显示器消息主处理:
入栈 基址指针32
入栈 基址寄存器32
入栈 源变址寄存器32
入栈 终变址寄存器32
移动 基址指针32, 堆栈指针32
比较 双字类型 [基址指针32+20], 0100H
若小于跳转 标签_9
比较 双字类型 [基址指针32+20], 0100H
若大于跳转 标签_9
比较 双字类型 [基址指针32+24], 87
若相等跳转 标签_0
比较 双字类型 [基址指针32+24], 119
若不等跳转 标签_1
标签_0:
比较 双字类型 [_蛇+1604], 4
若相等跳转 标签_1
移动 双字类型 [_蛇+1604], 3
跳转到 标签_9
标签_1:
比较 双字类型 [基址指针32+24], 68
若相等跳转 标签_2
比较 双字类型 [基址指针32+24], 100
若不等跳转 标签_3
标签_2:
比较 双字类型 [_蛇+1604], 2
若相等跳转 标签_3
移动 双字类型 [_蛇+1604], 1
跳转到 标签_9
标签_3:
比较 双字类型 [基址指针32+24], 65
若相等跳转 标签_4
比较 双字类型 [基址指针32+24], 97
若不等跳转 标签_5
标签_4:
比较 双字类型 [_蛇+1604], 1
若相等跳转 标签_5
移动 双字类型 [_蛇+1604], 2
跳转到 标签_9
标签_5:
比较 双字类型 [基址指针32+24], 83
若相等跳转 标签_6
比较 双字类型 [基址指针32+24], 115
若不等跳转 标签_7
标签_6:
比较 双字类型 [_蛇+1604], 3
若相等跳转 标签_7
移动 双字类型 [_蛇+1604], 4
跳转到 标签_9
标签_7:
比较 双字类型 [基址指针32+24], 88
若相等跳转 标签_8
比较 双字类型 [基址指针32+24], 120
若不等跳转 标签_9
标签_8:
入栈 双字类型 1
调用 _图形关闭显示器
加 堆栈指针32, 4
标签_9:
移动 累加器32, 0
移动 堆栈指针32, 基址指针32
出栈 终变址寄存器32
出栈 源变址寄存器32
出栈 基址寄存器32
出栈 基址指针32
返回
全局的 _游戏结果
_游戏结果:
入栈 基址指针32
入栈 基址寄存器32
入栈 源变址寄存器32
入栈 终变址寄存器32
移动 基址指针32, 堆栈指针32
减 堆栈指针32, 8
取有效地址 累加器32, [短语_0]
入栈 双字类型 [_得分]
入栈 双字类型 累加器32
入栈 双字类型 20
入栈 双字类型 [基址指针32-4]
调用 _格式化
加 堆栈指针32, 16
入栈 双字类型 [基址指针32-4]
入栈 双字类型 22
入栈 双字类型 55
调用 _图形输出文字
加 堆栈指针32, 12
移动 堆栈指针32, 基址指针32
出栈 终变址寄存器32
出栈 源变址寄存器32
出栈 基址寄存器32
出栈 基址指针32
返回
全局的 _游戏结束
_游戏结束:
入栈 基址指针32
入栈 基址寄存器32
入栈 源变址寄存器32
入栈 终变址寄存器32
移动 基址指针32, 堆栈指针32
减 堆栈指针32, 20
入栈 双字类型 1
调用 _图形销毁定时器
加 堆栈指针32, 4
调用 _图形清屏
加 堆栈指针32, 0
取有效地址 累加器32, [基址指针32-12]
入栈 双字类型 累加器32
移动 双字类型 [基址指针32-16], 累加器32
调用 _图形获取画刷
加 堆栈指针32, 4
移动 双字类型 [基址指针32-4], 0E4E4DAH
入栈 双字类型 [基址指针32-16]
调用 _图形设置画刷
加 堆栈指针32, 4
入栈 双字类型 0E4E4DAH
调用 _图形设置背景色
加 堆栈指针32, 4
取有效地址 累加器32, [短语_1]
入栈 双字类型 累加器32
入栈 双字类型 230
入栈 双字类型 0104H
调用 _图形输出文字
加 堆栈指针32, 12
调用 _游戏结果
加 堆栈指针32, 0
移动 堆栈指针32, 基址指针32
出栈 终变址寄存器32
出栈 源变址寄存器32
出栈 基址寄存器32
出栈 基址指针32
返回
全局的 _延时
_延时:
入栈 基址指针32
入栈 基址寄存器32
入栈 源变址寄存器32
入栈 终变址寄存器32
移动 基址指针32, 堆栈指针32
减 堆栈指针32, 16
取有效地址 累加器32, [短语_2]
入栈 双字类型 累加器32
调用 _获取模块证
加 堆栈指针32, 4
移动 双字类型 [基址指针32-4], 累加器32
取有效地址 累加器32, [短语_3]
入栈 双字类型 累加器32
入栈 双字类型 [基址指针32-4]
调用 _获取函数地址
加 堆栈指针32, 8
移动 双字类型 [基址指针32-8], 累加器32
入栈 双字类型 [基址指针32+20]
调用 双字类型 [基址指针32-8]
移动 堆栈指针32, 基址指针32
出栈 终变址寄存器32
出栈 源变址寄存器32
出栈 基址寄存器32
出栈 基址指针32
返回
全局的 _绘画
_绘画:
入栈 基址指针32
入栈 基址寄存器32
入栈 源变址寄存器32
入栈 终变址寄存器32
移动 基址指针32, 堆栈指针32
减 堆栈指针32, 40
移动 双字类型 [基址指针32-4], 255
调用 _图形清屏
加 堆栈指针32, 0
取有效地址 累加器32, [基址指针32-16]
入栈 双字类型 累加器32
移动 双字类型 [基址指针32-20], 累加器32
调用 _图形获取画刷
加 堆栈指针32, 4
移动 双字类型 [基址指针32-8], 0E4E4DAH
入栈 双字类型 [基址指针32-20]
调用 _图形设置画刷
加 堆栈指针32, 4
入栈 双字类型 0E4E4DAH
调用 _图形设置背景色
加 堆栈指针32, 4
取有效地址 累加器32, [_蛇画笔]
入栈 双字类型 累加器32
移动 双字类型 [基址指针32-24], 累加器32
调用 _图形获取画笔
加 堆栈指针32, 4
移动 累加器32, 双字类型 [基址指针32-4]
移动 双字类型 [_蛇画笔+8], 累加器32
移动 双字类型 [_蛇画笔], 0
入栈 双字类型 [基址指针32-24]
调用 _图形设置画笔
加 堆栈指针32, 4
移动 双字类型 [_计数], 50
跳转到 标签_11
标签_10:
移动 累加器32, 双字类型 [_计数]
加 累加器32, 10
入栈 双字类型 49
入栈 双字类型 累加器32
入栈 双字类型 40
入栈 双字类型 [_计数]
移动 双字类型 [基址指针32-28], 累加器32
调用 _图形画方框
加 堆栈指针32, 16
入栈 双字类型 01CCH
入栈 双字类型 [基址指针32-28]
入栈 双字类型 01C3H
入栈 双字类型 [_计数]
调用 _图形画方框
加 堆栈指针32, 16
移动 累加器32, 双字类型 [_计数]
加 累加器32, 10
移动 双字类型 [_计数], 累加器32
标签_11:
比较 双字类型 [_计数], 0258H
若小等跳转 标签_10
移动 双字类型 [_计数], 40
跳转到 标签_13
标签_12:
移动 累加器32, 双字类型 [_计数]
加 累加器32, 10
入栈 双字类型 累加器32
入栈 双字类型 59
入栈 双字类型 [_计数]
入栈 双字类型 50
移动 双字类型 [基址指针32-36], 累加器32
调用 _图形画方框
加 堆栈指针32, 16
入栈 双字类型 [基址指针32-36]
入栈 双字类型 0262H
入栈 双字类型 [_计数]
入栈 双字类型 0259H
调用 _图形画方框
加 堆栈指针32, 16
移动 累加器32, 双字类型 [_计数]
加 累加器32, 10
移动 双字类型 [_计数], 累加器32
标签_13:
比较 双字类型 [_计数], 01C2H
若小等跳转 标签_12
调用 _游戏结果
加 堆栈指针32, 0
移动 堆栈指针32, 基址指针32
出栈 终变址寄存器32
出栈 源变址寄存器32
出栈 基址寄存器32
出栈 基址指针32
返回
全局的 _定时器事件处理主函数
_定时器事件处理主函数:
入栈 基址指针32
入栈 基址寄存器32
入栈 源变址寄存器32
入栈 终变址寄存器32
移动 基址指针32, 堆栈指针32
减 堆栈指针32, 0104H
调用 _绘画
加 堆栈指针32, 0
比较 双字类型 [_食物+8], 1
若不等跳转 标签_18
调用 _取随机数
加 堆栈指针32, 0
移动 计数器32, 0190H
双字扩展
符号除 计数器32
移动 双字类型 [基址指针32-8], 数据寄存器32
移动 累加器32, 双字类型 [基址指针32-8]
加 累加器32, 60
移动 双字类型 [_食物], 累加器32
调用 _取随机数
加 堆栈指针32, 0
移动 计数器32, 015EH
双字扩展
符号除 计数器32
移动 双字类型 [基址指针32-20], 数据寄存器32
移动 累加器32, 双字类型 [基址指针32-20]
加 累加器32, 60
移动 双字类型 [_食物+4], 累加器32
跳转到 标签_15
标签_14:
加1 双字类型 [_食物]
标签_15:
移动 累加器32, 双字类型 [_食物]
移动 计数器32, 10
双字扩展
符号除 计数器32
移动 双字类型 [基址指针32-28], 数据寄存器32
比较 双字类型 [基址指针32-28], 0
若不等跳转 标签_14
跳转到 标签_17
标签_16:
加1 双字类型 [_食物+4]
标签_17:
移动 累加器32, 双字类型 [_食物+4]
移动 计数器32, 10
双字扩展
符号除 计数器32
移动 双字类型 [基址指针32-32], 数据寄存器32
比较 双字类型 [基址指针32-32], 0
若不等跳转 标签_16
移动 双字类型 [_食物+8], 0
标签_18:
比较 双字类型 [_食物+8], 0
若不等跳转 标签_19
取有效地址 累加器32, [_食物画笔]
入栈 双字类型 累加器32
移动 双字类型 [基址指针32-36], 累加器32
调用 _图形获取画笔
加 堆栈指针32, 4
移动 双字类型 [_食物画笔+8], 0FF00H
入栈 双字类型 [基址指针32-36]
调用 _图形设置画笔
加 堆栈指针32, 4
移动 累加器32, 双字类型 [_食物]
加 累加器32, 10
移动 计数器32, 双字类型 [_食物+4]
加 计数器32, 0FFFFFFF6H
入栈 双字类型 计数器32
入栈 双字类型 累加器32
入栈 双字类型 [_食物+4]
入栈 双字类型 [_食物]
调用 _图形画方框
加 堆栈指针32, 16
标签_19:
移动 累加器32, 双字类型 [_蛇+1600]
加 累加器32, 0FFFFFFFFH
移动 双字类型 [_计数], 累加器32
跳转到 标签_21
标签_20:
移动 累加器32, 双字类型 [_计数]
左移 累加器32, 2
取有效地址 计数器32, [_蛇]
加 计数器32, 累加器32
移动 数据寄存器32, 双字类型 [_计数]
加 数据寄存器32, 0FFFFFFFFH
左移 数据寄存器32, 2
取有效地址 基址寄存器32, [_蛇]
加 基址寄存器32, 数据寄存器32
移动 源变址寄存器32, 双字类型 [基址寄存器32]
移动 双字类型 [计数器32], 源变址寄存器32
取有效地址 终变址寄存器32, [_蛇+800]
加 终变址寄存器32, 累加器32
取有效地址 累加器32, [_蛇+800]
加 累加器32, 数据寄存器32
移动 计数器32, 双字类型 [累加器32]
移动 双字类型 [终变址寄存器32], 计数器32
移动 累加器32, 双字类型 [_计数]
加 累加器32, 0FFFFFFFFH
移动 双字类型 [_计数], 累加器32
标签_21:
比较 双字类型 [_计数], 0
若大于跳转 标签_20
比较 双字类型 [_蛇+1604], 1
若小于跳转 标签_26
比较 双字类型 [_蛇+1604], 4
若大于跳转 标签_26
移动 累加器32, 双字类型 [_蛇+1604]
减 累加器32, 1
;=========数据段定义===========
段声明 .数据
_swtchTable1 定义双字 标签_22
定义双字 标签_23
定义双字 标签_24
定义双字 标签_25
;=========代码段定义===========
段声明 .代码
跳转到 双字类型 [_swtchTable1+累加器32*4]
标签_22:
移动 累加器32, 双字类型 [_蛇]
加 累加器32, 10
移动 双字类型 [_蛇], 累加器32
跳转到 标签_26
标签_23:
移动 累加器32, 双字类型 [_蛇]
加 累加器32, 0FFFFFFF6H
移动 双字类型 [_蛇], 累加器32
跳转到 标签_26
标签_24:
移动 累加器32, 双字类型 [_蛇+800]
加 累加器32, 0FFFFFFF6H
移动 双字类型 [_蛇+800], 累加器32
跳转到 标签_26
标签_25:
移动 累加器32, 双字类型 [_蛇+800]
加 累加器32, 10
移动 双字类型 [_蛇+800], 累加器32
标签_26:
移动 双字类型 [_计数], 3
跳转到 标签_29
标签_27:
移动 累加器32, 双字类型 [_计数]
左移 累加器32, 2
取有效地址 计数器32, [_蛇]
加 计数器32, 累加器32
移动 数据寄存器32, 双字类型 [计数器32]
移动 双字类型 [基址指针32-140], 数据寄存器32
比较 数据寄存器32, 双字类型 [_蛇]
若不等跳转 标签_28
移动 累加器32, 双字类型 [_计数]
左移 累加器32, 2
取有效地址 计数器32, [_蛇+800]
加 计数器32, 累加器32
移动 数据寄存器32, 双字类型 [计数器32]
移动 双字类型 [基址指针32-156], 数据寄存器32
比较 数据寄存器32, 双字类型 [_蛇+800]
若不等跳转 标签_28
调用 _游戏结束
加 堆栈指针32, 0
移动 双字类型 [_蛇+1608], 1
跳转到 标签_30
标签_28:
加1 双字类型 [_计数]
标签_29:
移动 累加器32, 双字类型 [_计数]
比较 累加器32, 双字类型 [_蛇+1600]
若小于跳转 标签_27
标签_30:
比较 双字类型 [_蛇], 55
若小于跳转 标签_31
比较 双字类型 [_蛇], 0253H
若大于跳转 标签_31
比较 双字类型 [_蛇+800], 55
若小于跳转 标签_31
比较 双字类型 [_蛇+800], 01C7H
若小等跳转 标签_32
标签_31:
调用 _游戏结束
加 堆栈指针32, 0
移动 双字类型 [_蛇+1608], 1
标签_32:
比较 双字类型 [_蛇+1608], 1
若不等跳转 标签_33
入栈 双字类型 [_定时器标识]
调用 _图形销毁定时器
加 堆栈指针32, 4
调用 _游戏结束
加 堆栈指针32, 0
标签_33:
移动 累加器32, 双字类型 [_蛇]
比较 累加器32, 双字类型 [_食物]
若不等跳转 标签_34
移动 累加器32, 双字类型 [_蛇+800]
比较 累加器32, 双字类型 [_食物+4]
若不等跳转 标签_34
取有效地址 累加器32, [_食物画笔]
入栈 双字类型 累加器32
移动 双字类型 [基址指针32-160], 累加器32
调用 _图形获取画笔
加 堆栈指针32, 4
移动 双字类型 [_食物画笔+8], 0
入栈 双字类型 [基址指针32-160]
调用 _图形设置画笔
加 堆栈指针32, 4
移动 累加器32, 双字类型 [_食物]
加 累加器32, 10
移动 计数器32, 双字类型 [_食物+4]
加 计数器32, 0FFFFFFF6H
入栈 双字类型 计数器32
入栈 双字类型 累加器32
入栈 双字类型 [_食物+4]
入栈 双字类型 [_食物]
调用 _图形画方框
加 堆栈指针32, 16
移动 累加器32, 双字类型 [_蛇+1600]
左移 累加器32, 2
取有效地址 计数器32, [_蛇]
加 计数器32, 累加器32
移动 双字类型 [计数器32], 0FFFFFFECH
移动 数据寄存器32, 双字类型 [_蛇+1600]
左移 数据寄存器32, 2
取有效地址 基址寄存器32, [_蛇+800]
加 基址寄存器32, 数据寄存器32
移动 双字类型 [基址寄存器32], 0FFFFFFECH
加1 双字类型 [_蛇+1600]
移动 双字类型 [_食物+8], 1
移动 源变址寄存器32, 双字类型 [_得分]
加 源变址寄存器32, 10
移动 双字类型 [_得分], 源变址寄存器32
调用 _游戏结果
加 堆栈指针32, 0
标签_34:
取有效地址 累加器32, [_蛇画笔]
入栈 双字类型 累加器32
移动 双字类型 [基址指针32-200], 累加器32
调用 _图形获取画笔
加 堆栈指针32, 4
移动 双字类型 [_蛇画笔+8], 0FF0000H
入栈 双字类型 [基址指针32-200]
调用 _图形设置画笔
加 堆栈指针32, 4
移动 双字类型 [_计数], 0
跳转到 标签_36
标签_35:
移动 累加器32, 双字类型 [_计数]
左移 累加器32, 2
取有效地址 计数器32, [_蛇]
加 计数器32, 累加器32
移动 数据寄存器32, 双字类型 [计数器32]
取有效地址 基址寄存器32, [_蛇+800]
加 基址寄存器32, 累加器32
移动 源变址寄存器32, 双字类型 [基址寄存器32]
取有效地址 终变址寄存器32, [_蛇]
加 终变址寄存器32, 累加器32
移动 计数器32, 双字类型 [终变址寄存器32]
加 计数器32, 10
取有效地址 基址寄存器32, [_蛇+800]
加 基址寄存器32, 累加器32
移动 累加器32, 双字类型 [基址寄存器32]
加 累加器32, 0FFFFFFF6H
入栈 双字类型 累加器32
入栈 双字类型 计数器32
入栈 双字类型 源变址寄存器32
入栈 双字类型 数据寄存器32
调用 _图形画方框
加 堆栈指针32, 16
加1 双字类型 [_计数]
标签_36:
移动 累加器32, 双字类型 [_计数]
比较 累加器32, 双字类型 [_蛇+1600]
若小于跳转 标签_35
比较 双字类型 [_蛇+1608], 1
若不等跳转 标签_37
入栈 双字类型 [_定时器标识]
调用 _图形销毁定时器
加 堆栈指针32, 4
调用 _游戏结束
加 堆栈指针32, 0
标签_37:
移动 累加器32, 0
移动 堆栈指针32, 基址指针32
出栈 终变址寄存器32
出栈 源变址寄存器32
出栈 基址寄存器32
出栈 基址指针32
返回
全局的 _初始化
_初始化:
入栈 基址指针32
入栈 基址寄存器32
入栈 源变址寄存器32
入栈 终变址寄存器32
移动 基址指针32, 堆栈指针32
减 堆栈指针32, 60
移动 双字类型 [基址指针32-4], 0
取有效地址 累加器32, [短语_4]
取有效地址 计数器32, [_显示器消息主处理]
入栈 双字类型 计数器32
入栈 双字类型 0
入栈 双字类型 0
入栈 双字类型 01F4H
入栈 双字类型 0294H
入栈 双字类型 累加器32
调用 _图形初始化显示器
加 堆栈指针32, 24
入栈 双字类型 0
调用 _图形打开显示器
加 堆栈指针32, 4
取有效地址 累加器32, [短语_5]
入栈 双字类型 累加器32
入栈 双字类型 30
入栈 双字类型 50
调用 _图形输出文字
加 堆栈指针32, 12
取有效地址 累加器32, [短语_6]
入栈 双字类型 累加器32
入栈 双字类型 60
入栈 双字类型 50
调用 _图形输出文字
加 堆栈指针32, 12
取有效地址 累加器32, [短语_7]
入栈 双字类型 累加器32
入栈 双字类型 90
入栈 双字类型 50
调用 _图形输出文字
加 堆栈指针32, 12
取有效地址 累加器32, [短语_8]
入栈 双字类型 累加器32
入栈 双字类型 120
入栈 双字类型 50
调用 _图形输出文字
加 堆栈指针32, 12
取有效地址 累加器32, [短语_9]
入栈 双字类型 累加器32
入栈 双字类型 150
入栈 双字类型 50
调用 _图形输出文字
加 堆栈指针32, 12
取有效地址 累加器32, [短语_10]
入栈 双字类型 累加器32
入栈 双字类型 180
入栈 双字类型 50
调用 _图形输出文字
加 堆栈指针32, 12
取有效地址 累加器32, [短语_11]
入栈 双字类型 累加器32
入栈 双字类型 210
入栈 双字类型 50
调用 _图形输出文字
加 堆栈指针32, 12
取有效地址 累加器32, [短语_12]
入栈 双字类型 累加器32
入栈 双字类型 240
入栈 双字类型 50
调用 _图形输出文字
加 堆栈指针32, 12
取有效地址 累加器32, [短语_13]
入栈 双字类型 累加器32
入栈 双字类型 0140H
入栈 双字类型 50
调用 _图形输出文字
加 堆栈指针32, 12
取有效地址 累加器32, [短语_14]
入栈 双字类型 累加器32
入栈 双字类型 015EH
入栈 双字类型 50
调用 _图形输出文字
加 堆栈指针32, 12
取有效地址 累加器32, [短语_15]
入栈 双字类型 累加器32
入栈 双字类型 017CH
入栈 双字类型 50
调用 _图形输出文字
加 堆栈指针32, 12
调用 _获取按键
加 堆栈指针32, 0
调用 _绘画
加 堆栈指针32, 0
取有效地址 累加器32, [_定时器事件处理主函数]
入栈 双字类型 累加器32
调用 _图形初始化定时器
加 堆栈指针32, 4
入栈 双字类型 [_游戏速度]
入栈 双字类型 1
调用 _图形创建定时器
加 堆栈指针32, 8
移动 双字类型 [_定时器控制], 累加器32
移动 双字类型 [_食物+8], 1
移动 双字类型 [_蛇+1608], 0
移动 双字类型 [_蛇+1604], 1
移动 双字类型 [_蛇], 100
移动 双字类型 [_蛇+800], 100
移动 双字类型 [_蛇+4], 110
移动 双字类型 [_蛇+804], 100
移动 双字类型 [_蛇+1600], 2
调用 _图形等待显示器关闭
加 堆栈指针32, 0
移动 堆栈指针32, 基址指针32
出栈 终变址寄存器32
出栈 源变址寄存器32
出栈 基址寄存器32
出栈 基址指针32
返回
全局的 _主函数
_主函数:
入栈 基址指针32
入栈 基址寄存器32
入栈 源变址寄存器32
入栈 终变址寄存器32
移动 基址指针32, 堆栈指针32
调用 _初始化
加 堆栈指针32, 0
入栈 双字类型 1
调用 _图形关闭显示器
加 堆栈指针32, 4
移动 累加器32, 0
移动 堆栈指针32, 基址指针32
出栈 终变址寄存器32
出栈 源变址寄存器32
出栈 基址寄存器32
出栈 基址指针32
返回