这学期在学计算机组成原理与汇编语言这堂课,第一个实验就是在DoXBox虚拟机环境下用汇编语言编程。
题目如下:
在DEBUG环境下编程,并观察结果。A
编程:在内存中存入两个字:1234H,5678H,完成运算:
(1)1234H+5678H ;ADD
(2)上提的结果-4321H ;SUB
(提示:可用AX寄存器)
看题目,就是我们通过AX寄存器来进行加法运算。
(1)先打开DoXBox,进入Debug环境。
(2)输入r,查看寄存器状态。
(3)因为我们在AX寄存器里计算,所以我们把数据写入到AX寄存器对应的地址里。
输入e,空格,0000(AX寄存器的地址)
这里写的顺序是34,12,78,56,每输入一字的数据就按空格,再继续输入。
用这种顺序写的原因是在Intel的CPU上,低位放低地址,高位放高地址。
(4)不着急保存,我们先查看一下数据是否已经写入到AX寄存器。
输入u 空格 0000
可以看到数据已经写入进去了。
根据题目的要求,我们接下来写指令来执行相加命令。
(5)用a命令,输入汇编指令。
这里ax,[0000]就是1234所在的地址,ax,[0002]就是5678所在的地址,4321的话我们直接相减就可以了。
(6)u命令查看AX寄存器是否已录入。
(7)用t命令执行指令。
可以看到每一步的结果已经在AX寄存器上显示出来了(以16进制的形式)。
指导教师:陆寄远