文档详情

华南农业大学汇编语言8086习题(附答案) 2.doc

发布:2019-04-13约3.24万字共54页下载文档
文本预览下载声明
题目名称 实验一 汇编语言程序结构 题目关键字 源程序结构 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
显示全部
相似文档