3.多字节加法程序
程序:
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) 用命令键入此程序
(2) 用E命令在1000H开始处键入一个8字节被加数,在2000H开始处键入一个8字节加数,
均为低字节在前面。4.数据串搬家程序
(1)用A命令键入下列程序:
MOV SI,1000 MOV DI,1500 MOV CX,0FH LOP:MOV AL,[SI]
MOV [DI],AL
INC SI INC DI DEC CX JNZ LOP INT 20
(2)用A命令DB伪指令在1000H键入下列字符串:
‘
IBM_PC
COMPUTER'
(3)用G命令运行此程序,并用D命令检查目的地址处的字符与源串是否一致。
5.自编程序
用16位减法指令编一个32位(4字节)数减法程序,两个源数及结果存放地址同多字节加法程序,调试并做记录。
MOV DI,1000 MOV CX,4 MOV SI,2000 CLC
LOP: MOV AL,[SI] SBB [DI],AL INC SI INC DI
LOOP LOP INT 20
六.实验报告要求
1.各项实验记录,可以用截图或文字进行说明。
2.要求你修改的程序的清单(修改后)和调试记录,源程序请添加适当的注释。 3.自编程序原稿及调试后修正稿,写出原稿错在那里。
七.简答题
1.MOV BYTE PTR[BX],20
MOV WORD PTR[BX+SI+2],2846
上述指令中BYTE PTR及WORD PTR伪操作不加行不行?试一试。 答:不行
2.用G命令运行多字节加法程序,并用D命令检查其结果(存放在哪里?),是否正确? 答:正确。G命令完后,就可以以直接执行D命令,而D命令后接着你所要存放的地址,如:D1200H
3.将多字节加法程序中的INT 20H指令改为INT 3,有何区别?若这条指令不加,行不行?试一试。
答:行。改为int3的话则会停留在dos界面中,没什么区别。比价,也行。
4.数据串搬家程序中的目的地址改为1002H,再运行此程序,看能不能把1000H开始的字符串搬到1002H开始的地方去?修改程序以做到这一点。
5.答:不能,应该放到1015H.
八、实验总结
这次试验让我加强认识了许多指令。而且在些程序进行要注意是16进制。而且写程序的时候要时刻注意每一符号,空格。o与0的区别。学会了许多指令并会运用实际操作

