汇编语言大作业.docx

上传人:b****2 文档编号:11404398 上传时间:2023-05-31 格式:DOCX 页数:18 大小:158.77KB
下载 相关 举报
汇编语言大作业.docx_第1页
第1页 / 共18页
汇编语言大作业.docx_第2页
第2页 / 共18页
汇编语言大作业.docx_第3页
第3页 / 共18页
汇编语言大作业.docx_第4页
第4页 / 共18页
汇编语言大作业.docx_第5页
第5页 / 共18页
汇编语言大作业.docx_第6页
第6页 / 共18页
汇编语言大作业.docx_第7页
第7页 / 共18页
汇编语言大作业.docx_第8页
第8页 / 共18页
汇编语言大作业.docx_第9页
第9页 / 共18页
汇编语言大作业.docx_第10页
第10页 / 共18页
汇编语言大作业.docx_第11页
第11页 / 共18页
汇编语言大作业.docx_第12页
第12页 / 共18页
汇编语言大作业.docx_第13页
第13页 / 共18页
汇编语言大作业.docx_第14页
第14页 / 共18页
汇编语言大作业.docx_第15页
第15页 / 共18页
汇编语言大作业.docx_第16页
第16页 / 共18页
汇编语言大作业.docx_第17页
第17页 / 共18页
汇编语言大作业.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

汇编语言大作业.docx

《汇编语言大作业.docx》由会员分享,可在线阅读,更多相关《汇编语言大作业.docx(18页珍藏版)》请在冰点文库上搜索。

汇编语言大作业.docx

汇编语言大作业

辽宁师范大学计算机与信息技术学院

综合性实验报告

 

课程名称:

汇编语言

实验题目:

菜单程序设计

学生姓名:

孙蕾

专业:

计算机科学与技术

学号:

20101118050005

实验日期:

2012.5.10

实验成绩:

 

一、实验目的

设计菜单程序,实现各种功能,设计分支程序,重键盘输入字符。

二、实验内容

(1)参考示例5-8设计菜单程序,包含示例5-2、示例5-3及退出三个菜单项。

将示例5-2改为从键盘输入X;示例5-3增加显示功能,显示出统计个数。

(P120、P101、P106)

(2)选作:

参考P213第9章示例9-3,在屏幕上清屏、开窗口,将菜单程序带颜色地显示在窗口中。

提示:

可利用P223宏库9-4.mac中的功能。

三、实验过程(含结果抓图)

1.输入程序代码

datasegment

xdw?

ydw?

ccdb0ah,0dh,'Y=$'

mess0db0ah,0dh,0dh,'****************MENU******************'

db0ah,0dh,'*1.calculateY=5X-18:

*'

db0ah,0dh,'*2.countthenumbersofastring:

*'

db0ah,0dh,'*3.exit*'

db0ah,0dh,'*^^pleaseselect...*'

db0ah,0dh,'**************************************'

db0ah,0dh,'$'

mess1db0ah,0dh,0dh,'pleaseinputastring:

$'

cdb0ah,0dh,0dh,'pleaseinputanumber:

$'

mess2db0ah,0dh,'numb:

$'

mess3db0ah,0dh,'capi:

$'

mess4db0ah,0dh,'lett:

$'

mess5db0ah,0dh,0dh,'thankyouforusing!

!

$'

