内容发布更新时间 : 2024/11/13 10:53:31星期一 下面是文章的全部内容请认真阅读。
实验 成绩 实验项目名称 算术运算编程实验 一、实验目的与要求: 通过实验掌握下列知识: 1.8088系统中数据在内存中的存放方式和内存操作数的几种寻址方式。 2.求累加和程序和多字节加减法程序。 二、实验设备及软件: Windows 2003 server Debug.exe 三、实验方法(原理、流程图) 按照实验要求在debug模式下输入指定代码,并检查结果。修改错误。
四、实验过程、步骤及内容 一、内存操作数及各种寻址方式使用: 内容: MOV AX,1234 MOV [1000],AX MOV BX,1002 MOV BYTE PTR[BX],20 MOV DL,39 INC BX MOV [BX],DL DEC DL MOV SI,3 MOV [BX+SI],DL MOV [BX+SI+1],DL MOV WORD PTR[BX+SI+2],2846 步骤: 1)用A命令键入上述程序,并用T命令逐条运行。 2)每运行一条有关内存操作数的指令,要用D命令检查并记录有关内存单元的内容并注明是什么寻址方式。 注意D命令显示结果中右边的ASCII字符及双字节数存放法。 思考:有关指令中BYTE PTR及WORD PTR伪操作不加行不行?试一试。 二、求累加和程序: 程序: MOV BX,1000 MOV CX,10 SUB AX,AX LOP: ADD AL,[BX] ADC AH,0 INC BX LOOP LOP J: INT 3 步骤: 1)用A命令将程序键入到100H开始的内存中,在键入时记下标号LOP和J的实际地址,在键入LOOP指令时LOP用实际地址值代替。 2)用E命令在内存地址1000H处键入16个数字 3)用命令G=100 J(J用实际地址代替),使程序运行并停在断点J上,检查 AX,BX的值是否符合你的预计值。 4)用T命令运行一步,观察程序方向(IP值)和CX值是否与你的估计一样, 若不一样,检查程序是否有错。 5)重复G J与T,再检查AX是否正确。 6)用G命令使程序运行到结束,检查AX值是否正确。 三、多字节加法程序。
程序: MOV DI,1000 MOV CX,8 MOV SI,2000 CLC LOP: MOV AL,[SI] ADC [DI],AL INC SI INC DI LOOP LOP INT 20 步骤: 1)用A命令键入此程序 2)用E命令在1000H开始处键入一个8字节被加数,在2000H开始处键入一个8字节加数,均为低字节在前面。 3)用G命令运行此程序,并用D命令检查其结果(存放在哪里?),是否正确? 4)将INT 20H指令改为INT 3,有何区别?若这条指令不加,行不行?试一试。 四、自编程序: 用16位减法指令编一个32位(4字节)数减法程序,两个源数及结果存放地址同上题。调试并做记录。 五、实验数据(现象)处理分析 一、