已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验三 算术运算与代码转换程序设计一、实验目的 1)掌握算术运算程序的设计方法。2)掌握代码转换程序的设计方法。 3)进一步掌握各种程序结构。 4)熟练掌握和使用用DEBUG调试程序。 二、实验内容1)编制两个多字节整数加法和减法程序,并将结果按十六进制形式显示在屏幕上。2)编制程序实现二进制定点数与十进制数的ASCII码串之间转换,并将结果显示在屏幕上。3)编写程序计算从键盘输入两个不超过四位的十进制数的和、差、积、商,并以十进制形式输出。4)写程序把从键盘输入的四位十六进制数转换为压缩的BCD码,并显示输出。5)编写一通用过程用来将十进制数(从键盘输入)转换为P(从键盘输入)进制数。三、实验设备 PC机一台四、实验步骤 1) 按程序流程图编制实验程序。 2) 输入源程序。 3) 汇编、连接程序,执行程序,检查结果。 4) 程序的执行可用DEBUG的G命令,也可用T命令单步跟踪执行。 5) 用D命令检查执行结果。 六、源程序实验一DATASEGMENTNUM1DB22H,33H,44H,55H,66H,77HNUM1LDB6HNUM2DB22H,22H,22H,22HNUM2LDB4HOUTCOME1DB10HDUP(0)OUTCOME2DB10HDUP(0)NDB0HDATAENDSSTACK1SEGMENTPARASTACKDW20HDUP(0)STACK1ENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACK1START:MOVAX,DATAMOVDS,AXMOVCH,0MOVSI,OFFSETNUM1MOVDI,OFFSETNUM2MOVAH,NUM1LMOVAL,NUM2LCMPAH,ALJAECHAXCHGSI,DIXCHGAH,ALCHA:SUBAH,AL MOVCL,ALCLCMOVBX,OFFSETOUTCOME1LOP1:MOVAL,DIPUSHCXMOVCL,SIADCCL,ALMOVBX,CLINCBXINCSIINCDIPOPCXLOOPLOP1MOVCL,AHJCXZLOP3LOP2:PUSHCXMOVCL,BYTEPTRSIADCCL,0MOVBX,CLPOPCXINCBXINCSILOOPLOP2LOP3:MOVCH,0MOVSI,OFFSETNUM1MOVDI,OFFSETNUM2MOVAH,NUM1LMOVAL,NUM2LCMPAH,ALJAECHA1XCHGSI,DIXCHGAH,ALCHA1:SUBAH,ALMOVCL,ALCLCMOVBX,OFFSETOUTCOME2LOP11:MOVAL,DIPUSHCXMOVCL,SISBBCL,ALMOVBX,CLINCBXINCSIINCDIPOPCXLOOPLOP11MOVCL,AHJCXZLOP7LOP21:PUSHCXMOVCL,BYTEPTRSISBBCL,0MOVBX,CLPOPCXINCBXINCSILOOPLOP21LOP7:MOVDI,OFFSETOUTCOME1ADDDI,10HMOVCX,11HLOP4:MOVDL,DIDECDICMPN,0HJNELOP5CMPDL,0HJELOP9LOP5:PUSHDXPUSHCXMOVCL,4HSHRDL,CLPOPCXCMPDL,9HJBELOP6ADDDL,7HLOP6:ADDDL,30HMOVAH,2INT21HMOVN,1HPOPDXANDDX,0FHCMPDL,9HJBELOP8ADDDL,7HLOP8:ADDDL,30HMOVAH,2INT21HMOVDL,HMOVAH,2INT21HLOP9:LOOPLOP4MOVN,0MOVDI,OFFSETOUTCOME2ADDDI,10HMOVCX,11HLOP14:MOVDL,DIDECDICMPN,0HJNELOP15CMPDL,0HJELOP19LOP15:PUSHDXPUSHCXMOVCL,4HSHRDL,CLPOPCXCMPDL,9HJBELOP16ADDDL,7HLOP16:ADDDL,30HMOVAH,2INT21HMOVN,1HPOPDXANDDX,0FHCMPDL,9HJBELOP18ADDDL,7HLOP18:ADDDL,30HMOVAH,2INT21HMOVDL,HMOVAH,2INT21HLOP19:LOOPLOP14MOVAH,4CHINT21HCODEENDSENDSTART实验2DATASEGMENTTISHI1DBPleaseenterthefirstnumber:,$TISHI2DBPleaseenterthesecondnumber:,$JIADB+,$JIANDB-,$CHENGDB*,$CHUDB/,$DENGDB=,$YUDB.,$ADB10BDW10CDW10000FDW0HNUM1DW0HNUM2DW0HNDB0HN1DB4HDATAENDSSTACK1SEGMENTSTACKDW30HDUP(0)STACK1ENDSCODESSEGMENTASSUMECS:CODES,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVDX,OFFSETTISHI1MOVAH,09HINT21HLOOP2:MOVAX,NUM1MULBMOVBX,AXMOVAH,1INT21HCMPAL,0DHJELOP1MOVNUM1,BXMOVAH,0SUBAL,30HADDNUM1,AXJMPLOOP2LOP1:MOVDL,0AH输出换行和回车MOVAH,2INT21HMOVDL,0DHMOVAH,2INT21HMOVDX,OFFSETTISHI2MOVAH,09HINT21HLOOP1:MOVAX,NUM2MULBMOVBX,AXMOVAH,1INT21HCMPAL,0DHJELOP3MOVNUM2,BXMOVAH,0SUBAL,30HADDNUM2,AXJMPLOOP1LOP3:MOVDL,0AH输出换行和回车 MOVAH,2INT21HMOVDL,0DHMOVAH,2INT21HMOVN,0MOVDX,NUM1MOVF,DXLOP6:MOVDX,0HMOVAX,FDIVBPUSHDXINCNCMPAX,0HJELOP7MOVF,AXJMPLOP6LOP7:MOVCL,NMOVCH,0LOP16:POPDXADDDX,30HMOVAH,2INT21HLOOPLOP16MOVDX,NUM2MOVF,DXMOVN,0MOVDX,OFFSETJIAMOVAH,09HINT21HLOOOP6:MOVDX,0HMOVAX,FDIVBPUSHDXINCNCMPAX,0HJELOOOP7MOVF,AXJMPLOOOP6LOOOP7:MOVCL,NMOVCH,0LOOOP16:POPDXADDDX,30HMOVAH,2INT21HLOOPLOOOP16MOVDX,OFFSETDENGMOVAH,09HINT21HMOVN,0LOOP3:MOVAX,NUM1ADDAX,NUM2MOVF,AXLOOP4:MOVDX,0HMOVAX,FDIVBPUSHDXINCNCMPAX,0HJELOOP5MOVF,AXJMPLOOP4LOOP5:MOVCL,NMOVCH,0LOOP0:POPDXADDDX,30HMOVAH,2INT21HLOOPLOOP0MOVDL,0AH输出换行和回车MOVAH,2INT21HMOVDL,0DHMOVAH,2INT21HMOVN,0MOVDX,NUM1MOVF,DXLOP61:MOVDX,0HMOVAX,FDIVBPUSHDXINCNCMPAX,0HJELOP71MOVF,AXJMPLOP61LOP71:MOVCL,NMOVCH,0LOP161:POPDXADDDX,30HMOVAH,2INT21HLOOPLOP161MOVDX,NUM2MOVF,DXMOVN,0MOVDX,OFFSETJIANMOVAH,09HINT21HLOOOP61:MOVDX,0HMOVAX,FDIVBPUSHDXINCNCMPAX,0HJELOOOP71MOVF,AXJMPLOOOP61LOOOP71:MOVCL,NMOVCH,0LOOOP161:POPDXADDDX,30HMOVAH,2INT21HLOOPLOOOP161MOVDX,OFFSETDENGMOVAH,09HINT21HMOVN,0MOVN,0MOVAX,NUM1SUBAX,NUM2MOVF,AXANDAX,10000000BCMPAX,10000000BJNELOOP6NEGFLOOP6:MOVDX,0MOVAX,FDIVBPUSHDXINCNCMPAX,0HJELOOP7MOVF,AXJMPLOOP6LOOP7:MOVCL,NMOVCH,0LOOP16:POPDXADDDX,30HMOVAH,2INT21HLOOPLOOP16MOVDL,0AH输出换行和回车MOVAH,2INT21HMOVDL,0DHMOVAH,2INT21HMOVN,0MOVDX,NUM1MOVF,DXLOP62:MOVDX,0HMOVAX,FDIVBPUSHDXINCNCMPAX,0HJELOP72MOVF,AXJMPLOP62LOP72:MOVCL,NMOVCH,0LOP162:POPDXADDDX,30HMOVAH,2INT21HLOOPLOP162MOVDX,NUM2MOVF,DXMOVN,0MOVDX,OFFSETCHENGMOVAH,09HINT21HLOOOP62:MOVDX,0HMOVAX,FDIVBPUSHDXINCNCMPAX,0HJELOOOP72MOVF,AXJMPLOOOP62LOOOP72:MOVCL,NMOVCH,0LOOOP162:POPDXADDDX,30HMOVAH,2INT21HLOOPLOOOP162MOVDX,OFFSETDENGMOVAH,09HINT21HMOVN,0MOVAX,NUM1MULNUM2DIVCPUSHDXMOVF,AXMOVN,0LOOP8:MOVDX,0MOVAX,FDIVBPUSHDXINCNCMPAX,0HJELOOP9MOVF,AXJMPLOOP8LOOP9:MOVCL,NMOVCH,0LOOP17:POPDXADDDX,30HMOVAH,2INT21HLOOPLOOP17MOVN,0POPFLOOP10:MOVDX,0HMOVAX,FDIVBPUSHDXINCNCMPAX,0HJELOOP11MOVF,AXJMPLOOP10LOOP11:MOVAL,NCMPAL,4HJELOOP20MOVAL,4HSUBAL,NMOVCL,ALMOVCH,0LOOP19:MOVDX,0MOVAH,2INT21HLOOPLOOP19LOOP20:MOVCL,NMOVCH,0LOOP18:POPDXADDDX,30HMOVAH,2INT21HLOOPLOOP18MOVDL,0AH输出换行和回车MOVAH,2INT21HMOVDL,0DHMOVAH,2INT21HMOVN,0MOVDX,NUM1MOVF,DXLOP64:MOVDX,0HMOVAX,FDIVBPUSHDXINCNCMPAX,0HJELOP74MOVF,AXJMPLOP64LOP74:MOVCL,NMOVCH,0LOP164:POPDXADDDX,30HMOVAH,2INT21HLOOPLOP164MOVDX,NUM2MOVF,DXMOVN,0MOVDX,OFFSETchuMOVAH,09HINT21HLOOOP64:MOVDX,0HMOVAX,FDIVBPUSHDXINCNCMPAX,0HJELOOOP74MOVF,AXJMPLOOOP64LOOOP74:MOVCL,NMOVCH,0LOOOP164:POPDXADDDX,30HMOVAH,2INT21HLOOPLOOOP164MOVDX,OFFSETDENGMOVAH,09HINT21HMOVN,0MOVAX,NUM1MOVDX,0DIVNUM2PUSHDXMOVF,AXMOVN,0LOOP15:MOVDX,0MOVAX,FDIVBPUSHDXINCNCMPAX,0HJELOOP12MOVF,AXJMPLOOP15LOOP12:MOVCL,NMOVCH,0LOOP21:POPDXADDDX,30HMOVAH,2INT21HLOOPLOOP21MOVDX,OFFSETYUMOVAH,09HINT21HPOPFMOVN,0LOOP13:MOVDX,0MOVAX,FDIVBPUSHDXINCNCMPAX,0HJELOOP14MOVF,AXJMPLOOP13LOOP14:MOVCL,NMOVCH,0HLOOP22:POPDXADDDX,30HMOVAH,2INT21HLOOPLOOP22MOVAH,4CHINT21HCODESENDSENDSTART实验五 输入输出程序设计 一、实验目的 1) 掌握输入输出程序的编写方法。 2) 熟悉系统功能调用的方法。 3) 熟悉动画程序的编写方法。 二、实验内容 1)在CRT上每隔一秒连续显示字符09。 编程提示 为了使输出的字符之间有空格,在每一个循环中输出一个09的字符和一个空格。为了输出09,置寄存器BL初值为0,每循环一次使其增量。为了保证输出是十进制,增量后用DAA调整指令。由于输出为一位十进制数,用AND 0FH指令屏蔽高4位。 2)用系统功能调用将HELLO由键盘输入,再从屏幕输出*HELLO*。 3)编制在屏幕上画线的子程序,调用该子程序画一矩形。4)编制字母下落一行的子程序,调用该子程序使字母从屏幕顶部下落到底部。5)创建一磁盘文件,保存从键盘输入的字符串。6)编写程序用设置系统时间,首先从键盘以十进制数形式输入时间,然后修改系统时间,并重新以十进制形式显示时间。7)编写程序将屏幕分割成格状,每一格涂上不同颜色,格数从键盘输入。8)编写程序在屏幕上显示菜单,输入相应菜单的序号后,选种该菜单项。三、实验设备 PC机一台 四、实验步骤 1)按程序流程图编制实验程序。 2) 输入源程序。 3) 汇编、连接程序,执行程序,检查结果。 4) 程序的执行可用DEBUG的G命令,也可用T命令单步跟踪执行。5、 源程序实验五 EXAM51 STACK SEGMENT STACK DB 1024 DUP(0)STACK ENDSCODE SEGMENT ASSUME CS:CODE,SS:STACKSTART: MOV BL, 0 LP: MOV DL, 20H MOV AH, 2 INT 21H MOV AL, BL ADD AL, 0 DAA AND AL, 0FH MOV BL, AL PUSH BX OR AL, 30H MOV DL, AL MOV AH, 2 INT 21H MOV BX, 3E8H LP2: MOV CX, 176H ;延时1ms LP1: PUSHF POPF LOOP LP1 DEC BX JNZ LP2 POP BX INC BL JMP LPCODE ENDS END START执行程序EXAM51EXE,屏幕上依次循环显示一个数字一个空格:0 1 2 3 4 5 6 7 8 9 实验五 EXAM5-2 STACK SEGMENT STACK DB 1024 DUP(0)STACK ENDSDATA SEGMENTBUFF DB 6,7 DUP(?),$DATA ENDSINPUT MACRO BUFE MOV DX, OFFSET BUFE MOV AH, 0AH INT 21H ENDMPUTCHAR MACRO CHAR MOV DL, CHAR MOV AH, 02H INT 21H ENDMCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX, DATA MOV DS, AX INPUT BUFF ;读取字符串BUFF PUTCHAR 0DH PUTCHAR 0AH ;光标另起一行 MOV CX, 0003HNEXT:PUTCHAR 2AH LOOP NEXT MOV CL, BUFF+1 SUB CH, CH MOV BX, OFFSET BUFF+2BEGIN: MOV AL, BX PUTCHAR AL INC BX LOOP BEGIN MOV CX, 0003HNEXT1: PUTCHAR 2AH LOOP NEXT1 MOV AH, 4CH INT 21HCODE ENDS END START执行程序EXAM52EXE,输入HELLO屏幕上显示结果:* HELLO * 实验五 EXAM5-5 NAME EXAM6 SSTACK SEGMENT STACK stack DB 1024 DUP(?) SSTACK ENDS DATA SEGMENT ASKNAME DB 0DH,0AH,Enter the DB dest file name:$ ASKCONT DB 0DH,0AH,Enter the string DB as file content:0dh,0ah,$ FILEBUF DB 62,63DUP(?) HANDD DW? MSGMER DB 0DH,0AH,0AH DB Directory full,0DH,0AH,$ MSGWER DB 0DH,0AH,0AH DB isk full,0DH,0AH,$ MSGSUC DB 0DH,0AH,0AH, DB Write file is Successful DB 0DH,0AH,$ DATA ENDS DISPLY MACRO TEXT MOV DX,OFFSET TEXT MOV AH,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国稀土招聘笔试题及答案
- 新房换房协议书范本
- 文化活动共建协议书
- 交换公司车辆协议书
- 水暖地暖安装合同范本
- 槟榔行业保密协议书
- 栏杆劳务分包合同范本
- 楼上住户签合同范本
- 2025年绵阳市中考化学试卷真题(含答案)
- 食堂服务安全协议合同
- 教学能力大赛-教学实施报告《大学英语2c》
- 邻近铁路营业线施工安全监测技术规程 (TB 10314-2021)
- 国企园林公司招聘笔试题
- 企业咨询报告范文模板
- 高中语文北师大(必修3)第四单元课件:第12课《论睁了眼看》
- MySQL数据库PPT完整全套教学课件
- 小洋葱大作战【经典绘本】
- 护理查房阴茎癌护理
- 旅行社经营管理第七章课件
- 岩石破裂数值方法
- 2023年ITIL 4 Foundation中文考试预测试题库(含答案)
评论
0/150
提交评论