实验四
Posted ahrui
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实验四相关的知识,希望对你有一定的参考价值。
练习一:
源码:
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
运行效果:
修改后:
练习二:
源码:
assume cs:code code segment mov ax,0 mov ds,ax mov bx,200h mov cx,40h mov al,0 s: mov [bx],al inc al inc bx loop s mov ax,4c00h int 21h code ends end
debug查看修改情况:
修改成功
练习三:
源码:
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:ip中,想要复制代码,要从cs段寄存器中提取。
第二空填17h,进入debug环境下对代码反汇编,mov ax,4c00h偏移地址为0017,所以之前一共有内存为17h的代码。
反思:
收获,通过这次实验,我知道了,c/c++中循环语言在底层的具体实现步骤。不足,虽然做了实验,但是还有许多不理解的地方,不能准确的知道cx的具体取值等。
以上是关于实验四的主要内容,如果未能解决你的问题,请参考以下文章