第一范文网 - 专业文章范例文档资料分享平台

xin微机原理与汇编语言程序设计

来源:用户分享 时间:2025/5/25 10:27:42 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

实验五 分支程序设计1(2学时)

【实验目的】

1、熟练掌握逻辑运算和转移指令 1) 逻辑运算指令

2)标号和无条件转移指令 3)比较指令和条件转移指令

2、掌握分支程序设计的原理和方法 , 重点掌握各种分支程序中形成和判断条件而产生的程序段的设计方法和技巧

【实验内容】

1、编制程序实现根据各控制变量(数字1---4)和各分支之间的关系,把程序分成4个分支段,各分支段的起始标号为A1,A2,A3,A4.每个分支段的功能为显示一个字符串。如果输入的字符不是1---4,则显示出错误提示字符串。 DATAS SEGMENT

tab1 db 'output data1$';此处输入数据段代码 tab2 db 'output data2$' tab3 db 'output data3$' tab4 db 'output data4$' err db 'err$' DATAS ENDS

STACKS SEGMENT

db 100 dup(0) ;此处输入堆栈段代码 STACKS ENDS

CODES SEGMENT

ASSUME CS:CODES,DS:DATAS,SS:STACKS START:

MOV AX,DATAS MOV DS,AX

mov ah,1 ;此处输入代码据段代码 int 21h cmp al,'1' jz a1

cmp al,'2' jz a2

cmp al,'3' jz a3

25

cmp al,'4' jz a4

lea dx,err mov ah,9 int 21h jmp exit

a1: lea dx,tab1 mov ah,9 int 21h jmp exit

a2: lea dx,tab2 mov ah,9 int 21h jmp exit

a3: lea dx,tab3 mov ah,9 int 21h jmp exit

a4: lea dx,tab4 mov ah,9 int 21h

exit: MOV AH,4CH INT 21H CODES ENDS

END START 运行结果

1 output data1

2、编制程序实现如下操作:

设有 10 个学生成绩,分别统计低于 60 分、 60 ~ 69 分、 70 ~ 79 分、 80 ~ 89 分、 90 ~99 分及 100 分的人数,并存放于 S5 、 S6 、 S7 、 S8 、 S9 、 S10 单元中。

执行程序后,将结果分别填入下列

N(总人数 ) S5 S6 S7 S8 S9 S10 DATAS SEGMENT

tab db 45,85,96,65,76,84,55,69,79,88 ;此处输入数据段代码 s5 db 0 s6 db 0 s7 db 0 s8 db 0

26

s9 db 0 s10 db 0

buf db 'output data:$' DATAS ENDS

STACKS SEGMENT

;此处输入堆栈段代码 STACKS ENDS

CODES SEGMENT

ASSUME CS:CODES,DS:DATAS,SS:STACKS START:

MOV AX,DATAS MOV DS,AX

lea si,tab;此处输入代码据段代码 mov cx,10

lopa: mov al,[si] cmp al,60 jl a5

cmp al,70 jl a6

cmp al,80 jl a7

cmp al,90 jl a8

cmp al,100 jz a10 inc s9 jmp exit a10:inc s10 jmp exit a8: inc s8 jmp exit a7: inc s7 jmp exit a6: inc s6 jmp exit a5: inc s5 jmp exit exit:inc si dec cx jnz lopa lea dx,buf mov ah, 9

27

int 21h lea si,s5 mov cx,6 lopb: mov al,[si] mov ah,0 mov dl,10

div dl;(al)=十位 (ah)=个位 mov bh,ah or al,30h mov dl,al mov ah,2 int 21h

or bh,30h mov dl,bh mov ah,2 int 21h

mov dl,' ' mov ah,2 int 21h inc si dec cx jnz lopb MOV AH,4CH INT 21H CODES ENDS

END START 运行结果

output data: 02 02 02 03 01 00

3、编制程序实现从键盘上键入0至9中任一自然数X,求其平方值。若输入的字符不是0至9中的数字,则显示错误,并要求重新输入。要求有交互界面: data segment

tab db 0,1,4,9,16,25,36,49,64,81

input db ‘please input x(0--9)’,’$’ data ends

调试运行时,请采用两种方法:

(1)调用DEBUG程序查看运行结果并记录每步运行结果; (2)通过查表转换求平方值在屏幕上显示出来。 DATAS SEGMENT

tab db 0,1,4,9,16,25,36,49,64,81 input db 'please input x(0--9)','$'

x db ?

28

搜索更多关于: xin微机原理与汇编语言程序设计 的文档
xin微机原理与汇编语言程序设计.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c2kifr9fw274mu7525edl_8.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top