实验二实验内容

  • 格式:doc
  • 大小:40.00 KB
  • 文档页数:2

课程名称:汇编语言

实验仪器设备:PC机

实验名称:顺序程序设计

实验目的:

1、 理解程序的顺序执行过程(没有修改自动变化的IP)

2、 如何利用指令访问和修改内存单元

3、 加法减法指令对标志位的影响

4、 理解堆栈操作指令的执行过程

实验内容

(1) 使用debug,将下面的程序段写入内存,逐条执行,根据指令执行后的实际运行情况填空。

mov ax,ffff

mov ds,ax

mov ax,2200

mov ss,ax

mov sp,0100

mov ax,[0] ;ax=( 5bea )

add ax,[2] ;ax=(5cca )

mov bx,[4] ;bx=(30f0 )

add bx,[6] ;bx=(6024 )

push ax ;sp=(00fe );修改的内存单元的地址是(cs:001c )内容为(5bea )

push bx ;sp=(00fc );修改的内存单元的地址是(cs:001d )内容为(6024 )

pop ax ;sp=(00fe );ax=(6024 )

pop bx ;sp=(0100 );bx=(5cca )

push [4] ;sp=(00fe );修改的内存单元的地址是(cs:0020 )内容为(30f0 )

push [6] ;sp=(00fc );修改的内存单元的地址是(cs:0024 )内容为(2f34 )

(2) 使用使用debug,将下面的程序段写入内存,逐条执行,根据指令执行后的实际运行情况填空。注意红色部分的标志位变化(下面是在DEBUG下的标志位为0为1的值。)

mov ax,0

add ax,0 AX(0000 )OF( 0 )ZF( 1 ) SF( 0 )AF( 0 ) PF( 1 )CF( 0 )

mov ax,0ffffh

add ax,1 AX(0000 )OF( 0 )ZF( 1 ) SF( 0 )AF( 1 ) PF( 1 )CF( 1 )

mov ax,0008h

add ax,8 AX( 0010 )OF( 0 )ZF( 0 ) SF( 0 )AF( 1 ) PF( 0 )CF( 0 )

mov ax,0

sub ax,0ffffh AX( 0011 )OF(0 )ZF( 0 ) SF( 0 )AF( 1 ) PF( 1 )CF( 1 )

mov ax,0010h

add ax,1 AX( 0011 )OF( 0 )ZF( 0 ) SF( 0 )AF( 0 ) PF( 1 )CF( 0 )

mov ax,4000h

add ax,4000h AX(8000 )OF( 1)ZF( 0 ) SF( 1 )AF( 0 ) PF( 1 )CF( 0 )

参考资料:

《汇编语言》第二版 王爽. 主编.清华大学出版社

标志位 1 0

OF OV NV

SF NG PL

ZF ZR NZ

PF PE PO

CF CY NC

AF AC NA

IF EI DI

DF DN UP