版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验三算术运算与代码转换程序设计
一'实验目的
1)掌握算术运算程序的设计方法。
2)掌握代码转换程序的设计方法。
3)进一步掌握各种程序结构。
4)纯熟掌握和使用用DEBUG调试程序。
二'实验内容
1)编制两个多字节整数加法和减法程序,并将结果按十六进制形式显示在
屏幕上。
2)编制程序实现二进制定点数与十进制数的ASCII码串之间转换,并将结
果显示在屏幕上。
3)编写程序计算从键盘输入两个不超过四位的十进制数的和、差、积、商,
并以十进制形式输出。
4)写程序把从键盘输入的四位十六进制数转换为压缩的BCD码,并显示输出。
5)编写一通用过程用来将十进制数(从键盘输入)转换为P(从键盘输入)进
制数。
三、实验设备
PC机一台
四、实验环节
1)按程序流程图编制实验程序。
2)输入源程序。
3)汇编、连接程序,执行程序,检查结果。
4)程序的执行可用DEBUG的G命令,也可用T命令单步跟踪执行o
5)用D命令检查执行结果。
六、源程序
实验一
DATASEGMENT
NUM1DB22H,33H,44H,55H,66H,77H
NUM1LDB6H
NUM2DB22H,22H,22H,22H
NUM2LDB4H
0UTC0ME1DB10HDUP(O)
OUTCOME2DB10HDUP(0)
NDBOH
DATAENDS
STACKISEGMENTPARASTACK
DW2011DUP(O)
STACKIENDS
CODESEGMENT
ASSUMECS:CODE,DS:DATA,SS:STACK1
START:MOVAX,DATA
MOVDS,AX
MOVCH,0
MOVSI,OFFSETNUM1
MOVDI,OFFSETNUM2
MOVAH,NUM1L
MOVAL,NUM2L
CMPAH,AL
JAECHA
XCHGSI,DI
XCHGAH,AL
CHA:SUBAH,AL
oMOVCL,AL
CLC
MOVBX,OFFSETOUTCOME1
LOP1:MOVAL,[DI]
PUSHCX
MOVCL,[SI]
ADCCL,AL
MOV[BX],CL
INCBX
INCSI
INCDI
POPCX
LOOPLOPl
MOVCL,AH
JCXZLOP3
LOP2TUSHCX
MOVCL,BYTEPTR[SI]
ADCCL,0
MOV[BX],CL
POPex
INCBX
INCSI
LOOPLOP2
LOP3:MOVCH,0
MOVSI,OFFSETNUM1
MOVDI.OFFSETNUM2
MOVAH,NUMIL
MOVAL,NUM2L
CMPAH,AL
JAECHA1
XCHGSI,DI
XCHGAH,AL
CHAI:SUBAH,AL
MOVCL,AL
CLC
MOVBX,OFFSETOUTCOME2
LOPlkMOVAL,[DI]
PUSHCX
MOVCLJSI]
SBBCL,AL
MOV[BX],CL
INCBX
INCSI
INCDI
POPex
LOOPLOP11
MOVCL,AH
JCXZLOP7
LOP21:PUSHCX
MOVCL,BYTEPTR[Si]
SBBCL,0
MOV[BX],CL
P0PCX
INCBX
INCSI
LOOPLOP21
LOP7:MOVDI,OFFSETOUTCOME1
ADDDIJ0H
MOVCX,11H
LOP4:MOVDL,[DI]
DECDI
CMPN,0H
JNELOP5
CMPDL,0H
JELOP9
LOP5:PUSHDX
PUSHCX
MOVCL,4H
SHRDL,CL
POPCX
CMPDL,9H
JBELOP6
ADDDL,7H
LOP6:ADDDL,30H
MOVAH,2
INT21H
MOVN,1H
POPDX
ANDDX,0FH
CMPDL,9H
JBELOP8
ADDDL,7H
LOP8:ADDDL,30H
MOVAH,2
1NT21H
MOVDL,H
MOVAH,2
INT21H
LOP9:LOOPLOP4
MOVN,0
MOVDI,OFFSETOUTCOME2
ADDDI,1OH
MOVCX,11H
LOP14:MOVDL,[DI]
DECDI
CMPN,0H
JNELOP15
CMPDL,0H
JELOP19
LOP15:PUSHDX
PUSHCX
MOVCL,4H
SHRDL,CL
POPex
CMPDL,9H
JBELOP16
ADDDL,7H
LOP16:ADDDL,30H
MOVAH,2
INT21H
MOVN,1H
POPDX
ANDDX,0FH
CMPDL,9H
JBELOP18
ADDDL,7H
LOP18:ADDDL,30H
M0VAH,2
INT21H
MOVDL/H'
MOVAH,2
INT21H
LOP19:LOOPLOP14
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
实验2
DATASEGMENT
TISHIIDB1PIeaseenterthefirstnumber:1,$
TISHI2DB1Pleaseenterthesecondnumber:',$
JIADB'+*,'$z
JIANDB'-'/$'
CHENGDB咒$
CHUDB7,
DENGDB'=*,$
YUDB'.........VS,
ADB10
BDW10
CDW10000
FDWOH
NUM1DWOH
NUM2DWOH
NDBOH
N1DB4H
DATAENDS
STACK1SEGMENTS?ACK
DW3OHDUP(0)
STACK1ENDS
CODESSEGMENT
ASSUMECSCODES,DS:DATA
START:MOVAX,DATA
MOVDS,AX
MOVDX,OFFSETTISHI1
MOVAH,09H
INT21H
LOOP2:MOVAX,NUM1
MULB
MOVBX,AX
MOVAH,1
INT21H
CMPAL,0DH
JELOP1
MOVNUM1,BX
MOVAH,0
SUBAL,30H
ADDNUM1,AX
JMPLOOP2
LOP1:MOVDL,OAH输出换行和回车
MOVAH,2
INT21H
MOVDL,0DH
MOVAH,2
INT21H
MOVDX,OFFSETTISHI2
MOVAH,09H
INT21H
LOOP1:MOVAX,NUM2
MULB
0MOVBX,AX
MOVAH,1
INT21H
CMPALQDH
JELOP3
MOVNUM2,BX
MOVAH,0
SUBAL,30H
ADDNUM2,AX
JMPLOOP1
LOP3:MOVDL,OAH输出换行和回车
MOVAH,2
INT21H
MOVDL,0DH
MOVAH,2
INT21H
MOVN,0
MOVDX,NUM1
MOVF,DX
LOP6:MOVDX,0H
MOVAX,F
DIVB
PUSHDX
INCN
CMPAX,0H
JELOP7
MOVF,AX
JMPLOP6
LOP7:MOVCL,N
MOVCH,0
LOP16:POPDX
ADDDX,3OH
MOVAH,2
INT21H
LOOPLOP16
MOVDX,NUM2
MOVF,DX
MOVN,0
MOVDX,OFFSETJIA
MOVAH,09HINT21H
LOOOP6:MOVDX,OH
MOVAX,F
DIVB
PUSHDX
INCN
CMPAX,0H
JELOOOP7
MOVF,AX
JMPLOOOP6
LOOOP7:MOVCL,N
MOVCH,0
LOOOP16:POPDX
ADDDX,3OH
MOVAH,2
INT2IH
LOOPLOOOP16
MOVDX,OFFSETDENG
MOVAH,09H
INT21H
MOVN,0
LOOP3:MOVAX,NUM1
ADDAX,NUM2
MOVF,AX
LOOP4:MOVDX,OH
MOVAX,F
DIVB
PUSHDX
INCN
CMPAX,OH
JELOOP5
MOVF,AX
JMPLOOP4
LOOP5:MOVCL,N
MOVCH,0
LOOP0:POPDX
ADDDX,30H
MOVAH,2
INT21H
LOOPLOOPO
MOVDL,0AH输出换行和回车
MOVAH,2
INT21H
MOVDL,ODH
MOVAH,2
INT21H
MOVN,0
MOVDX,NUM1
MOVF,DX
L0P61:MOVDX,OH
MOVAX,F
DIVB
PUSHDX
INCN
CMPAX,OH
JELOP71
MOVF,AX
JMPLOP61
LOP71:MOVCL,N
MOVCH,0
LOP161:POPDX
ADDDX,30H
MOVAH,2
INT21H
LOOPLOP161
M0VDX,NUM2
MOVF,DX
MOVN,0
MOVDX,OFFSETJIAN
MOVAH,09HINT21H
LOOOP61:MOVDX,0H
MOVAX,F
DIVB
PUSHDX
INCN
CMPAX,OH
JELOOOP71
MOVF,AX
JMPLOOOP61
LOOOP71:MOVCL,N
MOVCH,0
LOOOP161:POPDX
ADDDX,30H
MOVAH,2
INT21H
LOOPLOOOP161
MOVDX,OFFSETDENG
MOVAH,09H
INT21H
MOVN,0
MOVN,0
MOVAX,NUMI
SUBAX,NUM2
MOVF,AX
ANDAX,1000000OB
CMPAX,10000000B
JNELOOP6
NEGF
LOOP6:MOVDX,0
MOVAX,F
DIVB
PUSHDX
INCN
CMPAX,OH
JEL00P7
MOVF,AX
JMPLOOP6
L00P7:M0VCL,N
MOVCH,0
LOOP16:POPDX
ADDDX,30H
MOVAH,2
INT21H
LOOPLOOP16
MOVDL,OAH输出换行和回车
MOVAH,2
INT21H
MOVDL.ODH
MOVAH,2
INT21H
MOVN,0
MOVDX,NUM1
MOVF,DX
LOP62:MOVDX,OH
MOVAX,F
DIVB
PUSHDX
INCN
CMPAX,OH
JELOP72
MOVF,AX
JMPLOP62
LOP72:MOVCL,N
MOVCH,0
L0P162:POPDX
ADDDX,30H
MOVAH,2
INT21H
LOOPLOP162
MOVDX,NUM2
MOVF,DX
MOVN,0
MOVDX,OFFSETCHENG
MOVAH,09H
INT21H
LOOOP62:MOVDX,OH
MOVAX,F
DIVB
PUSHDX
INCN
CMPAX,OH
JELOOOP72
MOVF,AX
JMPLOOOP62
LOOOP72:MOVCL,N
MOVCH,0
LOOOP162:POPDX
ADDDX,3OH
MOVAH,2
INT21H
LOOPLOOOP162
MOVDX,OFFSETDENG
MOVAH,09H
INT21H
MOVN,0
MOVAX,NUM1
MULNUM2
DIVC
PUSHDX
MOVF,AX
MOVN,0
LOOP8:MOVDX,0
MOVAX,F
DIVB
PUSHDX
INCN
CMPAX,OH
JELOOP9
MOVF,AX
JMPLOOP8
LOOP9:MOVCL,N
MOVCH,0
LOOP17:POPDX
ADDDX,30H
MOVAH,2
INT21H
LOOPLOOP17
MOVN,0
POPF
LOOP10:MOVDX,0H
MOVAX,F
DIVB
PUSHDX
INCN
CMPAX,0H
JELOOP11
MOVF,AX
JMPLOOPIO
LOOPlkMOVAL,N
CMPAL,4H
JELOOP20
MOVAL,4H
SUBAL,N
MOVCL,AL
MOVCH,0
LOOP19:MOVDX,O
MOVAH,2
INT21H
LOOPLOOP19
LOOP20:MOVCL,N
MOVCH,0
LOOP18:POPDX
ADDDX,30H
MOVAH,2
INT21H
LOOPLOOP18
MOVDL,OAH输出换行和回车
MOVAH,2
INT21H
MOVDL,ODH
MOVAH,2
INT21H
MOVN,0
MOVDX,NUM1
MOVF,DX
LOP64:MOVDX,0H
MOVAX,F
DIVB
PUSHDX
INCN
CMPAX,0H
JELOP74
MOVF,AX
JMPLOP64
LOP74:MOVCL,N
MOVCH,0
LOP164:POPDX
ADDDX,30H
MOVAH,2
INT21H
LOOPLOP164
MOVDX,NUM2
MOVF,DX
MOVN,0
MOVDX,OFFSETchu
MOVAH,09H
INT21H
LOOOP64:MOVDX,OH
MOVAX,F
DIVB
PUSHDX
INCN
CMPAX,OH
JELOOOP74
MOVF,AX
JMPLO00P64
LOOOP74:MOVCL,N
MOVCH,0
LOOOP164:POPDX
ADDDX,30H
MOVAH,2
INT21H
LOOPLOOOP164
MOVDX,OFFSETDENG
MOVAH,09H
INT21H
MOVN,0
MOVAX,NUM1
MOVDX,0
DIVNUM2
PUSHDX
MOVF,AX
MOVN,0
LOOP15:MOVDX,0
MOVAX,F
DIVB
PUSHDX
INCN
CMPAX,OH
JELOOP12
MOVF,AX
JMPL0OP15
LOOP12:MOVCL,N
MOVCH,0
LOOP21:POPDX
ADDDX,30H
MOVAH,2
INT21H
LOOPLOOP21
MOVDX,OFFSETYU
MOVAH,09H
INT21H
POPF
MOVN,0
LOOP13:MOVDX,0
MOVAX,F
DIVB
PUSHDX
INCN
CMPAX,OH
JELOOP14
MOVF,AX
JMPLOOP13
LOOP14:MOVCL,N
MOVCH,OH
LOOP22:POPDX
ADDDX,3OH
MOVAH,2
INT21H
LOOPLOOP22
MOVAH,4CH
INT21H
CODESENDS
ENDSTART
实验五输入输出程序设计
一'实验目的
1)掌握输入输出程序的编写方法。
2)熟悉系统功能调用的方法。
3)熟悉动画程序的编写方法。
二'实验内容
1)在CRT上每隔一秒连续显示字符0—9。
编程提醒
为了使输出的字符之间有空格,在每一个循环中输出一个0-9的字符和一
个空格。为了输出0—9,置寄存器BL初值为0,每循环一次使其增量。为了保证
输出是十进制,增量后用DAA调整指令。由于输出为一位十进制数,用AND0FH
指令屏蔽高4位。
2)用系统功能调用将‘HELLO'由键盘输入,再从屏幕输出,***HELLO
***'O
3)编制在屏幕上画线的子程序,调用该子程序画一矩形。
4)编制字母下落一行的子程序,调用该子程序使字母从屏幕顶部下落到底
部。
5)创建一磁盘文献,保存从键盘输入的字符串。
6)编写程序用设立系统时间,一方面从键盘以十进制数形式输入时间,然后修改系统时
间,并重新以十进制形式显示时间。
7)编写程序将屏幕分割成格状,每一格涂上不同颜色,格数从键盘输入。
8)编写程序在屏幕上显示菜单,输入相应菜单的序号后,选种该菜单项。
三'实验设备
PC机一台
四'实验环节
⑴按程序流程图编制实验程序。
2)输入源程序。
。3)汇编、连接程序,执行程序,检查结果。
4)程序的执行可用DEBUG的G命令,也可用T命令单步跟踪执行。
五、源程序
实验五EXAM5-1
STACKSEGMENTSTACK
DB1024DUP(O)
STACKENDS
CODESEGMENT
ASSUMECS:CODE,SS:STACK
START:MOVBL,0
LP:MOVDL,2OH
MOVAH,2
INT2IH
MOVAL,BL
ADDAL,0
DAA
ANDAL,OFH
MOVBL,AL
PUSHBX
ORAL,3OH
MOVDL,AL
MOVAH,2
INT21H
MOVBX,3E8H
LP2:MOVCX,176H;延时1ms
LP1:PUSHF
POPF
LOOPLP1
DECBX
JNZLP2
POPBX
INCBL
JMPLP
CODEENDS
ENDSTART
执行程序EXAM5-1•EXE,屏幕上依次循环显示一个数字一个空格:
0123456789
实验五EXAM5-2
STACKSEGMENTSTACK
DB1024DUP(O)
STACKENDS
DATASEGMENT
BUFFDB6,7DUP(?),$
DATAENDS
INPUTMACROBUFE
MOVDX,OFFSETBUFE
MOVAH,OAH
INT21H
ENDM
PUTCHARMACROCHAR
MOVDL,CHAR
MOVAH,02H
INT21H
ENDM
CODESEGMENT
ASSUMECS:CODE,DS:DATA,SS:STACK
START:MOVAX,DATA
MOVDS,AX
INPUTBUFF;读取字符串TBUFF
PUTCHARODH
PUTCHAROAH;光标另起一行
MOVCX,0003H
NEXT:PUTCHAR2AH
LOOPNEXT
MOVCL,BUFF+1
SUBCH,CH
MOVBX,OFFSETBUFF+2
BEGIN:MOVAL,[BX]
PUTCHARAL
INCBX
LOOPBEGIN
MOVCX,0003H
NEXT1:PUTCHAR2AH
LOOPNEXT1
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
执行程序EXAM5-2-EXE,输入HELL0/屏幕上显示结果:
***HELL0***
实验五EXAM5-5
NAMEEXAM6
SSTACKSEGMENTSTACK'stack'
DB1024DUP(?)
SSTACKENDS
DATASEGMENT
ASKNAMEDBODH,OAH,'Enterthe'
DB'destfi1ename:$'
ASKCONTDB0DH,0AH,'Enterthestring'
DBasfilecontent:'Odh,Oah,'$5
FILEBUFDB62,63DUP(?)
HANDDDW?
MSGMERDBODH,OAH,OAH
DB'Directoryful1',0DH,0AH,'$'
MSGWERDB0DH,0AH,OAH
DB'Diskful1,,0DH,0AH,,$,
MSGSUCDBODH,0AH,0AH,
DB'WritefileisSuecessfuf
DBODH,0AH,'
DATAENDS
DISPLYMACROTEXT
MOVDX,OFFSETTEXT
MOVAH,09H
INT21H
ENDM
CRHANDMACROPATH,ATTR
MOVDX,OFFSETPATH;文
献名
MOVCL,ATT
R;文献属性
XORCH,CH
MOVAH,3CH
INT21H
ENDM
WRHANDMACROHAND,BUFF,BYTE
MOVBX,HAND
MOVDX,OFFSETBUFF
ADDDX,2
MOVCL,BYTE
XORCH,CH
MOVAH,4OH
INT21H
ENDM
CLHANDMACROHAND
MOVBX,H
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 地铁司机培训试卷及答案解析
- 2026年计算机网络安全专项题库
- 2026年造价工程师专业实务模拟试题
- 2026年公共安全与事故预防知识竞赛试题
- 2026年健康素养与疾病预防测试
- 2026年江苏省部编版七年级语文下册第12章综合测试卷
- 2026年消防安全与消防器材习题集
- 2026年辽宁省部编版高中政治下册时事政治专项训练
- 2026年江苏省人教版一年级语文下册第3单元同步练习题
- 2026年公共服务意识与素养考核试题
- 内蒙古森工集团笔试内容题目及答案解析
- 2026芯片设计标杆企业组织效能报告
- 2026年新疆医科大学第四附属医院(新疆维吾尔自治区中医医院)招聘编制外工作人员(125人)笔试备考题库及答案详解
- 2026-2030智能语音行业市场深度调研及发展趋势与投资前景研究报告
- 2026年全国保密教育线上培训考试题库(含标准答案)
- 检修班组长安全职责与管理能力提升培训
- GB/T 47551-2026塑料有害物质限量要求多溴联苯和多溴二苯醚
- 南京社区工作者考试题库答案
- 2025年融资担保公司《担保业务知识》真题及答案解析
- 2025年铁路桥隧工(技师)职业技能鉴定考试题库(含答案)
- 医院健康科普品牌矩阵的构建策略
评论
0/150
提交评论