首页 实验2 内存操作数及寻址方法

实验2 内存操作数及寻址方法

举报
开通vip

实验2 内存操作数及寻址方法实验2 内存操作数及寻址方法 2.1 实验目的 通过实验掌握下列知识: ?DEBUG命令:G,N,W,L及Q。 ?8088系统中数据在内存中的存放方式和内存操作数的几种寻址方式。 ?8088指令:INC,DEC,LOOP,INT 3,INT 20H,寄存器SI,DI。 ?8088汇编语言伪操作:BYTE PTR,WORD PTR。 ?求累加和程序和多字节加减法程序。 2.2 实验类型 验证型实验 2.3 实验内容及步骤 2.3.1 内存操作数及各种寻址方式使用 1. 实验程序 MOV AX,1...

实验2  内存操作数及寻址方法
实验2 内存操作数及寻址方法 2.1 实验目的 通过实验掌握下列知识: ?DEBUG命令:G,N,W,L及Q。 ?8088系统中数据在内存中的存放方式和内存操作数的几种寻址方式。 ?8088指令:INC,DEC,LOOP,INT 3,INT 20H,寄存器SI,DI。 ?8088汇编语言伪操作:BYTE PTR,WORD PTR。 ?求累加和程序和多字节加减法程序。 2.2 实验类型 验证型实验 2.3 实验内容及步骤 2.3.1 内存操作数及各种寻址方式使用 1. 实验程序 MOV AX,1234 MOV [1000],AX MOV BX,1002 MOV BYTE PTR [BX],20 MOV DL,39 INC BX MOV [BX],DL DEC DL MOV SI,3 MOV [BX+SI],DL MOV [BX+SI+1],DL MOV WORD PTR [BX+SI+2],2846 2. 实验步骤 1)用A命令键入上述程序,并用T命令逐条运行。 2)每运行一条有关内存操作数的指令,要用D命令检查并记录有关内存单元的内容并 注明是什么寻址方式。 写出段地址和偏移地址,各指令的功能 3. 注意 D命令显示结果中右边的ASCII字符及双字节数存放法。 4. 思考 有关指令中BYTE PTR及WORD PTR伪操作不加行不行? -A0100 0B40:0100 MOV AX,1234 //立即数寻址方式 0B40:0103 MOV [1000],AX //存储器直接寻址 0B40:0106 MOV BX,1002 //立即数寻址方式 0B40:0109 MOV BYTE PTR [BX],20 // 用BYTE PTR 伪指令来指定操作数的长度 0B40:010C MOV DL,39 //立即数寻址方式 0B40:010E INC BX //寄存器寻址 INC增量指令,操作数自加1 0B40:010F MOV [BX],DL //存储器间接寻址 0B40:0111 DEC DL //寄存器寻址 DEC减量指令,操作数自减1 0B40:0113 MOV [BX],DL //存储器间接寻址 0B40:0115 DEC DL //寄存器寻址 DEC减量指令,操作数自减1 0B40:0117 MOV SI,3 //寄存器相对寻址 0B40:011A MOV [BX+SI],DL //基址加变址寻址 0B40:011C MOV [BX+SI+1],DL //相对基址加变址寻址 0B40:011F MOV WORD PTR [BX+SI+2],2846 //相对基址加变址寻址(段内间接寻址) 0B40:0124 -T=0100 AX=1234 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=0B40 ES=0B40 SS=0B40 CS=0B40 IP=0103 NV UP EI PL NZ NA PO NC 0B40:0103 A30010 MOV [1000],AX DS:1000=1AEB -T AX=1234 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000 DS=0B40 ES=0B40 SS=0B40 CS=0B40 IP=0106 NV UP EI PL NZ NA PO NC 0B40:0106 BB0210 MOV BX,1002 -D 0B40:1000 0B40:1000 34 12 55 51 E8 A6 FF 8B-E9 59 CD 21 73 02 EB 0B 4.UQ.....Y.!s... 2.3.2 求累加和程序 1. 实验程序 MOV BX,1000 MOV CX,10 SUB AX,AX LOP:ADD AL,[BX] ADC AH,0 INC BX J: LOOP LOP INT3 2. 实验步骤 1)用A命令将程序键入到100H开始的内存中,在键入时记下标号LOP和J的实际地址,在 键入LOOP指令时LOP用实际地址值代替。 2)用命令N AA将此程序命名为文件AA(文件名可任取)。 3)用R命令将BX:CX改为程序长度值(即最后一条指令后面的地址减去开始地址)。 4)用命令W100将此程序存到AA命名的磁盘文件中。 5)用命令Q退出DEBUG。 6)用命令DEBUG AA再次调入DEBUG和文件AA,可用U命令检查调入程序。若调入DEBUG时 忘了加AA文件名,可用N命令和L命令将文件调入。 7)用E命令在内存地址1000H处键入16个数字 8)用命令G,100J(J用实际地址代替),使程序运行并停在断点J上,检查AX,BX的值是 否符合你的预计值。 9)用T命令运行一步,观察程序方向(IP值)和CX值是否与你的估计一样,若不一样,检 查程序是否有错。 10)重复GJ与T,再检查AX是否正确。 11)用G命令使程序运行到结束,检查AX值是否正确。 2.3.3 多字节加法程序 1. 实验程序 MOV DI,1000 MOV CX,8 MOV SI,2000 CLC LOP: MOV AL,[SI] ADC [DI],AL INC SI INC DI LOOP LOP INT 20 2. 实验步骤 1)用命令键入此程序。 2)用E命令在1000H开始处键入一个8字节被加数,在2000H开始处键入一个8字节加数,均为低字节在前面。 3)用G命令运行此程序,并用D命令检查其结果(存放在哪里?),是否正确? 4)将INT 20H指令改为INT 3,有何区别?若这条指令不加,行不行?试一试。 2.4 自编程序 用16位减法指令编一个32位(4字节)数减法程序,两个源数及结果存放地址同上题。调试并做记录。 2.5 实验 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 ? 各项实验结果记录。 ? 自编程序原稿及调试后修正稿,写出原稿错在那里。
本文档为【实验2 内存操作数及寻址方法】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_852287
暂无简介~
格式:doc
大小:17KB
软件:Word
页数:5
分类:生活休闲
上传时间:2017-12-22
浏览量:18