- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机组成作业课程作业二
Harbin Institute of Technology
《计算机组成技术教程》课程作业二
课程名称: 计算机组成技术教程
题 目: 数据的存储与转换
的汇编程序实现
院 系:
班 级:
姓 名:
学 号:
指导教师:
设计时间:
哈尔滨工业大学数据的存储与转换的汇编程序实现
问题重述
从键盘输入一串数字,即这串数字的ASCII码,由此以补码的形式将这串数字所代表的十进制数对应的二进制数存入内存中;
将1)存入的补码形式的二进制数取出并以十进制形式显示在屏幕上。
问题分析
此次作业分为两个部分。首先,是将输入的ASCII码对应的十进制数转换成二进制数,并以补码形式保存;其次,将保存的补码取出、还原并以十进制格式显示。
第一部分涉及到的过程有:数据的输入及保存、数据代表的十进制转换成原码二进制,原码转换成补码。
第二部分涉及的过程有:补码转换为原码、原码转换为十进制、输出显示。当然,这一部分是不能利用输入时的结果来直接输出。
汇编程序及流程图
DATA SEGMENT
ASCII 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 ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE
START:
MOV AX,DATA
MOV DS,AX
MOV AH,09H
LEA DX,TEXT1
INT 21H ;输出提示字符
CALL INPUT
CALL ASCIITOBINARY
MOV AH,09H
LEA DX,TEXT3
INT 21H ;输出提示字符
CALL OUTPUTBINARY
CALL BINARYTOASCII
MOV AH,09H
LEA DX,ASCII2
INT 21H ;输出ASCII码
EXIT: ;退出程序
MOV AH,4CH
INT 21H
INERROR: ;输入错误,退出
MOV AH,09H
LEA DX,TEXT2
INT 21H
JMP EXIT
INPUT PROC NEAR ;输入子程序
PUSH AX
PUSH BX
PUSH CX
MOV AH,01H ;输入第一个字符并检测是否为+或-
MOV BX,OFFSET ASCII
INT 21H
CMP AL,-
JZ GOON
CMP AL,+
JNZ INERROR
GOON:
MOV [BX],AL
INC BX
MOV CX,5
INLOOP:
INT 21H
CMP AL,0DH ;输入以回车结束
JZ FINISH
CMP AL,0
JL INERROR
CMP AL,9
JG INERROR
MOV [BX],AL
INC BX
LOOP INLOOP
FINISH:
POP CX
POP BX
POP AX
RET
INPUT ENDP
ASCIITOBINARY PROC NEAR ;ASCII码转换为二进制子程序
PUSH AX
PUSH BX
PUSH CX
PUSH DX
PUSH SI
MOV BX,OFFSET ASCII
MOV DX,0 ;DX用来记录数字的个数
MOV AH,0
INC BX
MOV CX,6
BEGIN: ;将输入的数字压栈
MOV AL,[BX]
CMP AL,$
JZ A1
SUB AX,30H ;将输入的ASCII码减30H即得数字的二进制表示
PUSH AX
INC DX
INC BX
LOOP BEGIN
A1:
MOV CX,DX
MOV BX,1
MOV SI,0
BEGIN2:
POP AX
MUL BX
ADD SI,AX
JO B
MOV AX,10 ;BX乘以10存入BX
MUL BX
MOV BX,AX
LOOP BEGIN2
B:
CMP SI,8000H
JNZ INERROR
MOV BX,O
您可能关注的文档
- 英国税法中文资料-ACCA.doc
- 英国货币法案2.pdf.pdf
- 英孚网上英语好不好呢.doc
- 英孚英语口语课堂好不好呢.doc
- 英孚英语8-6网络练习单元.pdf
- 英孚英语培训学费_高不高呀.doc
- 英孚英语培训班好不好呢.doc
- 英孚英语费用.doc
- 英孚英语评价.doc
- 英孚英语11-7 Mother Nature 网络单元练习.pdf
- 2025年广东司法警官职业学院单招英语2014-2024历年真题考点试卷摘选含答案解析.doc
- 《电磁场理论》第5章 电磁波的辐射-教学课件(非AI生成).ppt
- 2025年广东南方职业学院单招(数学)历年真题考点含答案解析.doc
- 2025年广东交通职业技术学院单招英语2014-2024历年真题考点试卷摘选含答案解析.doc
- 《电磁场理论》第1章 电磁现象的普遍规律-教学课件(非AI生成).pptx
- 2025年广东体育职业技术学院单招(数学)历年真题考点含答案解析.doc
- 2025年广东体育职业技术学院单招语文2019-2024历年真题考点试卷含答案解析.doc
- 2025年广东体育职业技术学院单招英语2014-2024历年真题考点试卷摘选含答案解析.doc
- 联合中标合同协议.docx
- 2025年广东信息工程职业学院单招英语2014-2024历年真题考点试卷摘选含答案解析.doc
文档评论(0)