1、实验一 标志寄存器应用一、实验目与规定1掌握汇编程序编译过程;2掌握8086标志寄存器特点。二、实验内容练习辨认8086标志寄存器各种标志位。PC机中状态位表达如下:标志位名称为1相应符号为0相应符号OF 溢出标志OVNVDF 方向标志DNUPIF 中断容许标志EIDISF 符号标志NGPLZF 零标志ZRNZAF 半进位标志ACNAPF 奇偶标志PEPOCF 进位标志CYNCDEBUG命令及其功能:命令功能格式A对语句进行汇编AC比较内存内容CD显示内存内容D或E修改内存内容EF填充内存内容FG运营一种程序或程序段GH十六进制加减法运算HI读/显示输入字节IL装入文献或磁盘扇区LM传送内存块
2、MN定义文献名和参量NO输出命令OP单步,并跳过子程序PQ退出DEBUGQR显示和修改寄存器内容RS对字符进行检索ST跟踪执行和显示TU对指令进行反汇编UW写入文献或磁盘扇区W三、实验设备微型计算机(80x86系列)。四、实验参照程序 DATA SEGMENT A DW 123 B DW 456 SUM DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE ,DS:DATA START: MOV AX ,DATA MOV DS ,AX MOV AX ,A SUB AX ,B MOV SUM ,AX MOV AH,4CH INT 21H CODE ENDS END
3、 START五、实验环节环节一、用鼠标单击开始菜单,单击运营。如下图所示:环节二、在运营窗口中键入cmd,回车进入命令提示符。如下图所示:环节三、在命令提示符中编辑程序文献。如下图所示:1C:D: 回车2D: CD MASM611 回车3D:MASM611CD BIN 回车4D:MASM611BIN EDIT 文献名.ASM编辑程序之后,从FLIE菜单中选取SAVE,之后选取EXIT退出环节四、在命令提示行中编译程序。如下图所示:D:MASM611BINMASM 文献名.ASM 回车环节五、在命令提示行中链接程序。如下图所示:D:MASM611BINLINK 文献名.OBJ 回车回车回车回车直
4、到浮现环节六、在命令提示行中运营程序。如下图所示:D:MASM611BINdebug 文献名.exe 回车依照DEBUG命令可以查看寄存器内容以及其他。DEBUG命令及其功能:命令功能格式A对语句进行汇编AC比较内存内容CD显示内存内容D或E修改内存内容EF填充内存内容FG运营一种程序或程序段GH十六进制加减法运算HI读/显示输入字节IL装入文献或磁盘扇区LM传送内存块MN定义文献名和参量NO输出命令OP单步,并跳过子程序PQ退出DEBUGQR显示和修改寄存器内容RS对字符进行检索ST跟踪执行和显示TU对指令进行反汇编UW写入文献或磁盘扇区W六、实验结论1程序运营后变量SUM值是多少?2程序运
5、营先后标志寄存器各标志位有何变化?3分析实验成果及所遇到问题,并阐明解决办法。答:实验成果:运营前:运营后:标志位分别为NV UP EI NG NZ NA PO CYSUM值同当前AX,SUM=FEB3。问题:无实验二 指令寻址方式练习一、实验目与规定1掌握汇编语言调试工具(DEBUG)基本用法;2掌握8086寻址方式。二、实验内容练习辨认8086有关指令寻址方式。DEBUG命令及其功能:命令功能格式A对语句进行汇编AC比较内存内容CD显示内存内容D或E修改内存内容EF填充内存内容FG运营一种程序或程序段GH十六进制加减法运算HI读/显示输入字节IL装入文献或磁盘扇区LM传送内存块MN定义文献
6、名和参量NO输出命令OP单步,并跳过子程序PQ退出DEBUGQR显示和修改寄存器内容RS对字符进行检索ST跟踪执行和显示TU对指令进行反汇编UW写入文献或磁盘扇区W其中表达输入内容;表达为可选项。三、实验设备微型计算机(80x86系列)。四、实验参照程序 DSEG SEGMENT ARRAY DB 11,56,78,8,76,90,96,33,21,06 COUNT DW $ - ARRAY RELUST DB ? DSEG ENDS SSEG SEGMENT PARA STACK STACK SDAT DB 50 DUP (?) TOP EQU LENGTH SDAT SSEG ENDS C
7、SEG SEGMENT ASSUME CS:CSEG ,DS:DSEG ,SS:SSEG START: MOV AX ,DSEG MOV DS ,AX;寄存器寻址 MOV AX ,SSEG MOV SS ,AX MOV AX ,TOP MOV SP ,AX MOV BX ,OFFSET ARRAY MOV CX ,COUNT;直接寻址 DEC CX MOV AL ,BX;寄存器间接寻址 AGAIN: INC BX CMP AL ,BX JAE NEXT MOV AL ,BX NEXT: DEC CX JNZ AGAIN MOV RELUST,AL MOV AH,4CH;及时寻址 INT 21H
8、 CSEG ENDS END START五、实验环节1D:MASMMASM SY2.ASM2D:MASMLINK SY2.OBJ3D:MASMSY2.EXE4D:MASMDEBUG SY2.EXE六、实验结论1指出参照程序中带下划线指令中源操作数寻址方式?2程序运营后AL中值是多少?3分析实验成果及所遇到问题,并阐明解决办法。答:运营成果:AL=60H需要注意问题:MASM为16位运营方式,在64位机上需要模仿器。MASM不支持非8.3文献命名方式。建议使用短目录及短文献名。寻址方式:MOV AL ,BX是按字节寻址而不是按字寻址。MOV AX ,SSEGMOV SS ,AXMOV AX ,TOPMOV SP ,AX此四句无必要,使用ASSUME伪指令后,SS段运营时将自动装入,SP将自动置数。只需对DS或ES手动装入即可。此外,此汇编程序中没有堆栈操作指令,可以不合用STACK段。