匯编语言(第2版)王爽着_课后实验报告详解.docVIP

  • 6
  • 0
  • 约1.07万字
  • 约 26页
  • 2017-01-19 发布于重庆
  • 举报

匯编语言(第2版)王爽着_课后实验报告详解.doc

匯编语言(第2版)王爽着_课后实验报告详解

汇编语言实验报告 班级学号 学生姓名 提交日期 成 绩 : 实验1-1如下: 用E命令将指令写入内存: 用A命令将指令写入内存: 实验1-2代码如下: 用a命令在2000:0000处写如要写如的代码,然后用R命令来修改CS为2000,IP修改为0,然后用T命令执行,直到AX中的值为10,因为是默认为十六进制,所以ax中的0010实际代表十进制的16。如图: 实验1-3: 用D命令输入内存fff0h~fffffh,则可看到: 生产日期为06/15/09在地址为FFFF5~FFFF12处,现在用E命令随便修改一下有: 在window7下虚拟的dos中可以改,但如果重新打开dos中的debug则日期任然不会改变,因为那是ROM。 实验1-4代码如下: 内存地址为B800:0开始的为显存,是RAM,可以改变其值来在屏幕中显示,其中这一个字符占两个字节,前一个(低)为字符的ASCII码,后一个(高)为要显示的颜色,内存B800:0和B800:1这两个字节对应着屏幕中的第一个字符的位置,依次类推,每个屏幕的行有80个字符,对应的内存占160个字节 实验2-1:(按实验结果填空) 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=6026 Push ax ;sp=00FE; 修改的内存单元的地址是2200:00FE 内容是5CCA Push bx ;sp=00FC; 修改的内存单元的地址是2200:00FC 内容是 6026 Pop ax ;sp=00FE; ax=6026. Pop bx ;sp=0100; bx=.5CCA Push [4] ;sp=00FE; 修改的内存单元的地址是2200:00FE 内容是 30F0 Push [6] ;sp=00FC; 修改的内存单元的地址是 2200:00FC内容是 2F36 实验截图如下: 实验2-2(分析问答实验) 答:因为T命令是单步中断,我们在后面学习后知道,CPU执行中断时会保留现场,即将标志寄存器,CS,IP等入栈,而实验中栈的地址正好是要查询的内存地址,所以即便未对内存单元进行写入命令,但里面的值会因为CPU要保留现场自动被改了 实验3 (1)代码: ASSUME CS:CODES CODES SEGMENT START: mov ax,2000h mov ss,ax mov sp,0 add sp,10 pop ax pop bx push ax push bx pop ax pop bx MOV AH,4CH INT 21H CODES ENDS END START debug跟踪: 用debug跟踪查看PSP中的内容: 可见PSP的头两个字节是CD 20,与书上的一致 实验4-1代码如下: ASSUME CS:CODES CODES SEGMENT START: mov ax,0 mov ds,ax mov bx,200h mov cx,64 s: mov [bx],al inc al inc bx loop s MOV AH,4CH INT 21H CODES ENDS END START 实验4-1运行图如下: 实验4-2代码如下: ASSUME CS:CODES CODES SEGMENT START: mov ax,200h mov ds,ax mov bx,0 mov cx,64 s: mov [bx],bx inc bx loop s MOV AH,4CH INT 21H CODES ENDS END START 运行结果同实验4-1的一样 实验4

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档