首页 > 编程语言 >2022-2023-1 20221408《计算机基础与程序设计》第五周学习总结

2022-2023-1 20221408《计算机基础与程序设计》第五周学习总结

时间:2022-10-02 21:56:37浏览次数:66  
标签:助记 2022 num2 20221408 累加器 sum2 008B ADDA 2023

这个作业属于哪个课程:https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP

这个作业的要求在哪里:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK05

这个作业的目标:总结本周学习内容

作业正文:https://www.cnblogs.com/liudi20221408/p/16748702.html

第五周学习总结

教材学习内容总结

  • 计算机科学概论

行为 十六进制指令
根据ASCII表将字母对应的十六进制xx载入累加器 D0 00 xx
存储累加器中的字节到输出设备中 F1 FC 16
从输入设备中读入字符到累加器 D1 FC 15
存储累加器中的字符到存储器中 F1 00 13
从输出设备中打印字符 F1 FC 16
从存储器中载入第一个字符 D1 00 13
停止 00
助记码 含义
LDWA 将字008B/位于008B中的字载入累加器
LDBA 将字节008B/位于008B中的字节载入累加器
STWA 将累加器中的字存入位置008B
STBA 将累加器中的字节存入位置008B
ADDA 将008B/位于008B的字加到累加器
SUBA 从累加器中减去008B/008B中的字
BRLT 如果累加器小于零,转到位置001A
BREQ 如果累加器为零,转到位置001A
DECO 输出十进制数
STOP 停止执行
    • 直接寻址:001
    • 立即寻址:000
    • 循环语句会使各个数不断相加
    • 伪代码:set,read(读取),write,print
    • 数据覆盖(暗箱)测试法:将代码作为暗箱,基于所有可能的输入数据测试程序或子程序的测试方法
    • 机器指令:十六进制指令
    • 汇编语言:助记码多行排列
  •  C语言程序设计

    • scanf函数:scanf("%d",&a)
    • printf函数:printf("%d",a)

教材学习中的问题和解决过程

  • 问题1:书中助记码表格后有一列名为操作数、模式,其中的模式i,d分别指立即寻址与直接寻址。然而在实际输入中,在助记码相同但操作数不同的情况下,只有助记码,没有填操作数时一样能得到正确结果,机器是怎么判断程序员想表达的是哪一条指令呢?
  • 问题1解答过程:查询百度后我没有找到此问题的答案,我猜测是因为输入格式的原因。
  • 问题2:在博文pep9线下中,我设计了一段伪代码,根据伪代码编写汇编语言如下:
BR    main
sum:  .WORD  0x0000
sum1: .WORD  0x0000
sum2: .WORD  0x0000
num1: .BLOCK 2
num2: .BLOCK 2
num3: .BLOCK 2

main:LDWA sum,d
     LDWA sum1,d 
     LDWA sum2,d 
     DECI num1,d
     ADDA num1,d
     DECI num2,d
     ADDA num2,d
     STWA sum1,d 
     ADDA num2,d
     DECI num3,d
     ADDA num3,d
     STWA sum2,d
     ADDA sum1,d
     ADDA sum2,d
     STWA sum,d
     DECO sum,d
     STOP
     .END
  • 问题2解决过程:然而输出结果与我想的num1+num2+num2+num3不同,到现在我也没有太弄明白这个汇编语言输出的哪些数字相加,不过在我理解累加的概念后,删去ADDA sum1,d ADDA sum2,d得到了想要的结果。

代码调试中的问题和解决过程

  • 问题:在gcc调试中,虚拟机出现了很多问题,如老师给的安装代码不能安装等
  • 问题解决:在查了多个网页后找到了一个可以分步安装应用的办法,并且又依据各种情况添加了很多小的零件,具体是什么记不清了,但虚拟机出现了很多问题,研究了一个多小时才大体解决。

云班课测试错题

  • The program counter is a register that stores the number of instructions executed by a computer.
  • 正确答案: 错误
  • 原题意思:程序计算器是存储计算机所执行指令数量的寄存器
  • 程序计算器是计算机处理器中的寄存器,要注意限定

学习进度条

时间 代码行数(新增) 博客新增 学习时间
第四周 240 2 15

 

标签:助记,2022,num2,20221408,累加器,sum2,008B,ADDA,2023
From: https://www.cnblogs.com/liudi20221408/p/16748702.html

相关文章