- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
民航大学微机原理实验报告及试验程序.
微机原理与接口技术实验报告实验环境:Windows XP SP3实验软件:masm,link,debug,edit。Test 1:debug命令及汇编指令和寻址的应用。NO.1设堆栈指针SP=2000H,AX=3000H,BX=5000H;请编一程序段将AX和BX的内容进行交换。要求:用3种方法实现。方法一CODE SEGMENTASSUME CS:CODESTART: MOV AX,3000HMOV BX,5000HMOV CX,AXMOV AX,BXMOV BX,CXCODE??ENDSEND START方法二? CODE SEGMENTASSUME CS:CODESTART: MOV AX,3000HMOV BX,5000HXCHG AX,BXCODE??ENDSEND START方法三CODE SEGMENTASSUME CS:CODESTART: MOV AX,3000HMOV BX,5000HPUSH AXPUSH BXPOP AXPOP BXCODE??ENDSEND STARTNO.2分别执行以下指令,比较寄存器寻址,寄存器间接寻址和相对寄存器寻址间的区别。MOV AX,BX??寄存器寻址,将BX内容送AXMOV AX,[BX] 寄存器间接寻址,将DS:BX内存单元内容送AXMOV AX,10[BX] 寄存器相对寻址,将DS:BX+10内存单元内容送AXNO.3已知有如下程序段:MOV??AX,1234HMOV??CL,4在以上程序段的基础上,分别执行以下指令:ROL??AX,CL??AX=4123HROR??AX,CL??AX=3412HSHL??AX,CL??AX=4120HSHR??AX,CL??AX=0412HSAR??AX,CL??AX=0041HRCL??AX,CL??AX=0410HRCR??AX,CL?AX=0041HNO.4设有以下部分程序段: TABLE DW 10H,20H,30H,40H,50H??ENTRY DW 3? ?? ?? ?? ?? ?┇? ?? ?? ?? ? LEA BX,TABLE? ?? ?? ?? ? ADD BX,ENTRY? ?? ?? ?? ? MOV AX,[BX]? ?? ?? ?? ?? ?┇要求:(1)将以上程序段补充成为一个完整的汇编程序。(1) DATA SEGMENTTABLE DW 10H,20H,30H,40H,50H? ?ENTRY DW 3? ? DATA ENDSCODE SEGMENT? ?? ?ASSUME DS:DATA,CS:CODESTART:??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,A[SI]ADD AL,B[SI]MOV A[SI],ALINC SIMOV AL,A[SI]ADC AL,B[SI]MOV A[SI],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, [1000]ADD AL,[1002]MOV [1000],ALINC SIMOV AL,[1000]ADC AL,[1002]MOV [1000],ALMOV AH,4CHINT 21HCODE ENDSEND START分析总结:本程序一采用了变址寻址方式,通过SI作为变址寻址寄存器,经由si改变来使加法指令寻址地址变化,从而实现两个字节之间相加。两个自
文档评论(0)