实验 用机器指令和汇编指令编程
实验任务1:
(1)用E命令和A命令
初始状态如下图所示:
使用E命令改写内存中内容,并用U命令查看汇编指令:
使用A命令以汇编指令的格式写入机器命令:
T命令逐步执行:
(2)指令写入指定内存,并用以下三条命令计算2的8次方:
t=指定命令其实内存 执行步数
(14,15均可)
执行结果:
(3)查看内存中内容,并试图修改:
(4)向内存B8100H中填写数据:
显见两个数据为一组,颠倒在后的数据查看输出:结论:后面的内容控制颜色
颠倒在前的数据查看输出:前面的内容控制形状
改变地址,不显示内容:
(此段为修正时添加:)
此处是向显存中写入数据,内容直接在屏幕上显示。
实验任务2:
(1)逐条执行下图程序:
结果及部分说明如图所示:
栈的操作:push 寄存器 pop 寄存器
push 内存单元
(2)实现下图指令:
结果及部分说明如图:
寄存器不是固定的一部分内存,而是将取内存的一部分当做寄存器来用
(以下为修正:)
实验(2)中2000:0~f内存地址中内容的改变出现在设置SS:SP的值之后,应是部分寄存器内容和CS,IP的值被保存在了栈段中。
关于几个概念的混淆:
CPU的主要构成:运算器、控制器、寄存器;
寄存器是CPU内部的元件,在CPU中寄存器负责信息存储,相当于CPU里面的内存,CPU里面的存储器;
内存,又称内部存储器,是计算机的重要组成部分,内存是计算机和CPU进行沟通的桥梁,主要作用是进行程序的运行和程序运行过程中一些半成品数据的存储;内存又分为ROM、RAM、Cache等;
CPU在操控计算机中这些物理上相互独立的存储器时,把它们都当作内存看待,看作一个由若干存储单元组成的逻辑存储器,这个逻辑存储器也即内存地址空间。