汇编实验四

一、

源程序编写:

#1551.asm

assume cs:code

code segment
    mov ax,0b800h
    mov ds,ax
    mov cx,16
    mov bx,07b8h
    mov ax,0403h
    s: mov [bx],ax
    add bx,2
    loop s
 
    mov ax,4c00h
    int 21h
code ends
end

编译链接输出结果,在界面中央形成一串爱心。

 

将数据改成0441H

 

 

二、

实验源代码:

#1551_1.asm

assume cs:code

code segment
    mov ax,0h
    mov ds,ax
    mov cx,64
    mov bx,800h
    mov al,0
    s: mov [bx],al
     inc bx
    inc al
    loop s
 
    mov ax,4c00h
    int 21h
code ends
end

 编译链接运行无反应

u指令反汇编

t指令单步调试(63太大了要按好几下截取其中一部分)

直接运行一遍看最后结果

 

 可见成功录入递增数据

三、

补全书上的代码,很明显要把指令段赋值给ax才能进行修改

u指令反编译

由题意 要将mov ax 4c00h之前的拷贝,地址在17

所以填17h

这样就完成了循环从 076A:0到17h

 

总结:loop的使用方法 s:xxxx  到 loop s之间的xxxx都是循环语句

我甚至觉得比goto方便的多

 

posted on 2018-11-18 13:21  batt1ebear  阅读(184)  评论(0)    收藏  举报

导航