汇编实验报告9907976Word格式.docx

上传人:b****2 文档编号:14896107 上传时间:2022-10-25 格式:DOCX 页数:18 大小:179.50KB
下载 相关 举报
汇编实验报告9907976Word格式.docx_第1页
第1页 / 共18页
汇编实验报告9907976Word格式.docx_第2页
第2页 / 共18页
汇编实验报告9907976Word格式.docx_第3页
第3页 / 共18页
汇编实验报告9907976Word格式.docx_第4页
第4页 / 共18页
汇编实验报告9907976Word格式.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

汇编实验报告9907976Word格式.docx

《汇编实验报告9907976Word格式.docx》由会员分享,可在线阅读,更多相关《汇编实验报告9907976Word格式.docx(18页珍藏版)》请在冰豆网上搜索。

汇编实验报告9907976Word格式.docx

允许用户从键盘输入0~16个0或1,判断输如以回车(20h)为输入结束,对每一个输入判断为1,还是为0,如果为1,设置cf=1然后带进位左移bx,如果为0,设置cf=0,也是带进位左移bx,bx开始时为0,如果输入10101的话,经过5次移位,bx=10101b了,输入完了后将bx按十六进制方式输出。

4、实验代码:

CODESSEGMENT

ASSUMECS:

CODES

START:

movbx,0

loop1:

clc;

此指令清除cf标志位cf=0

movah,1h

int21h

cmpal,0dh;

比较是不是回车键

jeprint;

如果是表示输入完毕

cmpal,'

0'

jzrotate

stc;

此指令设置cf为1

rotate:

rclbx,1;

注意这里是带进位左移,程序的思想所在

jmploop1

print:

movdl,0dh;

接下来的六行指令打印回车和换行,避免输出的覆盖原来的输入

movah,2h

movdl,0ah

movcl,4;

将bx的二进制数按十六进制显示出来

movch,4

loop2:

rolbx,cl

movdl,bl

anddl,0fh

adddl,30h

cmpdl,3ah

jbloop3

adddl,7h

loop3:

decch

jnzloop2

exit:

MOVAH,4CH

INT21H

CODESENDS

ENDSTART

5、实验结果:

字符串匹配

曾惜

计算机科学与技术1102

12月28日

贺建飚

1实验目的;

2实验要求和题目;

3实验原理;

4实验代码;

5实验结果;

1)掌握串操作指令的使用方法。

2)掌握串处理程序的设计方法。

3)熟练使用各种程序结构。

2、实验要求和题目

编制两个字符串比较子程序根据提示信息,

从键盘输入两个字符串,实现两个字符串的比较。

如两个字符串中有一个字符相同,则显示“MATCH”,否则显示“NOMATCH”

4、实验代码

DATASEGMENT

MSG1DB'

INPUTSTRING1:

'

0DH,0AH,'

$'

MSG2DB0DH,0AH,'

INPUTSTRING2:

MSG3DB0DH,0AH,'

NOMATCH'

MSG4DB0DH,0AH,'

MATCH'

STR1DB25,25DUP(?

STR2DB25,25DUP(?

DATAENDS

CODESEGMENT'

CODE'

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVDX,OFFSETMSG1;

输入字符串1

MOVAH,09H

INT21H

MOVDX,OFFSETSTR1

MOVAH,0AH

MOVDX,OFFSETMSG2;

输入字符串2

MOVDX,OFFSETSTR2

MOVSI,OFFSETSTR1+2

MOVCL,[SI-1]

AGAIN1:

MOVDI,OFFSETSTR2+2

MOVDL,[DI-1]

MOVBX,00H

AGAIN2:

MOVAL,[SI+BX]

CMPAL,[DI]

JZOUT1

JNZOUT2

OUT1:

INCBX

INCDI

DECDL

CMPDL,00H

JZMATCH

JNZAGAIN2

OUT2:

INCSI

DECCL

CMPCL,00H

JZNOMATCH

JNZAGAIN1

MATCH:

MOVDX,OFFSETMSG4;

输出字符串MATCH

JMPEXIT

NOMATCH:

MOVDX,OFFSETMSG3;

输出字符串NOMATCH

EXIT:

MOVAX,4C00H

CODEENDS

ENDSTART

5、实验结果

输入字符串分类显示

一、实验目的

学习用汇编语言编写与设计分支循环程序。

程序接收用户键入的一行字符(字符个数不超过80个,该字符串用回车符结束),并按字母、数字及其他字符分类计数,然后将结果存入以letter、digit和other为名的存储单元中。

三、实验原理

㈠题目(老师给定或学生自定)

分类统计字符个数COUNT_CHAR

㈡设计的主要思路

根据字符的ASCLL对字符进行区分,分为字母、数字和其他字符。

㈢主要功能

datasgsegment

stringlabelbyte

maxdb80

actdb?

stokndb80dup(?

digitdb0

Letterdb0

otherdb0

mess1db'

Pleaseinputchars:

'

mess2db0dh,0ah,'

mess3db'

digit:

mess4db'

letter:

mess5db'

other:

mess6db'

h'

ndb3

datasgends

;

codesgsegment

assumecs:

codesg,ds:

datasg

COUNT_CHARprocfar

pushds

subax,ax

pushax

movax,datasg

movds,ax

leadx,mess1;

输出字符串

movah,09

int21h

leadx,string

movah,0ah;

换行

leadx,mess2

movah,09h;

leasi,stokn

subch,ch

movcl,act

again:

;

判断ASCLL

moval,[si]

cmpal,30h

jlother1

cmpal,3ah

jldigit1

cmpal,41h

cmpal,5bh

jlletter1

cmpal,61h

cmpal,7bh

other1:

处理其他字符,计数加一

incother

incsi

loopagain

jmpprint

digit1:

处理数字,计数加一

incdigit

letter1:

处理字母,计数加一

incletter

movch,2

movbl,digit

leadx,mess3

转换16进制

movcl,4

rolbl,cl

moval,bl

andal,0fh

addal,30h

jlprint1

addal,7h

print1:

movdl,al

movah,2

decch

jnzrotate

leadx,mess6

decn

cmpn,2

jzletter2

cmpn,1

jzother2

jmpexit

letter2:

leadx,mess4

movbl,letter

jmprotate

other2:

leadx,mess5

movbl,other

结束退出

ret

COUNT_CHARendp

codesgends

endCOUNT_CHAR

1、实验目的:

2、实验要求

运用DOS系统功能的1号功能输入并保存N值。

计数器置零。

然后用循环结构,每一次循环输出一个响铃命令,并让计数器自加1,直到计数器数值达到N,便完成了响铃N次的目标。

三、实验原理

四、实验代码:

codeSEGMENT

code

start:

MOVAH,1

INT21h

MOVAH,0

MOVCX,AX

begain:

MOVDL,7

MOVAH,2

LOOPbegain

MOVAH,4ch

codeENDS

END

(运行的铃声要怎么截图。

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

当前位置:首页 > 自然科学 > 生物学

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

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