




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微机原理与接口技术实验微机原理与接口技术实验报告实验环境:Windows XP SP3实验软件:masm,link,debug,edit。Test 1:debug命令及汇编指令和寻址的应用。NO.1设堆栈指针SP=2000H,AX=3000H,BX=5000H;请编一程序段将AX和BX的内容进行交换。要求:用3种方法实现。11方法一 CODE SEGMENTASSUME CS:CODESTART: MOV AX,3000HMOV BX,5000HMOV CX,AXMOV AX,BXMOV BX,CXCODEENDSEND START方法二 CODE SEGMENTASSUME CS:CODESTART: MOV AX,3000HMOV BX,5000HXCHG AX,BXCODEENDSEND START方法三CODE SEGMENTASSUME CS:CODESTART: MOV AX,3000HMOV BX,5000HPUSH AXPUSH BXPOP AXPOP BXCODEENDSEND STARTNO.2分别执行以下指令,比较寄存器寻址,寄存器间接寻址和相对寄存器寻址间的区别。MOV AX,BX寄存器寻址,将BX内容送AXMOV AX,BX 寄存器间接寻址,将DS:BX内存单元内容送AXMOV AX,10BX 寄存器相对寻址,将DS:BX+10内存单元内容送AXNO.3已知有如下程序段:MOVAX,1234HMOVCL,4在以上程序段的基础上,分别执行以下指令:ROLAX,CLAX=4123H RORAX,CLAX=3412HSHLAX,CLAX=4120HSHRAX,CLAX=0412H SARAX,CLAX=0041HRCLAX,CLAX=0410HRCRAX,CLAX=0041HNO.4设有以下部分程序段:TABLE DW 10H,20H,30H,40H,50HENTRY DW 3 LEA BX,TABLE ADD BX,ENTRY MOV AX,BX 要求:(1)将以上程序段补充成为一个完整的汇编程序。(1) DATA SEGMENT TABLE DW 10H,20H,30H,40H,50H ENTRY DW 3 DATA ENDS CODE SEGMENT ASSUME DS:DATA,CS:CODE START:MOV AX,DATA MOV DS,AX LEA BX,TABLE ADD BX,ENTRY MOV AX,BX MOV AH,4CH INT 21H CODE ENDS END START(2)AX=3000HTest2:汇编语言程序的调试与运行NO.1实验内容:求内存单元中所定义的两个字节变量的连续内容之和。源代码如下:方法一:DATA SEGMENTA DB 5CH,85HB DB 43H,0ABHDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,SEG DATAMOV DS,AXMOV SI,0MOV AL,ASIADD AL,BSIMOV ASI,ALINC SIMOV AL,ASIADC AL,BSIMOV ASI,ALMOV AH,4CHINT 21HCODE ENDSEND START方法二:定义字DATA SEGMENTA DW 5C85HB DW 43ABHC DW ?C=A+BDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AH,4CHINT 21HCODE ENDSEND START方法三:直接寻址DATA SEGMENTA DB 5CH,85HB DB 43H,0ABHDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,SEG DATAMOV DS,AXMOV AL, 1000ADD AL,1002MOV 1000,ALINC SIMOV AL,1000ADC AL,1002MOV 1000,ALMOV AH,4CHINT 21HCODE ENDSEND START分析总结:本程序一采用了变址寻址方式,通过SI作为变址寻址寄存器,经由si改变来使加法指令寻址地址变化,从而实现两个字节之间相加。两个自己之间分别通过ADD与ADC指令进行进位的衔接。程序二在DATA定义中直接使用赋值语句将A,B的和放入C中。程序三于程序以类似,只不过将ASI的寻址方式变为1000的直接寻址,把其地址值直接拿来使用。程序运行结果如上图所示NO.2 编写计算表达式2*(X+Y-50)/Z值的程序,将上与玉树分别放在A,B中。(XY均为32位有符号数,Z为16位有符号数。A,B为字)原代码如下data segmentX dw 1234H,5678HY dw 1753H,1320HZ dw 1002HA dw ?B dw ?data endscode segmentassume CS:code,DS:datastart:mov ax,seg datamov ds,axmov si,0mov cx,0050Hmov bx,Xsiadd bx,Ysisub bx,cxmov Xsi,BX 完成括号内加减法内容mov BX,Xsi+2Hadc BX,Ysi+2Hmov Xsi+2H,BXshl Xsi,1 左移乘2rcl Xsi+2H,1mov ax,Xsi+2hcwd idiv Zsimov cl,02Hsal ax,clmov Asi,axmov ax,Xsiadd ax,dxcwd 位拓展div Zsi 除add Asi,ax 按要求保存结果mov Bsi,dx mov ah,4cHint 21Hcode endsend start分析总结:实验在32位数加减乘除运算是遇到困难。同时在有符号除法处遇到溢出困难。经过对字分开运算后在整合,问题得到解决Test 2:分支结构程序设计NO.1实验内容:编写程序,实现将大写字母转换为小写字母的程序。源代码如下:data SEGMENTmsg DB I am a student$LEN EQU $-msgDATA ENDScode SEGMENTassume CS:code,DS:dataSTART:mov ax,datamov ds,axmov bx,offset msgMOV CX,LEN 获取字符串长度mov dl,a 设置大小比较值lop:MOV AL,bxCMP al,dl 比对从字符串中读取的某个字符与a的ASCLL码的大小来判断是否需要转换jb next 如不需转化,直接跳转至nextsub al,20hmov bx,alnext:inc bx 计数部分自加一以统计字符串是否读完loop lop 读完跳出mov dx,offset msgmov ah,09hint 21h 保存并显示出修改后的字符串mov ah,4chint 21hcode endsend start程序运行结果如上图Test 4:循环程序设计NO.3 数据段开始区域中,连续存放着十个无符号数,变成虚找出这十个数中最大的一个数,并存在该数据区的后面。原代码如下:DATA SEGMENTNUM DB 11H,99H,55H,99H,33H,22H,44H,66H,88H,10HLEN EQU $-NUMDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV DX,SEG DATAMOV DS,DXMOV SI,0MOV CX,LENSUB CX,1 读取字符串长度后减1得出所需循环次数MOV AL,SILOP:CLC 进位清零MOV BL,SI+1CMP BL,AL 与之前读取的数比较INC SIJB NEXTMOV AL,BL 若大于之前的数,则保存后者NEXT:LOOP LOP 循环,与下一个数进行比较MOV NUMSI+1,AL 将最后得出的最大数保存MOV AH,4CHINT 21HCODE ENDSEND START程序运行结果如上图所示Test 6:DOS中断功能调用程序设计NO.1 编写一个程序使键盘输入的一个字符,将ASCLL码显示。CODE SEGMENTASSUME CS:CODEMOV AH,09HMOV AH,1INT 21H 从键盘输入字符MOV DL,ALMOV AH,02HINT 21HMOV AH,4CH 输出ASCLL码,结束程序INT 21HCODE ENDSEND STARTNO.2 编程,判断键盘输入字符。若是数字显示该数字,若不是则显示“Its not a number!”DATA SEGMENTINFOR1 DB 0AH,0DH,Please Press any key to input a number:$INFOR2 DB 0AH,0DH, Its not a number! $DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV DX,OFFSET INFOR1MOV AH,09HMOV AH,1INT 21H 从键盘输入字符CMP AL,9 和9比大小JB NEXT不符合要求跳转NEXTCMP 0, AL 和0比大小JB NEXT 不符合要求跳转NEXTMOV DL,ALMOV AH,02HINT 21HMOV AH,4CH 符合要求输出字符,结束程序INT 21HNEXT: MOV DX,OFFSET INFOR2 不符合要求,输出字符串Its not a number! MOV AH,09HINT 21HMOV AH,4CHINT 21H 结束程序CODE ENDS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 民法课件讲解
- 民法学课件内容
- 并条工考试题库及答案
- 新质生产力形成的必要条件
- 安全小故事合集讲解
- 新质生产力的“四新”核心要素
- 民族课件内容
- 民族节日课件
- 《统计学-SPSS和Excel实现》(第9版)课件 第4章 概率分布
- 幼儿园的工作方案汇报
- 2025年环保知识竞赛考试题库200题(附答案)
- TCTBA 001-2019 非招标方式采购代理服务规范
- 《挠曲电理论及应用》笔记
- 薄弱科目的攻克策略
- 2024年山东省国家安全主题知识竞赛备考试题库(含答案)
- 建筑电气与智能化专业大学生职业生涯发展
- 小学生倾听课件
- 【MOOC】《中国马克思主义与当代》(北京科技大学)中国大学MOOC慕课答案
- 《城市轨道交通车辆段(停车场)物业服务标准》
- 初级招标采购从业人员《招标采购法律法规》近年考试真题试题库(含答案)
- 教学评一体化理念
评论
0/150
提交评论