微机实验模版 联系客服

发布时间 : 星期一 文章微机实验模版更新完毕开始阅读

四、 实验小结

1打开EMU后,可以建立不同类型的文件,在本次微机原EMU的使用:○理实验中所建立的文件类型一般为.com,写入简单指令,查看简单程2程序序段的结果,后面的实验中有完整功能的程序则用.exe文件。○段写完后点击“emulate”按钮,则进入仿真,同时打开两个新窗口,分别为源代码窗口和emu仿真窗口。在仿真窗口中分别可以看到各通用寄存器和段寄存器的内容、内存单元中的内容、编译后的程序段。然后点击run按钮执行程序,或“single step”分步执行程序段,寄存器内容和内存单元的内容相应发生变化,可以查看(view)“memory”内存单元、flags各标志位、stack堆栈等的内容。 实验二 算术逻辑运算及移位操作

一、 实验目的

1.熟悉算术逻辑运算指令和移位指令的功能。

2.了解标志寄存器各标志位的意义和指令执行对它的影响。

二、 实验预习要求

1.复习8086指令系统中的算术逻辑类指令和移位指令。 2.按照题目要求在实验前编写好实验中的程序段。 三、 实验任务 1.

实验程序段及结果表格如表1.2:

表1.2 进位 零标志 符号 溢出 奇偶标志 辅助进位 CF ZF SF OF PF AF 标志位 程序段1: MOV AX, 1018H MOV SI, 230AH ADD AX, SI ADD AL, 30H MOV DX, 3FFH ADD AX,BX MOV [20H], 1000H ADD [20H], AX PUSH AX POP BX 程序段2: MOV AX, 0A0AH ADD AX, 0FFFFH MOV CX, 0FF00H ADC AX, CX SUB AX, AX INC AX OR CX, 0FFH AND CX, 0F0FH MOV [10H], CX 程序段3: MOV BL, 25H MOV BYTE PTR[10H], 4 MOV AL, [10H] MUL BL 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0

程序段4: MOV WORD PTR[10H],80H MOV BL, 4 MOV AX, [10H] DIV BL 程序段5: MOV AX, 0 DEC AX ADD AX, 3FFFH ADD AX, AX NOT AX SUB AX, 3 OR AX, 0FBFDH AND AX, 0AFCFH SHL AX,1 RCL AX,1

0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1 1 1 0 0 1 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 2.用BX寄存器作为地址指针,从BX所指的内存单元(0010H)开始连续存入三个无符号数(10H、04H、30H),接着计算内存单元中的这三个数之和,和放在0013H单元中,再求出这三个数之积,积放0014单元中。写出完成此功能的程序段并上机验证结果。

mov bx,0010h mov [bx],10h mov [bx+1],02h mov [bx+2],30h mov al,[bx] add al,[bx+1] adc al,[bx+2] mov [0013h],al mov al,[bx] mul [bx+1] mul [bx+2] mov [0014h],ax

3.写出完成下述功能的程序段。上机验证你写出的程序段,程序运行的最后结果(AX)=?

(1) 传送15H到AL寄存器; MOV AL,15H

(2) 再将AL的内容乘以2; MOV BL,2 MUL BL

(3)接着传送15H到BL寄存器; MOV BL,15H

(4) 最后把AL的内容乘以BL的内容。 MUL BL

4.写出完成下述功能的程序段。上机验证你写出的程序段,程序运行后的