文档详情

东南大学信息学院微机实验报告二.docx

发布:2019-08-28约2.26千字共4页下载文档
文本预览下载声明
微机实验报告 实验二 基本算术和逻辑运算 姓名: 学号: 实验内容: 1.采用单步执行方式执行下列各程序段,检查各标志位的情况。 程序段1: MOV AX, 1010H; AX=1010H i=1 MOV SI, 2000H; SI=2000H ADD AL, 30H; AX=1040H ADD AX, SI; AX=3040H MOV BX, 03FFH; BX=03FFH ADD AX, BX; AX=343FH p=1 MOV [0200], 1000J; [0020]=1000 ADD [0020], AX; [0020]=443FH 程序段2: MOV AX, 0A0AH; AX=0A0AH ADD AX, 0FFFFH; AX=0A09H c=1 a=1 MOV CX, 0FF00H; CX=0FF00H ADD AX, CX; AX=0909 a=0 SUB AX, CX; AX=0000 c=0 z=1 INC AX; AX=0001H z=0 i=1 p=0 OR CX, 00FFH; CX=FFFFH s=1 p=1 AND CX, 0F0FH; CX=0F0FH s=0 MOV [0010], CX; [0010]=0F0FH 程序段3: MOV BL, 25H; BL=25H MOV [0010], 04H; [0010]=04H MOV AL, [0010]; AL=04H MUL BL; AL=94H 程序段4: MOV BL, 04H; BX=0004H MOV WORD PTR [0010], 0080H; [0010]=0080H MOV AX, [0010]; AX=0080H DIV BL; AX=0020H 程序段5: MOV AX, 00H; AX=0000H DEC AX; AX=FFFFH s=1 p=1 a=1 ADC AX, 3FFFH; AX=3FFEH c=1 s=0 p=0 ADD AX, AX; AX=7FFCH c=0 p=1 NOT AX; AX=8003H SUB AX, 3; AX=8000H s=1 a=0 OR AX, 0FBFDH; AX=FBFDH p=0 AND AX, 0AFCFH; AX=ABCDH SHL AX, 1; AX=579AH c=1 s=0 o=1 p=1 RCL AX, 1; AX=AF35H c=0 步骤: (1)进入Turbo Debugger, 在CPU窗口下输入程序段。 (2)将IP指针指向程序段开始处 (3)按下F7键运行程序 (4)分析各条指令执行后的结果与各标志位在指令执行后对它的影响 2.将寄存器BX作地址指针,自BX所指的内存单元(0010H)开始连续存放着三个无符号数(10H、04H、30H)。试编写程序分别求他们的和与积,并将结果存放在这三个数之后的单元中。 程序段: MOV BX, 0010h MOV [BX], 10h MOV [BX+1], 04H MOV [BX+2], 30H MOV AX, 0000h ADD AL, [BX] ADD AL, [BX+1] ADD AL, [BX+2] MOV [BX+3], AX MOV AX, 0000h MOV AL, [BX] MOV CL, [BX+1] MUL CL MOV CL, [BX+2] MUL CL MOV [BX+5], AX 3.写出完成下述功能的程序段 (1)传送15H到AL寄存器中 (2)将AL的内容乘以2 (3)传送15H到BL寄存器 (4)AL的内容乘以BL的内容 最后结果(AX)=? 程序段: MOV AL, 15H MOV BL, 2 MUL BX MOV BL, 15H MUL BL 最后AX=0372H 4.写出完成下述功能的程序段 (1)从地址DS:0000H单元,传送一个数据58H到AL寄存器中 (2)把AL寄存器的内容右移两位 (3)再把AL寄存器的内容与字节单元DS:0001H中的数据12H相乘 (4)将乘积存入字单元DS:0002H中 程序段: MOV [0000], 58H MOV [0001], 12H MOV AL, [0000] SHR AL, 02h MOV BL, [0001] MUL BL MOV [0002], AX 5.假设下面的程序段用来清除数据段中相应字存储单元的内容(即零送到这些存储单元中去),其偏移地址从0010H到0020H (1)将第4条比较指令语句填写完整(划线处) MOV SI, 0010H
显示全部
相似文档