实验四

1. 综合使用 loop,[bx],编写完整汇编程序,实现向内存 b800:07b8 开始的连续 16 个字单元重复填充字数据 0403H。

该程序运行成功之后:

将0403h-->0401h之后实验结果为: 

实验内容二:

编译连接运行无异常:

    

 p命令调试(与t命令不同会跳过子程序):

g命令与d命令调试(显示200-23f已成功修改): 

实验内容三:

下面的程序的功能是将”mov ax,4c00h"之前的指令复制到内存0:200处,补全程序,上机调试,跟踪运行结果 

assume cs:code
code segment
    mov ax,___cs____
    mov ds,ax
    mov ax,0020h
    mov es,ax
    mov bx,0
    mov cx,___17h____
  s:mov al,[bx]
    mov es:[bx],al
    inc bx
    loop s
    mov ax,4c00h
    int 21h
code ends
end

需要将代码段内的指令当作数据复制到目的地址当中去,cs是指向程序代码段的地址,因此第一个空填cs;

第二空先填入07h测试之后查看cx的值 随后减去最后两行代码(5字节)即为该值

 

cs=001c   则该值为17h;

源码:

 

编译连接运行: 

t命令逐行调试: 

可见成功复制到目的es:0 地址。

 

 

 

 

posted @ 2018-11-22 15:14  周芷瑶  阅读(372)  评论(3)    收藏  举报