Skip to content

Assembly code of Microcomputer Principles and Systems in the fall semester of junior (USTC 2019 fall)

Notifications You must be signed in to change notification settings

lyc0930/MASM-Labs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MASM-Labs

微机原理与系统课程实验

Microcomputer Principles and Systems


实验环境

Visual Studio Professional 2017 MASM

参考Kip Irvine教授Assembly Language for x86 Processors一书的运行教程与代码实例,受益匪浅。


Microsoft Macro Assembler.zip是个人导出的Visual Studio MASM项目模板文件。

实验内容

2019.11.20

实验目的

  • 掌握汇编程序的基本编写方式
  • 学习汇编语言的基础I/O操作,为后续实验做准备

实验内容

  1. 创建一个名为Input1.txt的文件
  2. 使用键盘输入一个包含大写字母、小写字母和数字的字符串,并将这个字符串写入文件中
  3. 读取这个文件,将小写字母转换成大写形式,大写字母和数字保持不变,最后整个字符串输出到屏幕,并写入Output1.txt文件

11.20

实验目的

  • 掌握汇编语言中比较和跳转命令
  • 掌握汇编语言中循环命令的使用

实验内容

  1. 键盘输入一个数字$N$($0 < N < 10$)
  2. 把$1 \sim N^2 $的自然数按行顺序存入二维数组
  3. 在屏幕上打印出该数组的左下半三角
  • 例:$N = 6$时,应打印成类似下图形式:
1
7 8
13 14 15
19 20 21 22
25 26 27 28 29
31 32 33 34 35 36

11.27

实验目的

  • 综合运用汇编中的I/O、比较、跳转、循环等指令
  • 掌握用汇编语言实现数字排序程序的方法

实验内容

  1. 从名为Input3.txt的文本文件中读取一组数字
  2. 将这些数字从小到大进行排序
  3. 将这些数字按照排序后的次序打印在屏幕上
  4. 数字范围$[-1024,1023]$,排序数字不超过$100$个
  5. 排序算法不限

12.4

实验目的

  • 掌握汇编语言中子程序的编写与调用方法
  • 理解汇编语言中的递归调用

实验内容

  1. 编写一个程序,使用子程序调用的方式计算$n!$
  2. $n$的值通过键盘输入
  3. $n$的范围$(0,20)$
  4. 程序设计中请注意运算结果的范围

12.11

实验目的

  • 掌握汇编语言的整数加减运算
  • 掌握汇编语言的堆栈操作

实验内容

  1. 编程计算任一整数加减运算表达式
  2. 表达式从键盘输入,可带括号
  3. 表达式的长度不超过$1024$个字节
  4. 表达式示例:$15 − ( 4 − 2 )$

12.11

实验目的

  • 理解浮点数的存储和运算原理
  • 掌握x87算术协处理器的运算指令
  • 掌握汇编语言中浮点数与字符串的转换方法

实验内容

  1. 从键盘输入$x$和$a_1$、$a_2$、$a_3$
  2. 计算 $a_1 \sqrt{x} + a_2 \log_2{⁡x} + a_3 \sin{(x)}$并将结果打印到屏幕
  3. 当$x < 0$时,输出信息"Error: x < 0!"

About

Assembly code of Microcomputer Principles and Systems in the fall semester of junior (USTC 2019 fall)

Topics

Resources

Stars

Watchers

Forks