实验二实验内容
- 格式: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