标签:分享 ext code 补全 技术分享 alt 推出 idt 循环
实验内容 一:
运行截图:
调试截图
实验内容 二 :
1)
调试截图:
2)
参考代码: (来源于网络)
assume cs:code
code segment
mov ax,20h
mov ss,ax
mov sp,40h
mov bx,3f3eh
mov cx,32
s: push bx
sub bx,0202h
loop s
mov ax,4c00h
int 21h
code ends
end
调试截图
未解: sp的定义为什么是40h?
实验内容 三 :
(3)下面的程序功能是将“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:存放当前正在运行的程序代码所在段的段基值赋值给 ds
第二空 : 推出来的
先随便令 cx=20
通过反汇编
“mov ax,4c00h"之前 是至 0017
所以如果将“mov ax,4c00h"之前的指令复制到内存0:200处 需复制17个字节
需循环17次
cx =17h
标签:分享 ext code 补全 技术分享 alt 推出 idt 循环
原文地址:https://www.cnblogs.com/WINNER9898/p/10004579.html