【微机实验】东南大学微型计算机原理及应用实验二_微机原理与应用实验
【微机实验】东南大学微型计算机原理及应用实验二由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“微机原理与应用实验”。
实验二 基本算术和逻辑运算
学院:信息科学与工程学院
姓名:周信元
学号:04016523 实验日期:2018.4.4
一、实验目的1.熟悉算术和逻辑运算指令的功能。
2.进一步了解标志寄存器各标志位的意义和指令执行对它的影响。
二、实验任务
1.采用单步执行方式执行下列各程序段,检查各标志位的情况。
程序段1 MOV AX, 10101H MOV SI, 2000H ADD AL, 30H ADD AX, SI
;AX=1010H
;SI=2000H
;AX=1040H
;AX=3040H;BX=03FFH MOV BX, 03FFH ADD AX, BX
;AX=343FH;DS:[0020]=1000H;DS:[0020]=443FH MOV[0020],1000H ADD 0020, AX 程序段2: MOV AX, OA0AOIH ADO AX, OFFFFH
;AX=A0A0H;AX=A09FH MOV CX, OFFOOH ADD AX, CX SUB AX, AX INC AX
;CX=FF00H;AX=9F9FH
;AX=0000H
;AX=0001H
;CX=FFFFH OR CX, OOFFH AND CX, OFOFH M0V[0010],CX 程序段3: MOV BL, 25H MO[0010],04H MOV AL, [0010] MUL BL 程序段4: MOV BL, 04H
;CX=0F0FH;DS:[0010]=OFOFH
;BX=0025H;DS:[0010]=04H
;AX=0004H
;AX=0094H
;BX=0004H MOV WORD PTR L0010], 0080H;DS:[0010]=0080H MOV AX, [0010] DIV BL 程序段5: MOV AX, 00 DEC AX
;AX=0000H;AX=FFFFH
;AX=3FFEH
;AX=0080H;AX=0020H ADC AX, 3FFFH ADD AX, AX
;AX=7FFCH NOT AX SUB AX, 3
;AX=8003H;AX=8000H
;AX=FBFDH OR AX, OFEFDH AND AX, OAFCFH SHL AX, 1 RCL AX, 1 步骤
;AX=ABCDH;AX=579AH;AX=AF35H(1)进入 Turbo Debugger,在CPU窗口下输入程序段 2)将IP指针指向程序段开始处(3)按下F7键(单步)运行程序。
(4)分析各条指令执行后的结果与各标志位在指令执行后对它的影响
2.将寄存器BⅨ作地址指针,自BX所指的内存单元(0010HD)开始连续存放着三个无符号数(10H、04H、30H),。试编写程序分别求它们的和与积,并将结果存放在这三个数之后的单元中。
求和程序段
MOV[0010],10H MOV[0011],04H MOV[0012],30H SUB AX, AX MOV BX, 0010H MOV AL, BXI ADD AL, [BX+1] ADD Al, [BX+2] MOV [BX+3], AL 结果[DS:0013]=44H 求积程序段
MOV[0010],10H MOV[0011],04H MOV[0012],30H SUB AX, AX MOV A1,[0010] MOV BL, [0011 MUL BL MOV BL, [0012] MUL BL MOV [0013], AX 结果[DS:0013=0C00H 3.写出完成下述功能的程序段(1)传送15H到AL寄存器。(2)将L的内容乘以2(3)传送15H到L寄存器 4)AL的内容乘以BL的内容。最后结果(AX)=?
MOV AL, 15H SHL AL, 1 MOV BL, 15H MUL BL 结果(AX)=0372H 4.写出完成下述功能的程序段
(1)从地址DS:0000H单元中,传送一个数据58H到AL寄存器。(2)把AL寄存器的内容右移两位
(3)再把L寄存器的内容与字节单元DS:0001H中的数据12H相乘。(4)将乘积存入字单元DS:0002H中
M0V[0000],58H MOV[0001],12H MOV AL, [0000] SHR AL, 02 MOV BL, [0001] MUL BL MOV [0002], AX 结果[0002]=018CH 5.假设下面的程序段用来清除数据段中相应字存储单元的内容(即零送到这些存储 单元中去),其偏移地址从0010H到0020H(1)将第4条比较指令语句填写完整(划线处)MOV SI, 0010H NEXT: MOV WORD PTR[SI].00 ADD SI, 0022H CMP SI, INE NEXT(2)假设要清除偏移地址从0020H到001字存储单元中的内容(即由高地址到 低地址清零),试编写程序段。
MOV SI, 0020H NEXT MOV WORD PTR[S1], 00 SUB SI, 2 CMP SI, 000EH JNE NEXT
三,实验设备
IBM-TC/XT微机一台
四、实验预习要求
1.复习8086指令系统的算术和逻辑运算指令 2,按照题目要求在实验前编写好程序
五、实验报告要求
1.整理出运行正确的各题源程序段和结果, 2.,简要说明ADD指今和AND指令对标志位的影响。
1.见报告中加粗文字部分
2.普通加法指令ADD,指令格式:ADD Reg/mem,Reg/mem/imm受影响标志位:AF/CF/OF/PF/SF/ZF 逻辑与操作指令AND,指令的格式: AND Reg/Mem, Reg/Mem/imm受影响的标志位:CF(0)、OF(0)、PF、SF和ZF(AF无定义)