numbdb10dup(?

capidb10dup(?

lettdb10dup(?

dataends

codesegment

assumecs:

code,ds:

data

start:

movax,data

movds,ax

let0:

movdx,offsetmess0

movah,9

int21h

movah,1

int21h

cmpal,'1'

jzprog1

cmpal,'2'

jzprog2

jmpprog3

prog1:

movax,data

movds,ax

movdx,offsetc

movah,9

int21h

inx:

movah,1

int21h

cmpal,30h

jlinx

cmpal,3Ah

jnlinx

subal,30h

movah,0

movx,ax

moval,5

imulx

subax,18

jnsleta

negax

leta:

movy,ax

movcx,0

movbx,10

letb:

movdx,0

inccx

idivbx

pushdx

cmpax,0

jnzletb

movdx,offsetcc

movah,9

int21h

letc:

popax

addax,0030h

movdl,al

movah,2

int21h

deccx

cmpcx,0

jnzletc

jmplet0

prog2:

movax,data

movds,ax

movdx,offsetmess1

movah,9

int21h

let1:

movah,1

int21h

cmpal,0dh

jzexit1

testal,40h

jzlet2

testal,20h

jzlet3

movlett[bx],al

incbx

jmplet1

let3:

cmpal,5ah

jaexit1

movcapi[si],al

incsi

jmplet1

let2:

cmpal,'0'

jbexit1

cmpal,'9'

jaexit1

movnumb[di],al

incdi

jmplet1

exit1:

movax,data

movds,ax

movdx,offsetmess2

movah,9

int21h

adddi,30h

movdx,di

movah,2

int21h

movdx,offsetmess3

movah,9

int21h

addsi,30h

movdx,si

movah,2

int21h

movdx,offsetmess4

movah,9

int21h

addbx,30h

movdx,bx

movah,2

int21h

jmplet0

prog3:

movdx,offsetmess5

movah,9

int21h

movah,4ch

int21h

codeends

endstart

2.进行代码调试

 

四、实验结果分析(运行过程中出现的问题、如何解决的;实验过程中的经验及教训)

1.记不住关键的程序命令,每次再想执行的之后得看书之后输入。

2.菜单分支名称重复,很容易记错,跳转出错。

五、实验拓展

1.代码:

include9-3.mac

datasegment

xdw?

ydw?

ccdb0ah,0dh,'Y=5x-18=$'

mess0db0ah,0dh,0dh,'****************MENU******************'

db0ah,0dh,'*1.calculateY=5X-18:

*'

db0ah,0dh,'*2.countthenumbersofastring:

*'

db0ah,0dh,'*3.exit*'

db0ah,0dh,'*^^pleaseselect...*'

db0ah,0dh,'**************************************'

db0ah,0dh,'$'

mess1db0ah,0dh,0dh,'pleaseinputastring:

$'

cdb0ah,0dh,0dh,'pleaseinputanumber:

$'

mess2db0ah,0dh,'numb:

$'

mess3db0ah,0dh,'capi:

$'

mess4db0ah,0dh,'lett:

$'

mess5db0ah,0dh,0dh,'thankyouforusing!

!

$'

numbdb10dup(?

capidb10dup(?

lettdb10dup(?

messdb29,32dup(?

contdb?

dataends

codesegment

assumecs:

code,ds:

data

start:

movax,data

movds,ax

clearsc

clearsw

reptt:

movah,2

movdh,8

movdl,30

movbh,0

int10h

movah,9

movdx,offsetmess0

int21h

let0:

movah,1

int21h

cmpal,'1'

jzprog1

cmpal,'2'

jzprog2

jmpprog3

prog1:

movax,data

movds,ax

movdx,offsetc

movah,9

int21h

inx:

movah,1

int21h

cmpal,30h

jlinx

cmpal,3Ah

jnlinx

subal,30h

movah,0

movx,ax

moval,5

imulx

subax,18

jnsleta

negax

leta:

movy,ax

movcx,0

movbx,10

letb:

movdx,0

inccx

idivbx

pushdx

cmpax,0

jnzletb

movdx,offsetcc

movah,9

int21h

letc:

popax

addax,0030h

movdl,al

movah,2

int21h

deccx

cmpcx,0

jnzletc

jmplet0

prog2:

movax,data

movds,ax

movdx,offsetmess1

movah,9

int21h

let1:

movah,1

int21h

cmpal,0dh

jzexit1

testal,40h

jzlet2

testal,20h

jzlet3

movlett[bx],al

incbx

jmplet1

let3:

cmpal,5ah

jaexit1

movcapi[si],al

incsi

jmplet1

let2:

cmpal,'0'

jbexit1

cmpal,'9'

jaexit1

movnumb[di],al

incdi

jmplet1

exit1:

movax,data

movds,ax

movdx,offsetmess2

movah,9

int21h

adddi,30h

movdx,di

movah,2

int21h

movdx,offsetmess3

movah,9

int21h

addsi,30h

movdx,si

movah,2

int21h

movdx,offsetmess4

movah,9

int21h

addbx,30h

movdx,bx

movah,2

int21h

jmplet0

prog3:

movdx,offsetmess5

movah,9

int21h

movah,4ch

int21h

codeends

endstart

9-3.mac:

clearscmacro

movah,06h

moval,0

movbh,0f0h

movch,0

movcl,0

movdh,23

movdl,79

int10h

movdx,0

movah,2

int10h

endm

clearswmacro

movah,06h

moval,0

movbh,27h

movch,8

movcl,30

movdh,22

movdl,66

int10h

endm

2.运行结果

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

当前位置:首页 > 职业教育 > 中职中专

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2