循环程序设计实验
一、实验目的
掌握循环程序的结构、循环程序的设计方法及调试循环程序的方法。
二、实验内容
求某数据区内负数的个数。设在以BUF为首址的字存储区输入n个有符号二进制数,统计的负数个数放在存储单位R中。
三、实验步骤
1.在Emu8086环境下输入汇编程序,编译、连接,生成.exe 文件。
2.启动仿真程序。
3.利用View命令查看R中的内容是否正确。
四、实验资源配置
IBMPC微机,Win7以上操作系统,Emu8086微机原理实验集成开发环境。
五、实验的软件编程
设数据区的第一个单元开始存放数据。为统计数据区内负数的个数,需要逐个判断区内的每一个数据,然后将所有数据中凡是符号位为1的数据的个数累加起来,即得到区内负数的个数。参考流程图如1所示。
DATA SEGMENT
BUF DW 21,-27,3,-27,5,-9,-2,-77,67
N EQU ($-BUF)/2
R DB 0
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
XOR AX,AX
MOV CX,N
LEA SI,BUF
D: MOV AX,[SI]
ADD AX,0
JS S
INC SI
INC SI
LOOP D
JMP NEXT
S: MOV AL,R
INC AL
MOV R,AL
INC SI
INC SI
LOOP D
JMP NEXT
NEXT: MOV AH,4CH
INT 21H
CODE ENDS
END START