汇编实验第二次.docx

上传人:b****5 文档编号:3528949 上传时间:2022-11-23 格式:DOCX 页数:12 大小:149.88KB
下载 相关 举报
汇编实验第二次.docx_第1页
第1页 / 共12页
汇编实验第二次.docx_第2页
第2页 / 共12页
汇编实验第二次.docx_第3页
第3页 / 共12页
汇编实验第二次.docx_第4页
第4页 / 共12页
汇编实验第二次.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

汇编实验第二次.docx

《汇编实验第二次.docx》由会员分享,可在线阅读,更多相关《汇编实验第二次.docx(12页珍藏版)》请在冰豆网上搜索。

汇编实验第二次.docx

汇编实验第二次

《汇编语言程序设计》

实验报告

专业班级

计101

学号

姓名

指导教师

陆勤

 

实验一循环程序实验

程序说明:

1.第一个程序是用来显示AL寄存器中的两位十六进制数,通过DOS功能调

用INT21H的2号功能显示出来。

2.第二个程序是用来判断键盘上输入的字符:

若是1-9数字,则显示;若为A-Z或a-z,则显示c;若是回车字符,则结束程序。

其它字符不显示,继续等待输入。

实验二:

CODESEGMENT

ASSUMECS:

CODE

START:

MOVAH,1

INT21H

CMPAL,0DH

JZDONE

CMPAL,'0'

JBNEXT

CMPAL,'9'

JACHARUP

MOVDL,AL

MOVAH,2

INT21H

JMPSTART

CHARUP:

CMPAL,41H

JBNEXT

CMPAL,5AH

JACHRDN

DISPC:

MOVDL,'c'

MOVAH,2

INT21H

NEXT:

JMPSTART

CHRDN:

CMPAL,61H

JBNEXT

CMPAL,7AH

JANEXT

JMPDISPC

DONE:

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

实验清单:

实验一:

CODESEGMENT

ASSUMECS:

CODE

START:

MOVAL,3EH

PUSHAX

MOVDL,AL

MOVCL,4

SHRDL,CL

CMPDL,9

JBENEXT1

ADDDL,7

NEXT1:

ADDDL,30H

MOVAH,2

INT21H

POPAX

MOVDL,AL

ANDDL,0FH

CMPDL,9

JBENEXT2

ADDDL,7

NEXT2:

ADDDL,30H

MOVAH,2

INT21H

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

 

程序运行结果:

实验1:

实验2:

实验二统计不同成绩段学生的人数

实验说明:

设有十个学生成绩分别是76,69,84,90,73,88,99,63,100和80分。

试编制一个子程序,统计低于60分,60~69分,70~79分,80~89分,90~99分和100分的人数,并输出显示统计结果。

编程提示:

1、成绩分等部分采用分支结构,统计所有成绩则用循环结构完成,显示统计结果采用DOS功能调用。

2、统计学生成绩和显示统计结果两部分内容用子程序结构来完成。

结构图:

程序清单:

DATASEGMENT

GRADEDB76,69,84,90,73,88,99,63,100,80

ADB'小于60分的人数:

','$'

BDB0AH,0DH,'在60~70之间的人数:

','$'

CDB0AH,0DH,'在70~80之间的人数:

','$'

DDB0AH,0DH,'在80~90之间的人数:

','$',

EDB0AH,0DH,'在90~100之间的人数:

','$'

FDB0AH,0DH,'满分的人数:

','$'

COUNTDB10

DATAENDS

STACKSSEGMENT

STACKSENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACKS

MAINPROCFAR

START:

MOVAX,DATA

MOVDS,AX

XORAX,AX

XORBX,BX

XORCX,CX

XORDH,DH

CALLCOUNTGRADE

CALLOUTPUT

MOVAH,4CH

INT21H

MAINENDP

COUNTGRADEPROCNEAR

MOVDI,0

L0:

CMPGRADE[DI],60

JBL1

CMPGRADE[DI],70

JBL2

CMPGRADE[DI],80

JBL3

CMPGRADE[DI],90

JBL4

CMPGRADE[DI],100

JBL5

INCAL

JMPCONTINUE

L1:

INCBH

JMPCONTINUE

L2:

INCBL

JMPCONTINUE

L3:

INCCH

JMPCONTINUE

L4:

INCCL

JMPCONTINUE

L5:

INCDH

JMPCONTINUE

CONTINUE:

INCDI

DECCOUNT

JNZL0

RET

COUNTGRADEENDP

OUTPUTPROCNEAR

MOVAH,0

PUSHAX

PUSHDX

PUSHCX

PUSHBX

LEADX,A

MOVAH,9

INT21H

POPBX

MOVDL,BH

ADDDL,30H

MOVAH,2

INT21H

LEADX,B

MOVAH,9

INT21H

MOVDL,BL

ADDDL,30H

MOVAH,2

INT21H

LEADX,C

MOVAH,9

INT21H

POPBX

MOVDL,BH

ADDDL,30H

MOVAH,2

INT21H

LEADX,D

MOVAH,9

INT21H

MOVDL,BL

ADDDL,30H

MOVAH,2

INT21H

LEADX,E

MOVAH,9

INT21H

POPBX

MOVDL,BH

ADDDL,30H

MOVAH,2

INT21HMOVAH,2

LEADX,FINT21H

MOVAH,9RET

INT21HOUTPUTENDP

POPBXCODEENDS

MOVDL,BLENDSTART

ADDDL,30H

程序运行截图:

实验三循环补充实验

实验说明:

从键盘输入一系列字符串(以回车符结束),按字母、数字和其它字符分类计数,最后显示出这三类的计数结果。

程序清单:

datasegment

adb0ah,0dh,'字母个数:

','$'

bdb0ah,0dh,'数字个数:

','$'

cdb0ah,0dh,'其他字符个数:

','$'

dataends

codesegment

assumecs:

code,ds:

data

mainprocfar

start:

pushds

subax,ax

pushax

movax,data

movds,ax

subcx,cx

subbl,bl

lab0:

movah,1

int21h

lab4:

leadx,a

movah,9

int21h

movdl,cl

ordl,30h

movah,2

int21h

leadx,b

movah,9

int21h

movdl,ch

ordl,30h

movah,2

int21h

leadx,c

movah,9

int21h

movdl,bl

ordl,30h

movah,2

int21h

ret

mainendp

codeends

endstart

cmpal,0dh

jzlab4

cmpal,'0'

jblab3

cmpal,'9'

jalab1

incch

jmplab0

lab1:

cmpal,'A'

jblab3

cmpal,'Z'

jalab2

inccl

jmplab0

lab2:

cmpal,'a'

jblab3

cmpal,'z'

jalab3

inccl

jmplab0

lab3:

incbl

jmplab0

程序运行截图:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1