实验报告
北京邮电大学 微机原理软件
微机原理软件实验报告
班级: 姓名: 学号: 班内序号: 指导老师:
1
实验报告
北京邮电大学 微机原理软件
实验二 分支、循环程序设计
一、实验目的
1.开始独立进行汇编语言程序设计; 2.掌握基本分支,循环程序设计;
3.掌握最简单的 DOS 功能调用. 二、实验内容
1.安排一个数据区,内存有若干个正数,负数和零.每类数的个数都不超过 9. 2.编写一个程序统计数据区中正数,负数和零的个数.
3.将统计结果在屏幕上显示.
4.(选作)统计出正奇数,正偶数,负奇数,负偶数以及零的个数. 三、实验设计
2
实验报告
北京邮电大学 微机原理软件
四、源代码
DATA SEGMENT
ARRAY DB -1,-2,-3,-4,-5,-6,0,1,2,3,5,4,5,6,0 COUNT EQU $-ARRAY
POSI DB 0 ;正数 NEGA DB 0 ;负数 ZERO DB 0 ;零 ODDPOS DB 0 ;正奇数 EVENPOS DB 0 ;正偶数 ODDNEG DB 0 ;EVENNEG DB 0 ;STRING1 DB '正数个数:','$' ;STRING2 DB '负数个数:','$' ;STRING3 DB '零的个数:','$' STRING4 DB '正奇数个数:','$' STRING5 DB '正偶数个数:','$' STRING6 DB '负奇数个数:','$' STRING7 DB '负偶数个数:','$' DATA ENDS
STACK SEGMENT STACK 'STACK' DB 100 DUP(?) STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START: MOV AX,DATA MOV DS,AX MOV CX,COUNT
LEA BX,ARRAY ;LOOP1: CMP BYTE PTR [BX],0 JGE POS
INC NEGA ;TEST BYTE PTR [BX],01H ;JZ ENEG ;INC ODDNEG ; JMP NEXT
ENEG: INC EVENNEG ; JMP NEXT POS: JZ ZER
INC POSI ; TEST BYTE PTR [BX],01H JZ EPOS
负奇数 负偶数
把最后的统计结果显示在屏幕上 下同 把数据段的偏移地址给BX 统计负数
利用奇数的二进制表示式最后一位必为1的特点来判断奇偶 统计负奇数 统计负偶数 统计正数 3
实验报告
北京邮电大学 微机原理软件
INC ODDPOS ;统计正奇数 JMP NEXT
EPOS: INC EVENPOS ;统计正偶数 JMP NEXT
ZER: INC ZERO ;统计零 NEXT: INC BX LOOP LOOP1
MOV AH,09H ;显示正数 MOV DX,SEG STRING1 MOV DS,DX
LEA DX,STRING1 INT 21H MOV AH,02H MOV DL,POSI ADD DL,30H INT 21H
MOV DL,0AH ; INT 21H ; MOV DL,0DH INT 21H
MOV AH,09H ;显示负数 MOV DX,SEG STRING2 MOV DS,DX
LEA DX,STRING2 INT 21H MOV AH,02H MOV DL,NEGA ADD DL,30H INT 21H MOV DL,0AH INT 21H MOV DL,0DH INT 21H
MOV AH,09H ; MOV DX,SEG STRING3 MOV DS,DX
LEA DX,STRING3 INT 21H MOV AH,02H MOV DL,ZERO ADD DL,30H
显示空格 显示回车 显示零 4
实验报告
INT 21H MOV DL,0AH INT 21H MOV DL,0DH INT 21H
MOV DL,0AH INT 21H MOV DL,0DH INT 21H
MOV AH,09H ; MOV DX,SEG STRING4 MOV DS,DX
LEA DX,STRING4 INT 21H MOV AH,02H MOV DL,ODDPOS ADD DL,30H INT 21H MOV DL,0AH INT 21H MOV DL,0DH INT 21H
MOV AH,09H ; MOV DX,SEG STRING5 MOV DS,DX
LEA DX,STRING5 INT 21H MOV AH,02H MOV DL,EVENPOS ADD DL,30H INT 21H MOV DL,0AH INT 21H MOV DL,0DH INT 21H
MOV AH,09H ; MOV DX,SEG STRING6 MOV DS,DX
LEA DX,STRING6
INT 21H
北京邮电大学 微机原理软件
显示正奇数 显示正偶数 显示负奇数 5