汇编实验报告(安工大纪平老师)
纪平老师的,10级文档
汇编语言实验报告
学院:计算机学院
姓名: 学号:
班级:软件工程104班
纪平老师的,10级文档
实验一 汇编运行环境及方法、简单程序设计
1. 程序说明:
本程序用来比较两个字符串string1和string2所含的字符是否相同。若相同则显示‘Match’,否则显示‘Nomatch’。
在程序的数据段先定义两个字符串string1和string2,再定义两个字符串mess1和mess2,分别代表‘Match’和‘Nomatch’。再代码段比较字符串string1和string2,通过比较判断是否相同。若相同则显示‘Match’,否则显示‘Nomatch’。
2.程序代码(比较两字符串):
;PROGRAM TITLE GOES HERE--Compare string
;************************************************************************** datarea segment ;define data segment
string1 db 'Move the cursor backward.' string2 db 'Move the cursor backward.' ;
mess1 db 'Match.',13,10,'$' mess2 db 'No match!',13,10,'$' datarea ends
;************************************************************************** prognam segment ;define code segment
;-------------------------------------------------------------------------- main proc far
assume cs:prognam,ds:datarea,es:datarea start: ;starting execution address
;set up stack for return
push ds ;save old data segment sub ax,ax ;put zero in AX push ax ;save it on stack
;set DS register to current data segment
mov ax,datarea ;datarea segment addr mov ds,ax ;into DS register mov es,ax ;into ES register ;MAIN PART OF PROGRAM GOES HERE lea si,string1 lea di,string2 cld
mov cx,25 repz cmpsb
纪平老师的,10级文档
jz match lea dx,mess2 jmp short disp match:
lea dx,mess1 disp:
mov ah,09 int 21h ret ;return to DOS
main endp ;end of main part of program
;------------------------------------------------------------------------- prognam ends ;end of code segment
;************************************************************************* end start ;end assembly
3.截图:
该程序是用来判断两字符串string1和string2是否相同,相同则显示match。
实验二 用DEBUG编程:使用堆栈段将AX和BX的内容进行交换等 1.程序说明:
(1)设堆栈指针SP=2000H,AX=3000H,BX=5000H;编一程序段将AX和BX的内容进行交换。请用堆栈作为两寄存器交换内容的中间存储单元,用DEBUG调试程序进行汇编与调试。
(2)设DS=当前段地址,BX=0300H,SI=0002H;请用DEBUG的命令将存储器偏移地址300H~304H连续单元顺序装入0AH,0BH,0CH,0DH,0EH。在DEBUG状态下送入下面程序,并用单步执行的方法,分析每条指令源地址的形成过程,当数据传送完毕时,AX中的内容是什么。
纪平老师的,10级文档
2.程序代码:
MOV AX,BX MOV AX,0304H MOV AX,[0304H] MOV AX,[BX] MOV AX,0001[BX] MOV AX,[BX][SI] MOV AX,0001[BX][SI] HLT
3.截图:
先使用-r 设置sp,ax,bx,在使用-a输入指令然后再-t单步调试
纪平老师的,10级文档
刚开始ax 3000,bx 5000 debug调试后 ax,5000 bx 3000
首先用-r设置bx,si 然后再用-e将a,b,c,d,e分配到指定的内存中,-a输入指令最后-t单步调试
纪平老师的,10级文档
执行单步调试后ax的值一直变化从000E,0B0A,0C0B,0D0C,0E0D
实验三 存储器块清零和内存块移动
1. 程序说明:
第一个程序是存储块清零。程序流程大概为首先设置起始地址,然后设置块长度,然后将当前地址内容清零,地址加1,然后查看是否清除完全,若没有则回到当前地址清零,然后再查看,直到地址内容清除完,结束程序。
第二个程序是内存块移动。程序流程框图为:首先设置块的源地址,然后设置筷的目的地址,然后再设置移动长度,然后按长度重复传送数据,然后结束。
2.调试及截图:
第一个程序进入debug先用-u指令查看程序代码然后-d查看内存的情况再执行-g讲程序执行完 在用-d查看内存
纪平老师的,10级文档
第二个程序进入debug后先用-u查看程序 然后-g运行到指令rep movsd 之前再用 –d查看内存的内容 -g前
纪平老师的,10级文档
-g后
实验四 将键盘输入的小写字母用大写字母显示出来
1.程序说明:
本程序用来将小写字母转变为大写,并在屏幕上显示出来。先利用DOS功能调用INT21H的1号功能从键盘输入字符,然后判断输入的是否是小写字母,若不是小写字母,则显示输入出错,重新输入。若输入的是小写字母,则通过将其减去20h,从而变为大写字母。在通过DOS功能调用INT21H的2号功能显示出来。若输入的是Enter键,则结束程序。
纪平老师的,10级文档
2.程序代码:
TITLE SHIYAN CODE SEGMENT
ASSUME CS:CODE START:
MOV AH,01H INT 21H CMP AL,61H JL START SUB AL,20H MOV DL,AL MOV AH,02H INT 21H CODE ENDS
END START
3.截图:
实验五 循环程序设计
1.程序说明:
第一个程序是用来显示AL寄存器中的两位十六进位制数,通过DOS功能调用INT21H的2号功能显示出来。
第二个程序是用来判别键盘上输入的字符:若是1-9字符,则显示之;若为A-Z或a-z字符,均显示“c”;若是回车字符<CR>,z则结束程序,若为其他字符则不显示,继续等待新的字符输入。首先输入一个字符,将其和回车字符比较,若是回车字符,则结束程序。1-9字符,则显示之。若是若小于0,则重新等待输入。若大于9,则跳转到和‘A’、Z’比较,若小于’A’,则重新等待输入,若大
纪平老师的,10级文档
于’Z’,则跳转到和’a’、’z’比较处,若小于a或大于z,则重新等待输入,否则输出‘c’。 2.程序代码:
CODE SEGMENT ASSUME CS:CODE START: MOV AL,3EH PUSH AX MOV DL,AL MOV CL,4 SHR DL,CL CMP DL,9 JBE NEXT1 ADD DL,7 NEXT1:
ADD DL,30H MOV AH,2 INT 21H POP AX MOV DL,AL AND DL,0FH CMP DL,9 JBE NEXT2 ADD DL,7 NEXT2: ADD DL,30H MOV AH,2 INT 21H
MOV AH,4CH INT 21H CODE ENDS END START
3.截图:
纪平老师的,10级文档
4.程序代码:
code segment
assume cs:code start:mov ah,1 int 21h cmp al,0dh jz done …… 此处隐藏:3680字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [专业资料]《蜜蜂之家》教学反思
- [专业资料]过去分词作定语和表语1
- [专业资料]苏州工业园区住房公积金贷款申请表
- [专业资料]保安管理制度及处罚条例细则
- [专业资料]2018年中国工程咨询市场发展现状调研及
- [专业资料]2015年电大本科《学前教育科研方法》期
- [专业资料]数字信号处理实验 matlab版 离散傅里叶
- [专业资料]“十三五”重点项目-虎杖白藜芦醇及功
- [专业资料]2015-2020年中国竹木工艺市场需求及投
- [专业资料]国际贸易理论与实务作业五:理论案例分
- [专业资料]财政部修订发布事业单位会计制度
- [专业资料]BCA蛋白浓度测定试剂盒(增强型)
- [专业资料]工程进度总计划横道图模板(通用版)
- [专业资料]七年级地理同步练习(天气与气候)
- [专业资料]X光安检机介绍火灾自动报警系统的组成
- [专业资料]衢州市人民政府办公室关于印发衢州市区
- [专业资料]经济全球化及其影响[1]
- [专业资料]质粒DNA限制性酶切图谱分析
- [专业资料]国家安全人民防线工作“六项”制度
- [专业资料]劳动力投入计划及保证措施
- 电子账册联网监管培训手册
- 人教版语文七年级上第1课《在山的那边
- 对我区担保行业发展现状的思考与建议
- 平面四边形网格自动生成方法研究
- 2016年党课学习心得体会范文
- 如何设置电脑定时关机
- 全球最美人妖排行榜新鲜出炉
- 社会实践调查报告及问卷
- Visual Basic习题集
- 《鱼我所欲也》课件2
- 浙江省会计从业资格考试试卷
- 全遥控数字音量控制的D 类功率放大器资
- 鞍钢宪法与后福特主义
- 电表的改装与校准实验报告(1)
- 2014年高考理科数学真题解析分类汇编:
- Windows 7 AIK 的使用
- 风电场全场停电事故应急处置方案
- 化工原理选填题题库(下)
- 关于产学研合作教育模式的学习与思考
- 西安先锋公馆项目前期定位报告




