- 1、本文档共54页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
题目名称
实验一 汇编语言程序结构
题目关键字
源程序结构 debug
题目录入时间
2013-3-13 22:45:26
题目内容
一、实验目的
1.掌握汇编语言程序上机过程。
2.掌握汇编语言结构。
3.了解汇编程序、连接程序、DOS系统装入和返回功能。
4.掌握用DEBUG调试汇编语言程序的方法
二、实验要求
1. 编写完整的汇编语言程序:
(1)逆序输出字符串“BASED ADDRESSING”。
(2)从键盘上输入2个一位的正数,求出它们的和(假设和不超过1 位)。
(3)试编写一段程序,要求在长度为100H字节的数组中,找出大于42H的无符号数的个数并存入字单元UP中;找出小于42H的无符号数的个数并存入字单元DOWN中。
2.在DEBUG下查看程序执行的过程,以及变量值的变化。
3.演示程序运行结果,请指导教师检查。
三、思考
1.汇编语言程序中语句END后的标号作用是什么?
2.采用标准序结构编制源程序,用ret结束程序运行返回操作系统时,可否将语句main proc far中的far属性去掉,为什么?
3.一个段的大小为多少?一定是64KB吗?如何在DEBUG下查看程序在内存的存放情况?
四、提交内容
将各个源程序代码、exe文件压缩为RAR后提交到作业系统。
题目创建人
题目注释
1.1.asm
DATAS SEGMENT
String db BASED ADDRESSING
count dw $-String
DATAS ENDS
STACKS SEGMENT
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
mov cx,count ;循环次数
lea si,count-1 ;将最后一个字符‘G’的地址给si
L:
mov ah,2
mov dl,[si]
dec si
int 21h
loop L
MOV AH,4CH
INT 21H
CODES ENDS
END START
1.2.asm
DATAS SEGMENT
x db x=$
y db y=$
z db x+y=$
DATAS ENDS
STACKS SEGMENT
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
mov ah,9 ;显示x=
lea dx,x
int 21h
mov ah,1 ;输入X
int 21h
sub al,30h
mov cl,al ;将X放在CL
mov ah,9 ;显示y=
lea dx,y
int 21h
mov ah,1 ;输入Y
int 21h
sub al,30h
add cl,al ;两数字相加
mov ah,9 ;显示z=
lea dx,z
int 21h
mov ah,2 ;显示结果
mov dl,cl
add dl,30h
int 21h
MOV AH,4CH
INT 21H
CODES ENDS
END START
1.3.asm
DATAS SEGMENT
array db 128 dup(41h,43h)
up dw 0
down dw 0
DATAS ENDS
STACKS SEGMENT
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
lea di,array
mov cx,256
L:
mov al,[di]
cmp al,42h
jl L1
ja L2
L1:
inc down
jmp L3
L2:
inc
文档评论(0)