计算机组成实验系统汇编语言,计算机组成原理-汇编语言实验一:系统的基本输入输出IO实验...

请认真对待身边的每一件事情。

实验一:系统的基本输入输出IO实验

【实验目的】

对于基本汇编指令的了解

熟悉汇编的编译运行链接过程

熟悉dos功能调用

【实验内容】

汇编语言程序从写出到最终执行的简要过程:

1、编写汇编源程序,生成汇编源程序文件(.asm)

2、对源程序进行编译,产生目标文件(.obj)

3、对目标文件进行编译连接,生成可在操作系统中直接运行的可执行文件(.exe)

4、执行可执行文件中的程序

【需求分析】

程序能够实现对于用户的输入字符串存储以及输出的过程;

程序的输入的数据格式为一行数据;

程序的输出为刚刚输入的一组字符串,并且有提示;

【概要设计】

程序的主要实现代码:

DATAS SEGMENT

;此处输入数据段代码

STRING DB 13,10,'PLEASE INPUT A STRING',13,10,'$'

STRING1 DB 13,10,'YOUR INPUT STRING WAS',13,10,'$'

BUFFER DB 10 DUP(?)

DATAS ENDS

STACKS SEGMENT

;此处输入堆栈段代码

STACKS ENDS

CODES SEGMENT

ASSUME CS:CODES,DS:DATAS,SS:STACKS

START:

;提示  输入一个字符串

MOV AX,DATAS

MOV DS,AX

LEA DX, STRING

MOV AH,9    ;输出字符串

INT 21H

MOV AX,DATAS

MOV DS,AX  ;数据端段基地址

mov bx,offset BUFFER

NEXT:

MOV AH,1

INT 21H

CMP AL,' '  ;和空格相比较

JZ OUT_ALL  ;相等就输出全部

MOV [BX],AL ;否则就保存

INC BX

JMP NEXT

OUT_ALL:

mov byte ptr [bx],'$'

MOV AX,DATAS

MOV DS,AX

LEA DX,STRING1

MOV AH,9    ;输出字符串

INT 21H

MOV DL,13 ;回车

MOV AH,2

INT 21H

MOV DL,10 ;换行

MOV AH,2

INT 21H

EXIT:

MOV AX,DATAS

MOV DS,AX

LEA DX,BUFFER

MOV AH,9    ;输出字符串

INT 21H

MOV AH,4CH

INT 21H

CODES ENDS

END START

【实验结果】

代码运行结果示例:1d5eb783204be8bfe6c05a5e1e3fa6ee.png

【实验总结】

现场处置问题能力有欠缺,当时给助教老师演示的时候没能把第一句话输出来,错误原因在于,我修改的程序代码是在桌面上,而运行的代码在D盘,所以一直没有调错成功,其实当时如果能静下心来想一想,一定能解决的。

对于一些事情一定要认真仔细一点。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值