预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共16页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

实验三算术运算与代码转换程序设计一、实验目的1)掌握算术运算程序的设计方法。2)掌握代码转换程序的设计方法。3)进一步掌握各种程序结构。4)熟练掌握和使用用DEBUG调试程序。二、实验内容2)编制程序实现二进制定点数与十进制数的ASCII码串之间转换,并将结果显示在屏幕上。3)编写程序计算从键盘输入两个不超过四位的十进制数的和、差、积、商,并以十进制形式输出。三、实验设备PC机一台四、实验步骤1)按程序流程图编制实验程序。2)输入源程序。3)汇编、连接程序,执行程序,检查结果。4)程序的执行可用DEBUG的G命令,也可用T命令单步跟踪执行。5)用D命令检查执行结果。五、程序源代码2)DATASEGMENTBIN1DW0101101101101001BDEC1DB6DUP(0)DATAENDSSTACKlSEGMENTPARASTACKDW20HDUP(0)STACKlENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKlSTART:MOVAX,DATAMOVDS,AXMOVDX,BIN1MOVDI,OFFSETDEC1MOVCX,0;CX存放10进制数位数,初值置0LOP1:PUSHCXMOVAX,DXMOVDX,0MOVCX,10DIVCX;除以10,余数在DX,商在AXXCHGAX,DX;余数和商交换ADDAL,30H;余数形成ASCII码MOV[DI],AL;存储INCDIPOPCXINCCX;10进制数位数计数器加1CMPDX,0JNZLOP1;商不等于0,继续DEC2:DECDI;商等于0,则输出MOVAL,[DI]MOVDL,ALMOVAH,2INT21HLOOPDEC2MOVAH,4CHINT21HCODEENDSENDSTART3).MODELSMALLCodeSegmentAssumeCS:Code,DS:codeCRequ000DHLFequ000AHKBBackequ0008H;-------------------------------------;功能:显示指定地址(Str_Addr)的字符串;入口:;Str_Addr=字符串地址(要求在数据段);用法:OutputStr_Addr;用法举例:OutputPromptStrOutputMACROStr_Addrleadx,Str_Addrmovah,9int21hEndM;-------------------------------------;功能:输出一个字符;入口:dl=要显示的字符Output_ChrprocNearpushaxmovah,02hint21hpopaxretOutput_Chrendp;-------------------------------------;功能:输出回车换行Output_CTLFprocNearpushaxpushdxmovah,02hmovdl,0dhint21hmovdl,0ahint21hpopdxpopaxretOutput_CTLFendp;-------------------------------------;功能:取光标位置;入口:无;出口:DH=行号,DL=列号GetCursorProcNearPUSHAXPUSHBXPUSHCXXORBX,BXMOVAH,3INT10HMOVCursor_Row,DHMOVCursor_Col,DLPOPCXPOPBXPOPAXRETCursor_RowDB?Cursor_ColDB?GetCursorEndP;-------------------------------------;功能:置光标位置;入口:Cursor_Row=行坐标;Cursor_Col:列坐标)SetCursorProcNearPUSHCXPUSHBXPUSHAXMOVDH,Cursor_RowMOVDL,Cursor_ColXORBX,BXMOVAH,2INT10HPOPAXPOPBXPOPCXRETSetCursorEndP;-------------------------------------;功能:键盘输入一个指定位数的十进制数字,将其转换成二进制数并保存在指定的内存单元。;由于限定最大数据类型为字,所以,数字位数最多