计算机系统结构WINDLX实验——实验一

本文档详细介绍了如何使用DLX汇编语言在Windows XP上的WINDLX环境中实现基本的算术运算,包括两数相加、相减、相乘和相除。通过提供C代码的转换和DLX指令的解析,阐述了关键操作步骤,并讨论了可能遇到的问题及解决办法,如浮点数乘法可能导致的溢出问题。
摘要由CSDN通过智能技术生成

一、实验内容

  1. 首先将C 代码例子转化为DLX 代码,然后用DLX 代码进行简单的算术运算。
  2. 提交DLX 代码的汇编文件。
  3. 依据你自己的汇编文件进行模拟,参考《WinDLX教程》的内容,记录模拟的相关结果。

Tips:其实就是用DLX汇编语言实现加减乘除的运算


二、实验环境

1. Windows XP

2. WINDLX

你的windlx打开应该长这样:
在这里插入图片描述


三、实现代码及分析

1、用DLX实现两数相加

输入格式为输出格式为:
输入第一个值:12
输入第二个值:56
和= 68
C代码例子:

      void main() 
      {
    
       unsigned int num1, num2; 
       scanf("\nEnter the 1st number: %d", &num1); 
       scanf("\nEnter the 2nd number: %d", &num2); 
       printf("The sum = %d", num1+num2); 
      }

改写后的DLX汇编代码 add.s

      ;add.s 
      ; Program begin at symbol main 
      ; requires module INPUT 
      ; Load two programs (add.s and input.s)  
      ; Note: load add.s first then follow by inputs. 
      ; Execute, press (F5) 
      ;-------------------------------------------------------------------------- 

                      .data 
      Prompta:         .asciiz         "\nEnter your number_a (> 1): " 
      Promptb:		   .asciiz		   "\nEnter your number_b (> 1): "
      PrintFt:        .asciiz         "The result is: %d" 
      		.align 2 
      PrintPar:       .word           PrintFt 
      PrintSum:       .space          4 
                      .text 
                      .global main 
      main: 
                      addui		r1,r0,Prompta    ;put a in r1
                      jal		InputUnsigned   ;input a
                      addu		r2,r1,r0	;input a in r2
                      addui		r1,r0,Promptb    ;put b in r1 
                      jal		InputUnsigned   ;input b 
                      addu		r1,r2,r1	;r1=r1+r2
                      sw              PrintSum,r1     ;put r1 in PrintSum
                      addui
  • 6
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值