欢迎来到毕设资料网! | 帮助中心 毕设资料交流与分享平台
毕设资料网
全部分类
  • 毕业设计>
  • 毕业论文>
  • 外文翻译>
  • 课程设计>
  • 实习报告>
  • 相关资料>
  • ImageVerifierCode 换一换
    首页 毕设资料网 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    C语言课程设计---模拟器和汇编程序的设计

    • 资源ID:1442242       资源大小:2.20MB        全文页数:55页
    • 资源格式: DOC        下载积分:100金币
    快捷下载 游客一键下载
    账号登录下载
    三方登录下载: QQ登录
    下载资源需要100金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

    C语言课程设计---模拟器和汇编程序的设计

    1、 C C 语言课程设计报告语言课程设计报告 题目: 模拟器和汇编程序的设计 专 业: 计算机科学与技术 班 级: 学 号: 姓 名: 成 绩: 指导教师: 完成日期:完成日期: 2012 年年 10 月月 15 日日 I 目目 录录 一、系统需求分析 .1 二、总体设计 6 三、数据结构设计 .7 四、详细设计 9 五、系统实现 13 六、运行测试与结果分析 42 七、总结 44 八、参考文献 45 九、指导教师评语 . 46 第 1 页 共 53 页 一、系统需求分析一、系统需求分析 Simulator and Assembler 1. 用 C 语言编制汇编程序, 将此简单计算机的汇编源程序

    2、翻译成目标代码, 即机器码。为了测试所编制汇编程序的正确性,需用以上介绍的指令集编写两个 汇编源程序,汇编源程序的功能要求为: 求 1+2+3+100,并输出运算结果。 求将” Simulator and Assembler”拷贝复制到新串并输出运算结果。 串并输出运算结果。 其中,32 条指令以及伪指令和它们的功能如下: (1) 停机指令:HLT 功能:终止程序运行。 (2) 无条件转移指令:JMP label 功能:将控制转移至标号 label 处,执行标号 label 后的指令。 (3) 比较运算转移指令:CJMP label 功能:如果程序状态字中比较标志位 c 的值为 1(即关系运算

    3、的结果为真), 则将控制转移至标号 label 处, 执行标号 label 后的指令; 否则, 顺序往下执行。 (4) 溢出转移指令:OJMP 功能:如果程序状态字中比较标志位 o 的值为 1(即算术运算的结果发生溢 出),则将控制转移至标号 label 处,执行标号 label 后的指令;否则,顺序往 下执行。 (5) 调用子程序指令:CALL label 功能:将通用寄存器 AG、程序状态字 PSW、程序计数器 PC 中的值保存到 ES,然后调用以标号 label 开始的子程序,将控制转移至标号 label 处,执行标 号 label 后的指令。 (6) 子程序返回指令:RET 功能:将

    4、ES 中保存的通用寄存器 AZ、程序状态字 PSW 和程序字数器 PC 的 值恢复,控制转移到子程序被调用的地方,执行调用指令的下一条指令。 (7) 入栈指令:PUSH reg0 第 2 页 共 53 页 功能:将通用寄存器 reg0 的值压入堆栈 SS,reg0 可以是 AG 和 Z 八个通用 寄存器之一。 (8) 出栈指令:POP reg0 功能:从堆栈 SS 中将数据出栈到寄存器 reg0,reg0 可以是 AG 七个通用寄 存器之一,但不能是通用寄存器 Z。 (9) 取字节数据指令:LOADB reg0 symbol 功能:从字节数据或字节数据块 symbol 中取一个字节的数据存入寄

    5、存器 reg0,所取的字节数据在数据块 symbol 中的位置由寄存器 G 的值决定。用 C 的 语法可将此指令的功能描述为: reg0 = symbolG 例如,假设用伪指令定义了以下字节数据块 num: BYTE num10 = 5,3,2,8,6,9,1,7,4,0 如果要将字节数据块num中第5个单元的值(即下标为4的元素)取到寄存器 C,指令如下: LOADI G 5 LOADB C num 后面的指令 LOADW、STOREB 和 STOREW 在操作上与此指令类似。 (10) 取双字节数据指令:LOADW reg0 symbol 功能:从双字节数据或双字节数据块 symbol 中

    6、取一个双字节的数据存入寄 存器 reg0,所取的双字节数据在数据块 symbol 中的位置由寄存器 G 的值决定。 (11) 存字节数据指令:STOREB reg0 symbol 功能: 将寄存器reg0的值存入字节数据或字节数据块symbol中的某个单元, 存入单元的位置由寄存器 G 的值决定。用 C 的语法可将此指令的功能描述为: symbolG = reg0 (12) 存双字节数据指令:STOREW reg0 symbol 功能: 将寄存器 reg0 的值存入双字节数据或双字节数据块 symbol 中的某个 单元,存入单元的位置由寄存器 G 的值决定。 (13) 取立即数指令:LOADI reg0 immediate 功能:将指令中的立即数 immediate 存入寄存器 reg0。立即数被当作 16 位 有符号数,超出 16 位的高位部分被截掉。例如: LOADI B 65535 寄存器 B 的值


    注意事项

    本文(C语言课程设计---模拟器和汇编程序的设计)为本站会员(毕***)主动上传,毕设资料网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请联系网站客服QQ:540560583,我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们
    本站所有资料均属于原创者所有,仅提供参考和学习交流之用,请勿用做其他用途,转载必究!如有侵犯您的权利请联系本站,一经查实我们会立即删除相关内容!
    copyright@ 2008-2025 毕设资料网所有
    联系QQ:540560583