标签:语言 代码 分享 .com sum alt 理解 内存 分享图片
练习一:
源码:
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的具体取值等。
标签:语言 代码 分享 .com sum alt 理解 内存 分享图片
原文地址:https://www.cnblogs.com/AHrui/p/9960006.html