. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->包含多个段的程序
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  本网的测试题大家来看看  [待解决] 回复[ 5次 ]   点击[ 538次 ]  
love.asm
[帖 主]   [ 发表时间:2009-08-13 22:22 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-08-04 21:04
在Intel8086环境下,下列说法合理的是__3在某程序中,定义了262B的数据段data,那么程序载入内存,该段实际占用的内存空间是_1___B。 
 1、  256 
 2、  262 
 3、  272 
 4、  512 
___。 
 1、  汇编语言程序载入内存后处于64K空间以外的数据和指令将无法使用和执行。 
 2、  一个数据段命名为data,此标号代表这个数据段在内存中的起始地址。 
 3、  如果载入的程序没有返回语句,那么当程序代码执行完毕,将继续读取后续内存空间存储的指令到CPU内部作为指令执行下去,直到遇到返回指令为止。 
 4、  用DW和DD定义进行的数据,只能够以字为单位访问 
    assume cs:code  
     code segment  
     start: mov ax,3 
      jmp s1 
     s: mov bx,0 
      mov ax,bx 
     s1: mov cx,3 
     s2: add ax,2 
      loop s2 
     s3: mov ax,4c00h 
      int 21h 
     code ends 
     end s 
     上面代码执行s3处的指令之前,ax的值是___2__。 
 1、  9 
 2、  6 
 3、  5 
 4、  2 
如下程序: 
     assume cs:codesg 
     codesg segment 
      dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h 
      start:mov ax,0 
      mov ds,ax 
      mov bx,0 
      mov cx,8 
      s:________ 
      add bx,2 
      loop s 
      mov ax,4c00h 
      int 21h 
     codesg ends 
     end start 
     要实现一次用内存0:0--0:15单元中的数据改写程序中定义的数据,添加到空白处的指令序列不能是__1__。 
 1、  mov cs:[bx],ds:[bx] 
 2、  mov dx,[bx] 
     mov cs:[bx],dx 
 3、  push [bx] 
     pop cs:[bx] 
 4、  mov ax,[bx] 
     mov cs:[bx],ax 
某程序有数据段、栈段和代码段三部分,如果加载后代码段的段地址为X,那么下列说法正确的是_4__。 
 1、  可以断定数据段的段地址是X-2。 
 2、  可以断定栈段的段地址是X-1。 
 3、  可以断定程序PSP区的段地址是X-10。 
 4、  确定数据段和栈段的段地址与X的关系,要视其大小和在其在源程序中定义的位置关系。 
错了哪一下。
第5题比较疑惑3和4好象都对了,我选择了4
mess
[第1楼]   [ 回复时间:2009-08-17 10:02 ]   [引用]   [回复]   [ top ] 
荣誉值:337
信誉值:0
注册日期:2008-01-01 17:48
试着分析每个题目考查的知识点,确定每个题每个题支正确或错误的理由是不错的方法。

比如第一题,考查的是这章实验的内容,根据我们计算实际内存占用的空间大小公式,带入262B就能得到正确结果了。

最后一个题目。答案是4,根据本章实验,数据段、栈段和代码段顺序是不固定的,代码段未必是在程序的开头,自然3也就错误了。
mywiil
[第2楼]   [ 回复时间:2009-08-17 10:22 ]   [引用]   [回复]   [ top ] 
荣誉值:61
信誉值:4
注册日期:2008-10-14 16:29
第一题不对着呢。
alabo886
[第3楼]   [ 回复时间:2009-10-15 09:42 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-10-09 19:25
第一题选3。
上面代码执行s3处的指令之前,ax的值是___2__。这一题选1
chuzubanbianchuang
[第4楼]   [ 回复时间:2009-10-19 10:46 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-09-23 15:15
能不能对第一题详细解说一下,根据哪个公式啊,我迷糊,希望高手解答下,先谢谢了
joey0926
[第5楼]   [ 回复时间:2009-10-27 15:49 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-09-22 16:07
关于伪指令相关描述错误的是___2__。 
 1、  伪指令没有对应的机器码,只用来指导汇编过程的。 
 2、  伪指令由编译器处理,在程序中可有可无。 
 3、  编译器要通过执行伪指令才能对源程序进行相应的处理操作,完成编译工作。 
 4、  伪指令是汇编语言源程序不可缺少的组成部分。 


  在Intel8086环境下,下列说法合理的是__2___。 
 1、  汇编语言程序载入内存后处于64K空间以外的数据和指令将无法使用和执行。 
 2、  一个数据段命名为data,此标号代表这个数据段在内存中的起始地址。 
 3、  如果载入的程序没有返回语句,那么当程序代码执行完毕,将继续读取后续内存空间存储的指令到CPU内部作为指

令执行下去,直到遇到返回指令为止。 
 4、  用DW和DD定义进行的数据,只能够以字为单位访问。 


  在某程序中,定义了262B的数据段data,那么程序载入内存,该段实际占用的内存空间是_3___B。 
 1、  256 
 2、  262 
 3、  272 
 4、  512 

   
     assume cs:code  
     code segment  
     start: mov ax,3 
      jmp s1 
     s: mov bx,0 
      mov ax,bx 
     s1: mov cx,3 
     s2: add ax,2 
      loop s2 
     s3: mov ax,4c00h 
      int 21h 
     code ends 
     end s 
     上面代码执行s3处的指令之前,ax的值是__1___。 
 1、  9 
 2、  6 
 3、  5 
 4、  2 

   
  如下程序: 
     assume cs:codesg 
     codesg segment 
      dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h 
      start:mov ax,0 
      mov ds,ax 
      mov bx,0 
      mov cx,8 
      s:____1____ 
      add bx,2 
      loop s 
      mov ax,4c00h 
      int 21h 
     codesg ends 
     end start 
     要实现一次用内存0:0--0:15单元中的数据改写程序中定义的数据,添加到空白处的指令序列不能是__1__。 
 1、  mov cs:[bx],ds:[bx] 
 2、  mov dx,[bx] 
     mov cs:[bx],dx 
 3、  push [bx] 
     pop cs:[bx] 
 4、  mov ax,[bx] 
     mov cs:[bx],ax
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved