通信1304鲁守城41356118.docx

上传人:b****0 文档编号:16841899 上传时间:2023-07-19 格式:DOCX 页数:34 大小:115.05KB
下载 相关 举报
通信1304鲁守城41356118.docx_第1页
第1页 / 共34页
通信1304鲁守城41356118.docx_第2页
第2页 / 共34页
通信1304鲁守城41356118.docx_第3页
第3页 / 共34页
通信1304鲁守城41356118.docx_第4页
第4页 / 共34页
通信1304鲁守城41356118.docx_第5页
第5页 / 共34页
通信1304鲁守城41356118.docx_第6页
第6页 / 共34页
通信1304鲁守城41356118.docx_第7页
第7页 / 共34页
通信1304鲁守城41356118.docx_第8页
第8页 / 共34页
通信1304鲁守城41356118.docx_第9页
第9页 / 共34页
通信1304鲁守城41356118.docx_第10页
第10页 / 共34页
通信1304鲁守城41356118.docx_第11页
第11页 / 共34页
通信1304鲁守城41356118.docx_第12页
第12页 / 共34页
通信1304鲁守城41356118.docx_第13页
第13页 / 共34页
通信1304鲁守城41356118.docx_第14页
第14页 / 共34页
通信1304鲁守城41356118.docx_第15页
第15页 / 共34页
通信1304鲁守城41356118.docx_第16页
第16页 / 共34页
通信1304鲁守城41356118.docx_第17页
第17页 / 共34页
通信1304鲁守城41356118.docx_第18页
第18页 / 共34页
通信1304鲁守城41356118.docx_第19页
第19页 / 共34页
通信1304鲁守城41356118.docx_第20页
第20页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

通信1304鲁守城41356118.docx

《通信1304鲁守城41356118.docx》由会员分享,可在线阅读,更多相关《通信1304鲁守城41356118.docx(34页珍藏版)》请在冰点文库上搜索。

通信1304鲁守城41356118.docx

通信1304鲁守城41356118

 

《微机原理与接口技术》

课程设计报告

 

 

班级:

通信1304

学号:

41356118

姓名:

鲁守城

 

2015年7月

 

目录

 

必做编程

第一题.............................1

第二题.............................3

第三题.............................6

第四题.............................11

选做编程

第五题.............................16

第六题.............................20

 

第一题

1、实验目的

1.掌握汇编语言的语法和编程思路

2.掌握汇编语言的编译工具《轻松汇编》安装使用方法及其相应的链接、调试方法;

二、实验内容

必做编程第1题:

设计程序,并在程序中显示自己的姓名拼音、班级、学号。

三、实验设备

PC微机一台

四、实验代码

STACKSSEGMENTSTACK;堆栈段

DW128DUP(?

);注意这里只有128个字节

STACKSENDS

DATASSEGMENT;数据段

STRINGDB'ID:

41356118',0AH,0DH,'CLASS:

TX1304',0AH,0DH,'NAME:

LUSHOUCHENG',0AH,0DH,'$'

DATASENDS

CODESSEGMENT;代码段

ASSUMECS:

CODES,DS:

DATAS

START:

MOVAX,DATAS;初始化

MOVDS,AX

LEADX,STRING

MOVAH,09H

INT21H

MOVAH,0AH

INT21H

MOVAX,4C00H;退出程序

INT21H

CODESENDS

ENDSTART

五、运行结果

 

第二题

一、实验目的

1.掌握汇编语言的语法和编程思路

2.掌握汇编语言的编译工具《轻松汇编》安装使用方法及其相应的链接、调试方法;

二、实验内容

必做编程第2题:

编写一个显示数字宏,在dos界面输入一个数字后,调用该宏显示输入的数字。

三、实验设备

PC微机一台

四、实验代码

;这是自动生成的代码模板

STACKSSEGMENTSTACK;堆栈段

DW128DUP(?

);注意这里只有128个字节

STACKSENDS

DATASSEGMENT;数据段

;请在这里定义您的数据

MS1DB'INPUTANUMBER:

$'

MS2DB0DH,0AH,'OUTPUTTHENUMBER:

$'

RESULTDB'$'

DB'$'

DATASENDS

SVARMACRO;按位转化成ASCII码显示

MOVAX,BX

MOVDX,0

DIVCX

MOVBX,DX

MOVDL,AL

ADDDL,30H

MOVAH,02H

INT21H

ENDM

CODESSEGMENT;代码段

ASSUMECS:

CODES,DS:

DATAS

START:

MOVAX,DATAS;初始化

MOVDS,AX

;请在这里添加您的代码

LEADX,MS1

MOVAH,9

INT21H

CALLCHANGE

MOVDL,0DH

MOVAH,2

INT21H

MOVDL,0AH

MOVAH,2

INT21H

LEADX,MS2

MOVAH,09H

INT21H

CALLSHOW

INT21H

;**************输入数字,并将其转化为十进制数************

CHANGEPROCNEAR

MOVBX,0

MOVCX,5

WVAR:

MOVAH,1

INT21H

SUBAL,30H

JBEXIT

CMPAL,9

JGEXIT

CBW;将AL的最高有效位D7扩展至AH

XCHGAX,BX

MOVDX,10

MULDX

XCHGAX,BX

ADDBX,AX

JMPWVAR

EXIT:

RET

CHANGEENDP

SHOWPROCNEAR

MOVCX,10000

SVAR

MOVCX,1000

SVAR

MOVCX,100

SVAR

MOVCX,10

SVAR

RET

SHOWENDP

MOVAX,4C00H;退出程序

INT21H

CODESENDS

ENDSTART

五、运行结果

 

第三题

一、实验目的

1.掌握汇编语言的语法和编程思路

2.掌握汇编语言的编译工具《轻松汇编》安装使用方法及其相应的链接、调试方法;

二、实验内容

必做编程第3题:

输入3个16比特数无符号数x、y和z,显示x和y,并计算r=x/y+z,显示r,要求处理溢出等情况。

三、实验设备

PC微机一台

四、实验代码

;这是自动生成的代码模板

STACKSSEGMENTSTACK;堆栈段

DW128DUP(?

);注意这里只有128个字节

STACKSENDS

DATASSEGMENT;数据段

;请在这里定义您的数据

MS1DB'INPUTX(16bit):

$'

MS2DB'INPUTY(16bit):

$'

MS3DB'INPUTZ(16bit):

$'

MS4DB'YCANNOTBE0!

$'

MS5DB'THEX,YIS:

$'

MS6DB'THEANSWERIS:

$'

MS7DB'THEANSWERISOUTOFRANGE!

$'

XDW?

YDW?

ZDW?

DATASENDS

CODESSEGMENT;代码段

ASSUMECS:

CODES,DS:

DATAS

START:

MOVAX,DATAS;初始化

MOVDS,AX

;****************x,y,z的输入***************

LEADX,MS1;显示X的输入提示

MOVAH,09H

INT21H

CALLCHANGE;X的输入

MOVDL,0DH

MOVAH,2

INT21H

MOVDL,0AH

MOVAH,2

INT21H

MOVX,BX

LEADX,MS2;显示Y的输入提示

MOVAH,09H

INT21H

CALLCHANGE;Y的输入

MOVDL,0DH

MOVAH,2

INT21H

MOVDL,0AH

MOVAH,2

INT21H

MOVY,BX

CMPY,0;判断Y是否为0

JNZNEXT

LEADX,MS4

MOVAH,9

INT21H

MOVAX,4C00H

INT21H

NEXT:

;显示X,Y

LEADX,MS5

MOVAH,9

INT21H

MOVDL,0DH

MOVAH,2

INT21H

MOVDL,0AH

MOVAH,2

INT21H

MOVBX,X

CALLSHOW

MOVDL,0DH

MOVAH,2

INT21H

MOVDL,0AH

MOVAH,2

INT21H

MOVBX,Y

CALLSHOW

MOVDL,0DH

MOVAH,2

INT21H

MOVDL,0AH

MOVAH,2

INT21H

LEADX,MS3;显示Z的输入提示

MOVAH,09H

INT21H

CALLCHANGE;Z的输入

MOVDL,0DH

MOVAH,2

INT21H

MOVDL,0AH

MOVAH,2

INT21H

MOVZ,BX

;************计算R=X/Y+Z并输出,且判断是否溢出*************

LEADX,MS6

MOVAH,9

INT21H

MOVDX,0

MOVAX,X

DIVY

ADDAX,Z

JCEFFOR

MOVBX,AX

CALLSHOW

MOVAH,4CH

INT21H

EFFOR:

LEADX,MS7

MOVAH,09H

INT21H

MOVDL,0AH

MOVAH,2

INT21H

MOVDL,0DH

MOVAH,2

INT21H

MOVBX,AX

CALLSHOW

MOVAH,4CH

INT21H

;*********输入16位无符号数,并将其转化为十进制*********

CHANGEPROCNEAR

MOVBX,0

MOVCX,16

WVAR:

MOVAH,1

INT21H

SUBAL,30H

JBEXIT

CMPAL,9

JGEXIT

CBW

XCHGAX,BX

MOVDX,2

MULDX

XCHGAX,BX

ADDBX,AX

LOOPWVAR

EXIT:

RET

CHANGEENDP

;**********显示子程序*********

SHOWPROCNEAR

MOVCX,10000

CALLSVAR

MOVCX,1000

CALLSVAR

MOVCX,100

CALLSVAR

MOVCX,10

CALLSVAR

MOVCX,1

CALLSVAR

RET

SHOWENDP

SVARPROCNEAR;按位转化成ASCII码显示

MOVAX,BX

MOVDX,0

DIVCX

MOVBX,DX

MOVDL,AL

ADDDL,30H

MOVAH,02H

INT21H

RET

SVARENDP

MOVAX,4C00H;退出程序

INT21H

CODESENDS

ENDSTART

五、运行结果

 

第四题

一、实验目的

1.掌握汇编语言的语法和编程思路

2.掌握汇编语言的编译工具《轻松汇编》安装使用方法及其相应的链接、调试方法;

二、实验内容

必做编程第4题:

从dos界面输入4个数字作为汇编程序的参数,编写冒泡法排序的子程序,进行排序输出最大值,并显示输入的4个数字和最大值。

三、实验设备

PC微机一台

四、实验代码

;这是自动生成的代码模板

STACKSSEGMENTSTACK;堆栈段

DW128DUP(?

);注意这里只有128个字节

STACKSENDS

DATASSEGMENT;数据段

MS1DB'PLEASEINPUT1NUMBER:

$'

MS4DB'PLEASEINPUT2NUMBER:

$'

MS5DB'PLEASEINPUT3NUMBER:

$'

MS6DB'PLEASEINPUT4NUMBER:

$'

MS2DB0DH,0AH,'THENUMBERIS:

$'

MS3DB0DH,0AH,'THEMAXNUMBERIS:

$'

XXDW8DUP(?

DW'$'

YYDB6DUP(?

DB'$'

DATASENDS

CODESSEGMENT;代码段

ASSUMECS:

CODES,DS:

DATAS

START:

MOVAX,DATAS;初始化

MOVDS,AX

LEADX,MS1;显示输入提示

MOVAH,9

INT21H

CALLCHANGE;输入四个数字

MOVXX[0],BX

MOVDL,0DH

MOVAH,2

INT21H

MOVDL,0AH

MOVAH,2

INT21H

LEADX,MS4

MOVAH,9

INT21H

CALLCHANGE

MOVXX[2],BX

MOVDL,0DH

MOVAH,2

INT21H

MOVDL,0AH

MOVAH,2

INT21H

LEADX,MS5

MOVAH,9

INT21H

CALLCHANGE

MOVXX[4],BX

MOVDL,0DH

MOVAH,2

INT21H

MOVDL,0AH

MOVAH,2

INT21H

LEADX,MS6

MOVAH,9

INT21H

CALLCHANGE

MOVXX[6],BX

CALLMAOPAO

MOVDL,0DH

MOVAH,2

INT21H

MOVDL,0AH

MOVAH,2

INT21H

LEADX,MS3;显示最大数字

MOVAH,9

INT21H

MOVDX,0

MOVAX,XX[0]

CALLSHOW

MOVDL,0DH

MOVAH,2

INT21H

MOVDL,0AH

MOVAH,2

INT21H

LEADX,MS2;显示输入的数字

MOVAH,9

INT21H

MOVDX,0

MOVAX,XX[0]

CALLSHOW

MOVDL,20H

MOVAH,2

INT21H

MOVDX,0

MOVAX,XX[2]

CALLSHOW

MOVDL,20H

MOVAH,2

INT21H

MOVDX,0

MOVAX,XX[4]

CALLSHOW

MOVDL,20H

MOVAH,2

INT21H

MOVDX,0

MOVAX,XX[6]

CALLSHOW

MOVDL,0DH

MOVAH,2

INT21H

MOVDL,0AH

MOVAH,2

INT21H

;*********按位转化为ASCII码显示****************

SHOWPROCNEAR

MOVDI,5

NEXT1:

MOVYY[DI],20H

DECDI

JNZNEXT1

MOVDI,5

MOVBX,10

OUTPUT:

DIVBX

ADDDL,30H

MOVYY[DI],DL

DECDI

MOVDX,0

CMPAX,0

JGOUTPUT

LEADX,YY

MOVAH,9

INT21H

RET

SHOWENDP

;********************输入处理子程序*****************

CHANGEPROCNEAR

MOVBX,0

WVAR:

MOVAH,1

INT21H

SUBAL,30H

JBEXIT

CMPAL,9

JGEXIT

CBW

XCHGAX,BX

MOVCX,10

MULCX

XCHGAX,BX

ADDBX,AX

JMPWVAR

EXIT:

RET

CHANGEENDP

;*********************冒泡排序法子程序************

MAOPAOPROCNEAR

MOVDI,3

LVAR:

MOVCX,DI

MOVBX,0

MVAR:

MOVAX,XX[BX]

CMPAX,XX[BX+2]

JAENVAR

XCHGAX,XX[BX+2]

MOVXX[BX],AX

NVAR:

ADDBX,2

LOOPMVAR

DECDL

JNZLVAR

RET

MAOPAOENDP

MOVAX,4C00H;退出程序

INT21H

CODESENDS

ENDSTART

五、运行结果

 

第五题

一、实验目的

1.掌握汇编语言的语法和编程思路

2.掌握汇编语言的编译工具《轻松汇编》安装使用方法及其相应的链接、调试方法;

二、实验内容

选做编程第5题:

设计键盘中断程序及其调用程序,在dos界面运行过程中,完成如下功能:

a)输入q键结束程序

b)输入i键记录一个长度最长为16个字母的姓名拼音

c)输入n键显示刚刚输入的姓名拼音(不能有空格)

三、实验设备

PC微机一台

四、实验代码

;这是自动生成的代码模板

STACKSSEGMENTSTACK;堆栈段

DW128DUP(?

);注意这里只有128个字节

STACKSENDS

DATASSEGMENT;数据段

;请在这里定义您的数据

MS1DB0AH,0DH,'INPUTYOURCHOICE(q/i/n):

$'

MS2DB0AH,0DH,'q:

EXIT!

$'

MS3DB0AH,0DH,'i:

recordyourname$'

MS4DB0AH,0DH,'n:

showyourname$'

MS5DB'INPUTISWORING!

$'

XDB17DUP(?

DATASENDS

CODESSEGMENT;代码段

ASSUMECS:

CODES,DS:

DATAS

START:

MOVAX,DATAS;初始化

MOVDS,AX

;请在这里添加您的代码

LEADX,MS1

MOVAH,9

INT21H

CALLHUICHE

SELECT:

MOVAX,0

MOVAH,1

INT21H

CMPAL,71H

JESTOP

CMPAL,69H

JESRECORD

CMPAL,6EH

JESHOW

JMPERROR

STOP:

LEADX,MS2

MOVAH,9

INT21H

JMPEXIT

SRECORD:

CALLTRECORD

SHOW:

CALLTSHOW

THUICHE:

CALLHUICHE

JMPSELECT

HUICHEPROCNEAR;回车换行

MOVDL,0AH

MOVAH,2

INT21H

MOVDL,0DH

MOVAH,2

INT21H

RET

HUICHEENDP

TRECORDPROCNEAR;记录子程序

LEADX,MS3

MOVAH,9

INT21H

CALLHUICHE

MOVCX,0

MOVSI,0

MOVCX,16

LEASI,X

INPUT:

MOVAH,1

INT21H

CMPAL,0DH

JETHUICHE

MOV[SI],AL

INCSI

DECCX

JNZINPUT

JMPTHUICHE

RET

TRECORDENDP

TSHOWPROCNEAR;显示子程序

LEADX,MS4

MOVAH,9

INT21H

CALLHUICHE

MOVSI,0

MOVCX,16

LEASI,X

OUTPUT:

MOVDL,[SI]

CMPDL,0DH

JETHUICHE

INCSI

CMPDL,20H

JEOUTPUT

MOVAH,02H

INT21H

DECCX

JNZOUTPUT

JMPTHUICHE

RET

TSHOWENDP

ERROR:

LEADX,MS5;输入错误

MOVAH,9

INT21H

JMPEXIT

EXIT:

MOVAH,4CH

INT21H

CODESENDS

ENDSTART

五、运行结果

 

第六题

一、实验目的

1.掌握汇编语言的语法和编程思路

2.掌握汇编语言的编译工具《轻松汇编》安装使用方法及其相应的链接、调试方法;

二、实验内容

选做编程第6题:

设计鼠标程序,完成如下功能

a)在屏幕显示鼠标的坐标位置

b)点击鼠标左键,程序退出

三、实验设备

PC微机一台

四、实验代码

;这是自动生成的代码模板

STACKSSEGMENTSTACK;堆栈段

DW128DUP(?

);注意这里只有128个字节

STACKSENDS

DATASSEGMENT;数据段

XDW0

YDW0

ZDW0

ODW0

LINEDB0

POPIDB0

S1DB05H

S2DB25H

COUNTDW0

DATASENDS

CODESSEGMENT;代码段

ASSUMECS:

CODES,DS:

DATAS

START:

MOVAX,DATAS;初始化

MOVDS,AX

CALLSEARCH

MOVAH,1

MOVCH,20H

INT10H

CALLCLEAR

CALLGUANGBIAO

CALLDDD

EXIT:

MOVAX,4C00H;退出程序

INT21H

;******************读取鼠标位置及其按钮状态

SEARCHPROCNEAR

A1:

MOVAX,3

INT33H

MOVX,CX

MOVY,DX

MOVCOUNT,50H

A2:

DECCOUNT

MOVAX,03H

INT33H

CMPCOUNT,00H

JNEA2

CMPCX,X

JNEYIDONG

CMPDX,Y

JNEYIDONG

JMPA1

YIDONG:

CALLZUOBIAO

CALLCLEAR

CALLGUANGBIAO

CALLDDD

CALLMOUSE

JMPA1

RET

SEARCHENDP

;******************9

MOUSEPROCNEAR

MOVAX,5

MOVBX,0

INT33H

CMPBX,1

JEEXIT

RET

M

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

当前位置:首页 > PPT模板 > 商务科技

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

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