微机原理软件实验报告 篇一:北邮微机原理软件实验报告 微机原理软件实验报告 实验二分支,循环程序设计 一、预习题: 1
十进制数 0 -- 9 所对应的 ASCII 码是什么
如何将十进制数 0 -- 9 在屏幕上显示出来
答: 要屏显 0-9 的数码,可以调用 02h 中断,然后将要显示的数码的 ASCII 码存进 DL 里,然后执行 INT 21H 就可以打印字符
当然,若不只一个数,调用 09h 中断(显示字符串)更好,但要将DS:DXZ 指向要显示的数字在内存中的首地址,并要求以$结束
如何检验一个数为正,为负或为零
你能举出多少种不同的方法
答:CMP X,0 检验标志位 CF CF=1,X 为负数 CF=0 接着检验 ZF:ZF=1,X 为零,ZF=0,X 为正数 二、实验目的: 1
开始独立进行汇编语言程序设计; 2
掌握基本分支,循环程序设计; 3
掌握最简单的 DOS 功能调用
三、实验内容: 1
安排一个数据区,内存有若干个正数,负数和零
每类数的个数都不超过 9
编写一个程序统计数据区中正数,负数和零的个数
四、实验源代码 assume cs:code,ds:data data segment buff db 1,2,3,4,5,-1,-2,-3,0,0 ;安排的数据区 string db 0: plus db 0 db 0ah,0dh string1 db =0: zero db 0 db 0ah,0dh string2 db 0: minus db 0 db $ data ends code segment start:movax,data movds,ax mov cx,10 mov dx,0 mov ah,0 ;初始化,并将 CX 赋为 10,因为共有 10 个数 ;用变量 plus 来存储正数的个数 ;用变量 zero