资源描述
微 机 原 理 及 接 口 技 术 实 验 报 告
实验项目名称: 统计 正数、负数零的个数
实验日期: 实验成绩:
实验评定标准:
1)实验结果及分析是否合理
A( )B( )C( )
2)实验程序流程图是否正确
A( )B( )C( )
3)实验报告是否按照规定格式
A( )B( )C( )
一、 实验目的
1.掌握比较指令、转移指令和循环指令在循环程序设计中的使用方法。
2.掌握循环结构程序的组成。
3.掌握循环程序的设计、调试方法。
4.熟悉汇编语言源程序上机的过程和方法。
二、 实验器材
电脑、微型计算机原理及应用实验指导书及教科书
三、 实验内容(实验过程)
统计正数、负数、和零的个数:在地址F000:0000H开始的存储区有1024个符号字数据,统计其统计正数、负数、和零的个数,并显示出统计结果。
1.利用文本编辑器编辑完成程序。
2.利用宏汇编程序MASM5.1对源程序进行汇编生成目标文件.obj文件。
3.利用链接程序LINK3.6对目标程序进行链接生成可执行文件.exe文件。
4运行程序。
四、 实验程序
.model small
.code
start: mov ax,@code
mov ds,ax
call sum
lea dx,mess1
mov ah,09h
int 21h
mov ax,bx
call disp
mov dx,offset mess2
mov ah,09h
int 21h
mov ax,di
call disp
mov dx,offset mess3
mov ah,09h
int 21h
mov ax,bp
call disp
mov ah,4ch
int 21h
sum proc
push ds
cld
mov si, 0f000h
mov ds,si
mov si,0
xor ax,ax
xor bx,bx
xor di,di
xor bp,bp
mov cx,1024
sum1: lodsb
cmp al,0
jg sum3
jl sum2
inc bp
jmp sum4
sum2:inc di
jmp sum4
sum3: inc bx
sum4: loop sum1
pop ds
ret
sum endp
disp proc
push di
xor cx,cx
mov di,10
disp1: xor dx,dx
div di
add dl,30h
push dx
inc cx
or ax,ax
jnz disp1
disp2: pop dx
mov ah,02h
int 21h
loop disp2
pop di
ret
disp endp
mess1 db"puls_number:$"
mess2 db 0dh,0ah, "negtive_number:$"
mess3 db 0dh, 0ah, "0_number:$"
end start
五、 实验结果及分析
分析:在汇编链接目标文件之后运行文件会出现
puls_number:464
negative_number:387
0_number:173
如果程序执行情况与预期不同,或执行时操作系统报告出错信息,就要通过调试工具进行动态调试,查找程序的问题并修改。重新开始,修改源程序问题。
展开阅读全文