. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->INT指令
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  第13章 书上的一个例题 大小写转换  [已解决] 回复[ 3次 ]   点击[ 599次 ]  
xiaolaopo
[帖 主]   [ 发表时间:2008-06-08 18:05 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:2
注册日期:2008-04-13 09:39
程序都分两部分先运行安装的,在运行调用的.
安装的程序完成后  所占内存不是应该被系统收回没  ,怎么运行中不是这样 ,并没有收回,能够正常运行
我看第12章的 时候 ,有一个例子,就是说 ,系统数据会被收回的。
程序安装的
assume cs:code 
code segment 
start: mov ax,cs 
       mov ds,ax 
       mov si,offset capital 
       mov ax,0 
       mov es,ax 
       mov di,200h 
       mov cx,offset capitalend - offset capital 
       cld 
       rep movsb 
       mov ax,0 
       mov es,ax 
       mov word ptr es:[7ch*4],200h 
       mov word ptr es:[7ch*4+2],0h 
       mov ax,4c00h 
       int 21h 
 capital: push cx 
        push si 
 change:mov cl,[si] 
        mov ch,0 
    jcxz ok 
    and byte ptr [si],11011111b 
    inc si 
    jmp short change 
  ok: pop si 
      pop cx 
      iret 
   capitalend:nop 
   code ends 
   end start 
程序调用的
assume cs:code 
data segment 
  db 'conversation',0 
data ends 

code segment 
start: mov ax,data 
       mov ds,ax 
       mov si,0 
   
       int 7ch 
       mov ax,4c00h 
       int 21h 
  code ends 
  end start
younggay
[第1楼]   [ 回复时间:2008-06-10 01:36 ]   [引用]   [回复]   [ top ] 
荣誉值:273
信誉值:0
注册日期:2008-01-23 20:23
安装的程序完成后  所占内存不是应该被系统收回没  ,怎么运行中不是这样 ,并没有收回,能够正常运行
=================
安装后,你的程序就写入了相应内存,此时,只要你不重写想这段内存中写数据或这重新开启一个命令窗口,内存中的数据是依然存在的。
某些程序运行中可以回收内存,但是,并不是讲内存中的数据清空,回收内存只是将该内存从占用状态变为非占用状态,不过内存中的数据是不会变化的。
在保护模式下,每次启动一个命令窗口,都是新启动一个虚拟的8086环境,重新分配给这个窗口内存,那么此时的窗口就不是你之前装载过程序的窗口了,而已。
xiaolaopo
[第2楼]   [ 回复时间:2008-06-10 14:54 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:2
注册日期:2008-04-13 09:39
挺有道理 ,不过为什么在12章讲内中断的时候,程序12.2说"  程序执行完成后返回,它所占用的内存空间被系统释放,而在其中存放的overflow,也将很可能被别的信息覆盖啊??"  是不是把数据写在0:200处的话,一般操作系统是不会利用这块内存的?
xiaolaopo
[第3楼]   [ 回复时间:2008-06-11 06:55 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:2
注册日期:2008-04-13 09:39
此贴由 贴主 于 [ 2008-06-11 06:55 ] 结贴。 结贴原因:问题已解决
得分情况:
此问题已结贴!
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved