【王爽-汇编语言】第七章检测题分析

第7章汇编测试题目

共3道单选题目

 

(1)

 

生成EXE之后用Debug加载后,查看寄存器内容如下: 
ds=0b2d es=0b2d ss=0b3d cs=0b3e ip=0000 
程序的起始地址的段地址是_____。 (3)
 1、  0b3e
 2、  0b2d
 3、  0b3d
 4、  0

 

 

分析:参考《汇编语言》第二版第92页,个人理解:DS+10h是程序的起始地址的段地址

         但为什么cs是0b3呢?不清楚。

 

 

(2)

 

 

下列指令不能执行的是_____。 (3)

 


 1、  mov ax,10h[bx]
 2、  mov ax,10h[di]
 3、  mov ax,[di+si]
 4、  mov ax,10h[bx][si]

 

分析:di和si不能同时使用。参考《汇编语言》第二版第161页和162页。

“在[..]中,bx,bp,si,di这4个寄存器可以单个出现,或只能以四种组合出现:bx和si,bx和di,bp和si,bp和di”

 

 

(3)

 

对如下程序要实现将datasg段中的字符串"welcome to masm!"复制到它后续的数据区中, (4)
     assume cs:codesg,ds:datasg
     datasg segment
     db 'welcome to masm!'
     db '................'
     datasg ends
     codesg segment
     start: mov ax,datasg
      mov ds,ax
      mov si,0
      ________
      ________
      mov ax,4c00h
      int 21h
     codesg ends
     end start
     在空白区域添加的指令序列合理的是_____。


 1、 

     mov di,10h
     mov cx,10h
     s: mov ax,[si]
     mov [di],ax
     add si,2
     add di,2
     loop s
 2、 

     mov di,10h
     mov cx,8
     s: mov ax,[si]
     mov [di],ax
     inc si
     inc di
     loop s
 3、 

     mov ss,ax
     mov sp,32 
     mov cx,8
     s: mov ax,[si]
     push ax
     add si,2
     loop s
 4、 

     mov cx,8
     s: mov ax,[si]
     mov [si+10h],ax
     add si,2
     loop s

分析:

    选项1:每次处理一个字,只需要循环八次,而不是10h次

    选项2:每次处理一个字节,需要循环10h次,而不是8次

    选项3:好像是将这串数给倒置了。

    选项4:正确

 

 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值