实验一 汇编语言编程基础.doc_第1页
实验一 汇编语言编程基础.doc_第2页
实验一 汇编语言编程基础.doc_第3页
实验一 汇编语言编程基础.doc_第4页
实验一 汇编语言编程基础.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验一 汇编语言编程基础一、实验目的:1 熟悉和掌握DEBUG调试常用汇编指令的方法;2 了解和掌握MOV指令在不同的寻址方式下的使用方法。3 了解和掌握加、减指令在程序设计中的用法4 了解和掌握逻辑指令、移位指令的功能和作用,以及此类指令的使用方法。5 掌握简单的汇编程序编辑、编译和调试的过程二、 实验内容1 数据传送指令调试、寻址方式验证实验要求: ()利用DEBUG系统的A和T两指令编程将十六进制数3F56H分别送给AX、BX、CX、DX四个寄存器。 ()采用立即数寻址方式将该数分别送给AX、BX二个寄存器。 记录:操作前 AX= 0000 、 BX= 0000 、 CX= 0000 、 DX=0000 操作后 AX=3F56 、 BX=3F56 、 CX=0000 、 DX=0000 操作过程中所用到的指令:MOV AX,3F56MOV BX,3F56()采用立即数寻址方式将该数分别送给AX寄存器,再采用寄存器寻址方式将该数送给CX、 DX 三个寄存器。 记录:操作前 AX=3F56 、 BX= 0000 、 CX=0000 、 DX=0000 操作后 AX=3F56 、 BX= 3F56 、 CX=3F56 、 DX=3F56 操作过程中所用到的指令: MOV BX,AX MOV CX,AX MOV DX,AX()目的操作数采用直接寻址方式,将该数送给2000H单元。 记录:操作前 (2000H)=00 操作后 (2000H)=56 ()利用DEBUG系统的A和T两指令编程对AX、BX、CX、DX四个寄存器进行出入堆栈的操作。 ()将AX、BX、CX、DX四个寄存器的内容依次压入堆栈中,注意观察栈指针寄存器和堆栈内容的变化。 记录:压入AX前 SP= FFEEH , (SP)=00 压入AX后 SP= FFECH , (SP)=1234H 压入BX前 SP= FFECH , (SP)=1234H 压入BX后 SP= FFEAH , (SP)=5678H 压入CX前 SP= FFEAH , (SP)=5678H 压入CX后 SP= FFE8H , (SP)=3F56H 压入DX前 SP= FFE8H , (SP)=3F56H 压入DX后 SP= FFE6H , (SP)=4690 操作过程中所用到的指令: mov ax,1234 mov bx,5678 mov cx,3f56 mov dx,4690 push ax push bx push cx push dx ()将堆栈中的内容依次弹出到AX、BX、CX、DX四个寄存器, 注意观察栈指针寄存器和堆栈内 容的变化。 记录:弹出到AX前 SP= FFE6H , (SP)=4690H 弹出到AX后 SP= FFE8H , (SP)=3F56H 弹出到BX前 SP= FFE8H , (SP)=3F56H 弹出到BX后 SP= FFEAH , (SP)=5678H 弹出到CX前 SP= FFEAH , (SP)=5678H 弹出到CX后 SP= FFECH , (SP)=1234H 弹出到DX前 SP= FFECH , (SP)=1234H 弹出到DX后 SP= FFEEH , (SP)=00H 操作过程中所用到的指令: pop ax pop bx pop cx pop dx ()已知AX=3F56H,分别利用立即数寻址方式和寄存器间接寻址方式,将AX寄存器的内容送到 2000H 单元中。 ()立即数寻址方式 记录:送出到AX前 AX= 3F56H , (2000H)=00 送出到AX后 AX= 3F56H , (2000H)=56H 操作过程中所用到的指令: ()寄存器间接寻址方式 记录:送出到AX前 AX= 3F56H , (2000H)=00 用于存放地址码的寄存器(BX)=2000H 送出到AX后 AX= 3F56H , (2000H)=56H 操作过程中所用到的指令: MOV AX,3F56 MOV BX,2000 MOV BX,AX ()已知(AX)=3F56H,(CX)=4690H,利用交换指令交换这两个寄存器的内容。 记录:交换前 AX=3F56H , (CX)=4690H 交换后 AX= 4690H , (CX)=3F56H 操作过程中所用到的指令:MOV AX,3F56MOV CX,4690XCHG AX,CX ()在单元DS:0200HDS:0205H处填入30、31、32、33、34、35(以上数据均为十六进制数),利用DEBUG系统状态下,记录以下程序的运行情况: MOV AL,3 AL=03H MOV BX,200 BX=200H XALT AL=33H BX=200H ()已知(DS:0200H)=00,(DS:0201H)=01,在DEBUG系统状态下录以下程序的运行情况: lea bx,200 BX=200 lea bx,200200 BX=400 由以上程序可以了解LEA指令的功能是:把源操作数的偏移量送入目的操作数的通用寄存器2 算术运算类指令的调试 实验要求: ()在DEBUG系统状态下,分别编制、调试并记录以下加、减程序段的每一条指令的运行情况: () MOV AX,2389 AX=2389H BX=0000H MOV BX,0CEDF AX=2389H BX=CEDFH ADD AX,BX AX=FF55H BX=CEDFH () MOV AX,2389 AX=2389H BX=0000H MOV BX,0CEDF AX=2389H BX=CEDFH SUB AX,BX AX=54AAH BX=CEDFH () MOV AX,2389 AX=2389H BX=0000H MOV BX,0CEDF AX=2389H BX=CEDFH ADD AH,BH AX=F189H BX=CEDFH ADD AL,BL AX=F168H BX=CEDFH () MOV AX,2389 AX=2389H BX=0000H MOV BX,0CEDF AX=2389H BX=CEDFH ADD AH,BH AX=F189H BX=CEDFH ADC AL,BL AX=F168H BX=CEDFH3 逻辑及移位类指令与线性程序设计实验要求:具体了解和掌握逻辑指令、移位指令在使用时应注意的问题。 ()在DEBUG系统状态下,分别编制、调试并记录以下逻辑指令程序段的每一条指令的运行情况: () mov al,41 AX=0041H or al,20 AX=0061H () mov al,66 AX=0066H and al,0df AX=0046H () mov ax,5678 AX=5678H xor ax,ax AX=0000H () mov ax,0ff00 AX=FF00H not ax AX=00FFH () mov ax,1234 AX=1234H test ax,1 AX=1234H test ax,2 AX=1234H test ax,4 AX=1234H test ax,8 AX=1234H test ax,10 AX=1234H test ax,20 AX=1234H test ax,40 AX=1234H test ax,80 AX=1234Htest指令的作用是测试一个操作数的某一位或某几位的状态 ()在DEBUG系统状态下,分别编制、调试并记录以下移位指令程序段的每一条指令的运行情况: () mov ax,420 AX=0420H shl ax,1 AX=0840H () mov ax,240 AX=0240H mov cl,4 CL=04H shl ax,cl AX=2400H () mov ax,8000 AX=8000H mov cl,4 CL=04H shr ax,cl AX=2400H () mov ax,8000 AX=8000H mov cl,4 CL=04H sar ax,cl AX=0800H () mov ax,8086 AX=8086H mov cl,4 CL=04H rol ax,cl AX=0868H () mov ax,8086 AX=8086H mov cl,4 CL=04H ror ax,cl AX=6808H () mov ax,8086 AX=8086H mov cl,4 CL=04H rcl ax,cl AX=0864H () mov ax,8086 AX=8086H mov cl,4 CL=04H rcr ax,cl AX=C808Hrol与rcl、ror与rcr的区别在于rol和ror是将寄存器中的内容直接进行移位,而rcl和rcr是将寄存器中的内容与 进位位CF 中的内容一起进行移位,因此参加移位的数据比原来的数据位数 多一位。4、编程题(1) P99页:15题:(1)、(2)、(3)(2) 编写一个完整的汇编程序,要求实现将数据段中定义的A1(字节) A2(字) A3(双字)的数据分别送至附加段B1, B2, B3开始的单元,并用debug调试运行观察程序执行情况一、(1)MOV AH, 80HSAHF (2 ) MOV BL, 0FH AND BL, AL SAL 4 SHR 4 XOR AL, BL (3 ) MOV DX, 7FH SUB AX, DX MOV DX, 0FFH SUB DX, BX MOV BX, DX (4 ) MOV AH, FFH MOV BL, B SUB AH, BL MOV BH, A SUB BH, AH MOV C, BH (5 ) MOV AX, CX NOT AX TEST 01H JNZ NEXT HLT NEXT: INC CX HLT(6) NOT AX XOR BX,AX二、 VAR_DATA SEGMENT A1 DB 12 A2 DW 3456 A3 DD

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论