已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Harbin Institute of Technology计算机组成技术教程课程作业二课程名称:计算机组成技术教程题 目:数据的存储与转换的汇编程序实现院 系:班 级:姓 名:学 号:指导教师:设计时间:哈尔滨工业大学哈尔滨工业大学作业报告数据的存储与转换的汇编程序实现1. 问题重述1) 从键盘输入一串数字,即这串数字的ASCII码,由此以补码的形式将这串数字所代表的十进制数对应的二进制数存入内存中;2) 将1)存入的补码形式的二进制数取出并以十进制形式显示在屏幕上。2. 问题分析此次作业分为两个部分。首先,是将输入的ASCII码对应的十进制数转换成二进制数,并以补码形式保存;其次,将保存的补码取出、还原并以十进制格式显示。第一部分涉及到的过程有:数据的输入及保存、数据代表的十进制转换成原码二进制,原码转换成补码。第二部分涉及的过程有:补码转换为原码、原码转换为十进制、输出显示。当然,这一部分是不能利用输入时的结果来直接输出。3. 汇编程序及流程图DATA SEGMENTASCII DB 7 DUP($)BINARY DB 2 DUP(?)ASCII2 DB 7 DUP($)TEXT1 DB Input a number(-32768+32767):,$TEXT2 DB 0DH,0AH,THe input has an error!,0DH,0AH,$TEXT3 DB 0DH,0AH,The binary of the number is:,$TEXT4 DB 0DH,0AH,The ascii code of the number is:,$DATA ENDSCODE SEGMENTASSUME DS:DATA,CS:CODESTART:MOV AX,DATAMOV DS,AXMOV AH,09HLEA DX,TEXT1INT 21H;输出提示字符CALL INPUTCALL ASCIITOBINARYMOV AH,09HLEA DX,TEXT3INT 21H;输出提示字符CALL OUTPUTBINARYCALL BINARYTOASCIIMOV AH,09HLEA DX,ASCII2INT 21H;输出ASCII码EXIT:;退出程序MOV AH,4CHINT 21HINERROR:;输入错误,退出MOV AH,09HLEA DX,TEXT2INT 21HJMP EXITINPUT PROC NEAR;输入子程序PUSH AXPUSH BXPUSH CXMOV AH,01H;输入第一个字符并检测是否为+或-MOV BX,OFFSET ASCIIINT 21HCMP AL,-JZ GOONCMP AL,+JNZ INERRORGOON:MOV BX,ALINC BXMOV CX,5INLOOP:INT 21HCMP AL,0DH;输入以回车结束JZ FINISHCMP AL,0JL INERRORCMP AL,9JG INERRORMOV BX,ALINC BXLOOP INLOOPFINISH:POP CXPOP BXPOP AXRETINPUT ENDPASCIITOBINARY PROC NEAR;ASCII码转换为二进制子程序PUSH AXPUSH BXPUSH CXPUSH DXPUSH SIMOV BX,OFFSET ASCIIMOV DX,0;DX用来记录数字的个数MOV AH,0INC BXMOV CX,6BEGIN:;将输入的数字压栈MOV AL,BXCMP AL,$JZ A1SUB AX,30H;将输入的ASCII码减30H即得数字的二进制表示PUSH AXINC DXINC BXLOOP BEGINA1:MOV CX,DXMOV BX,1MOV SI,0BEGIN2:POP AXMUL BXADD SI,AXJO BMOV AX,10;BX乘以10存入BXMUL BXMOV BX,AXLOOP BEGIN2B:CMP SI,8000HJNZ INERRORMOV BX,OFFSET ASCIIMOV AL,BXCMP AL,+JE POSITIVECALL BUMAPOSITIVE:MOV BX,OFFSET BINARYMOV BX,SIPOP SIPOP DXPOP CXPOP BXPOP AXRETASCIITOBINARY ENDPBUMA PROC NEAR;求SI中所存16位二进制数的补码PUSH AXPUSH BXPUSH CXMOV CX,16MOV AX,00001HMOV BX,0FFFEHFAN:;各位取反TEST SI,AX;检验SI中各位的数是1还是0JNE ONEOR SI,AXJMP AONE:AND SI,BXA:ROL AX,1ROL BX,1LOOP FANINC SI;末位加1POP CXPOP BXPOP AXRETBUMA ENDPOUTPUTBINARY PROC NEAR;输出该数的二进制表示PUSH AXPUSH BXPUSH CXPUSH DXPUSH SIMOV BX,OFFSET BINARYMOV SI,BXMOV AX,8000HMOV CX,16TESTZERO:TEST SI,AXJNE ONE1MOV DL,0JMP A2ONE1:MOV DL,1A2:CALL OUTPUTLETTERROR AX,1LOOP TESTZEROPOP SIPOP DXPOP CXPOP BXPOP AXRETOUTPUTBINARY ENDPOUTPUTLETTER PROC NEAR;输出DL中的字符PUSH AXMOV AH,02HINT 21HPOP AXRETOUTPUTLETTER ENDPBINARYTOASCII PROC NEAR;将有符号二进制转换为ASCII码并输出PUSH BXPUSH CXPUSH DXPUSH SIMOV AH,09HLEA DX,TEXT4INT 21HMOV BX,OFFSET BINARYMOV SI,BXTEST SI,8000HJZ ZHENG2CALL BUMAMOV DL,-CALL OUTPUTLETTERZHENG2:MOV AX,SIMOV CX,0MOV BX,10BTOD1:MOV DX,0DIV BXPUSH DXINC CXOR AX,AXJNZ BTOD1MOV SI,OFFSET ASCII2BTOD2:POP DXADD DL,30HMOV SI,DLINC SILOOP BTOD2MOV DL,$MOV SI,DLPOP SIPOP DXPOP CXPOP BXRETBINARYTOASCII ENDPCODE ENDSEND START4. 程序运行结果5. 总结这次作业,以编程解决数据的存储、格式转换的方式,考察了计算机组成技术教程这门课程的多方面内容。首先,对于数据在计算机中的存储方式及形式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小区保安轮岗实施方案
- 2025年人工智能在金融领域的应用探讨可行性报告
- 生物降解产品包装回收利用方案
- 成本管控供应链金融整合实施方案
- 餐饮安全生产标准化实施方案
- 铁路改线实施方案
- 岗位分级聘任实施方案
- 养老项实施方案
- 2026年辽宁省沈阳市铁西区中考历史第一次段考试卷(含答案)
- 2025年新型防滑材料在家庭装修中的应用前景报告
- 广西壮族自治区选聘两新组织党建工作组织员笔试真题2024
- 腹膜透析患者如何预防腹膜炎
- 2025年月度工作日历含农历节假日电子表格版
- 儿童睡眠障碍的医学诊断与治疗
- 应急资源调查报告
- 劳动合同书精彩劳动合同书
- 全国各气象台站区站号及经纬度
- 高等流体力学课件
- 今日头条2013年B轮融资商业计划书PPT
- 生物化学课件:第八章 生物氧化
- 华宁县华电磷业有限责任公司大新寨磷矿矿山地质环境保护与土地复垦方案
评论
0/150
提交评论