汇编实验报告(安工大纪平老师)
纪平老师的,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字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [实用模板]第八章:法国“新浪潮”与“左岸派”
- [实用模板]2021年北京上半年临床医学检验技师生物
- [实用模板]SAP GUI 7.10客户端安装配置文档
- [实用模板]2001年临床执业医师资格考试综合笔试试
- [实用模板]36机场工作实用英语词汇总结
- [实用模板](一)社会保险稽核通知书
- [实用模板]安全教育主题班会材料
- [实用模板]濉溪县春季呼吸道传染病防控应急演练方
- [实用模板]长沙房地产市场周报(1.30-2.3)
- [实用模板]六年级数学上册典中点 - 图文
- [实用模板]C程序设计(红皮书)习题官方参考答案
- [实用模板]中国证监会第一届创业板发行审核委员会
- [实用模板]桥梁工程复习题
- [实用模板]2011学而思数学及答案
- [实用模板]初中病句修改专项练习
- [实用模板]监理学习知识1 - 图文
- [实用模板]小机灵杯四年级试题
- [实用模板]国贸专业毕业论文模板
- [实用模板]教育学概论考试练习题-判断题4
- [实用模板]2015届高考英语一轮复习精品资料(译林
- 00Nkmhe_市场营销学工商管理_电子商务_
- 事业单位考试法律常识
- 诚信教育实施方案
- 吉大小天鹅食品安全检测箱方案(高中低
- 房地产销售培训资料
- 高一地理必修1复习提纲
- 新概念英语第二册lesson_1_练习题
- 证券公司内部培训资料
- 小学英语时间介词专项练习
- 新世纪英语专业综合教程(第二版)第1册U
- 【新课标】浙教版最新2018年八年级数学
- 工程建设管理纲要
- 外研版 必修一Module 4 A Social Surve
- Adobe认证考试 AE复习资料
- 基于H.264AVC与AVS标准的帧内预测技术
- 《食品检验机构资质认定管理办法》(质
- ABB变频器培训课件
- (完整版)小学说明文阅读练习题及答案
- 深思洛克(SenseLock) 深思IV,深思4,深
- 弟子规全文带拼音




