| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 742 人关注过本帖
标题:锻炼汇编新手的几个程序题[不断更新中]
取消只看楼主 加入收藏
hero2007
Rank: 1
来 自:湖北武汉
等 级:新手上路
威 望:1
帖 子:130
专家分:0
注 册:2007-3-22
收藏
 问题点数:0 回复次数:1 
锻炼汇编新手的几个程序题[不断更新中]

我是这学期开始学程序,感觉我们汇编老师的教学方法很好。
自己编了好几个小汇编程序,熟悉了很多基本指令、锻炼了思维...,总之感觉自己得到了一定的锻炼。
以下是我们老师出布置给我们做过的一些程序题,很有价值,望新手自己独立思考,老手不要随便公布答案。


题目(1)

DATAS SEGMENT
STR DB"please input a string:$"
BUF DB 20
DB ?
DB 20 DUP (?)
CRLF DB 0AH,0DH,"$";此处输入数据段代码
DATAS ENDS

STACKS SEGMENT STACK
DB 200 DUP(?) ;此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START: MOV AX,DATAS
MOV DS,AX
LEA DX,STR
MOV AH,9
INT 21H
MOV AH,10
LEA DX,BUF
INT 21H
LEA DX,CRLF
MOV AH,9
INT 21H
MOV CL,BUF+1
LEA SI,BUF+2
NEXT: MOV DL,[SI]
MOV AH,2
INT 21H
INC SI
DEC CL
JNZ NEXT;此处输入代码段代码
MOV AH,4CH
INT 21H
CODES ENDS
END START

以上是从键盘输入字符串并输出该字符串的简单汇编程序,要求将程序中的2号调用改成9号调用使该程序同样能实现输入任意字符串换行输出同样的字符串。



题目(2)

DATAS SEGMENT
TABLE DB 0,1,4,9,16,25,36,49,64,81
NUMB DB 6
RESULT DB ?
DATAS ENDS

STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
LEA DI,TABLE
LEA BX,NUMB
MOV AX,0
MOV AL,[BX]
ADD DI,AX;
MOV AL,[DI]
LEA BX,RESULT
MOV [BX],AL
HLT
MOV AH,4CH
INT 21H
CODES ENDS
END START

判断程序功能(在DEBUG里查看)
判断出该程序功能后,改写,输入0~9的数字输出其平方。



......等待更新→......等待更新→......等待更新→......等待更新→......等待更新→......等待更新→
......等待更新→......等待更新→......等待更新→......等待更新→......等待更新→......等待更新→




[此贴子已经被作者于2007-5-14 23:08:08编辑过]

搜索更多相关主题的帖子: 汇编 锻炼 
2007-05-14 23:06
hero2007
Rank: 1
来 自:湖北武汉
等 级:新手上路
威 望:1
帖 子:130
专家分:0
注 册:2007-3-22
收藏
得分:0 
不要贴答案,需要的进我博客找。
http://blog.sina.com.cn/xuezhide
2007-05-15 22:16
快速回复:锻炼汇编新手的几个程序题[不断更新中]
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016618 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved