CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  其他开发语言 >  汇编语言

请教各位汇编的高手,这几个题的答案是什么?

楼主jibrood(一二)2006-03-08 19:49:08 在 其他开发语言 / 汇编语言 提问

本人的汇编知识都交给老师了,这三个题是朋友问我的,我又回答不出来,只有到这里请教各位了?  
  一、根据下面的伪指令和指令序列,设TAB1的段地址是1000H,偏移地址是0010H,则TAB2的物理地址是?(AX)=?  
  TAB1   DW1,2,3,4  
    CONT   EQU   5  
  TAB2   DB‘ABCDEF’  
    MOV     BX,OFFSET   TAB1  
    ADD     BX,CONT  
    MOV     AX,WORD   PTR[BX]    
   
  二、设(AX)=8,(BX)=3,(CX)=2,下列程序执行后,(AX)=?(BX)=?  
    LOP:   ROR   BX,CL  
                ADC   AX,BX  
                LOOP   LOP  
   
  三、执行下面的伪指令和指令序列后,(AL)=?(CX)=?  
    TAB   DB‘5678’  
    LEA   SI,TAB  
    MOV   CX,LENGTH   TAB  
    MOV   AL,[SI]  
    SUB   AL,30H  
    INC   SI    
    MOV   BL,[SI]  
    SIB   BL,30H  
    ADD   AL,BL  
    AAA 问题点数:20、回复次数:16Top

1 楼mydo(侯佩|hopy|ks)回复于 2006-03-08 20:08:41 得分 0

很简单啊,实在不会用   debug   调试,自己体会。Top

2 楼fhb13(游途道标)回复于 2006-03-08 20:45:22 得分 10

一、TAB2的物理地址是10010H(AX)=ABCD  
   
  二、(AX)=13(BX)=1  
   
  三、(AL)=11H   (CX)=4  
   
  楼主   我升3星靠你了Top

3 楼DelphiGuy()回复于 2006-03-08 21:13:27 得分 10

1.   10018h,   ax=0400h  
  2.   ax=2009h   bx=6000h  
  3.   al=1   cx=4  
  Top

4 楼jibrood(一二)回复于 2006-03-09 09:31:42 得分 0

哪一个是正确答案呀?FHB13和DelphiGuy()Top

5 楼fhb13(游途道标)回复于 2006-03-09 13:20:25 得分 0

一、TAB2的物理地址是10018H               (AX)=4142H='AB'  
   
  二、(AX)=13(BX)=1  
   
  三、(AL)=1H   (CX)=4  
   
  最后正确答案如上Top

6 楼fhb13(游途道标)回复于 2006-03-09 13:28:48 得分 0

一、TAB2的物理地址是10018H               (AX)=4142H='AB'  
   
  二、(AX)=2009h(BX)=6000h  
   
  三、(AL)=1H   (CX)=4  
   
  真正的正确答案如上  
  作汇编题目错误率好高,兄弟考试小心Top

7 楼DelphiGuy()回复于 2006-03-09 15:25:11 得分 0

你的答案还是有错。:)  
  TAB1:  
  1000:0010   01   00   02   00   03   [00   04]   00  
  所以  
  MOV   BX,OFFSET   TAB1  
  ADD   BX,CONT  
  MOV   AX,WORD   PTR[BX]    
  之后ax肯定是0400,因为x86中的指令偏移都是以字节为单位的,这不是C语言。  
  Top

8 楼jibrood(一二)回复于 2006-03-09 16:53:26 得分 0

高手们,能不能用DEBUG测试一下呀,错了可就惨了,拜托各位了Top

9 楼fhb13(游途道标)回复于 2006-03-09 18:49:56 得分 0

多谢楼上的楼上点明  
  TAB1   DW1,2,3,4  
    CONT   EQU   5  
  TAB2   DB‘ABCDEF’  
  在内存中的分布应该如下这样  
  01H   00H   02H   00H   03H   00H   04H   00H   41H   42H   43H   44H   45H   46H  
   
    MOV     BX,OFFSET   TAB1     ;BX的地址指向0001H  
    ADD     BX,CONT                   ;BX+5指向0400H也就是00H   04H  
    MOV     AX,WORD   PTR[BX]  
   
  AX因该是0400H  
  楼主真不好意识,搞C语言的后遗症:)Top

10 楼jibrood(一二)回复于 2006-03-09 23:18:27 得分 0

首先谢谢两位的帮忙,  
  对于第一题,和第三题,我也演算出来了,但是第二题我等到的答案是  
  (AX)=28H  
  (BX)=60H  
  能贴出演算过程嘛,谢谢了,结贴时分数一定送上Top

11 楼jibrood(一二)回复于 2006-03-09 23:36:30 得分 0

应该是  
  (AX)=002CH  
  (BX)=0018HTop

12 楼jibrood(一二)回复于 2006-03-09 23:53:46 得分 0

算错了,第二题的答案应该是  
  (AX)=2008H  
  (BX)=6000H  
  因为在第一次ADC后CF的值为0  
  所以在二次ADC的结果2008H  
   
   
  Top

13 楼DelphiGuy()回复于 2006-03-10 13:31:54 得分 0

不对。  
  bx=3   cx=2  
  那么ror   bx,cl之后carry位就应该是1。  
  Top

14 楼fhb13(游途道标)回复于 2006-03-10 14:04:32 得分 0

第二题不骤如下   绝对正确!!!!  
  我用Debug调试的  
   
   
  AX=0008   BX=0003   CX=0002   DX=0000   SP=FFEE   BP=0000   SI=0000   DI=0000  
  DS=13C4   ES=13C4   SS=13C4   CS=13C4   IP=0109   NV   UP   EI   PL   NZ   NA   PO   NC  
  13C4:0109   D3CB     ROR   BX,CL  
   
  AX=0008   BX=C000   CX=0002   DX=0000   SP=FFEE   BP=0000   SI=0000   DI=0000  
  DS=13C4   ES=13C4   SS=13C4   CS=13C4   IP=010B   NV   UP   EI   PL   NZ   NA   PO   CY  
  13C4:010B   11D8     ADC   AX,BX  
   
  AX=C009   BX=C000   CX=0002   DX=0000   SP=FFEE   BP=0000   SI=0000   DI=0000  
  DS=13C4   ES=13C4   SS=13C4   CS=13C4   IP=010D   NV   UP   EI   NG   NZ   NA   PE   NC  
  13C4:010D   E2FA     LOOP   0109  
   
  AX=C009   BX=C000   CX=0001   DX=0000   SP=FFEE   BP=0000   SI=0000   DI=0000  
  DS=13C4   ES=13C4   SS=13C4   CS=13C4   IP=0109   NV   UP   EI   NG   NZ   NA   PE   NC  
  13C4:0109   D3CB     ROR   BX,CL  
   
  AX=C009   BX=6000   CX=0001   DX=0000   SP=FFEE   BP=0000   SI=0000   DI=0000  
  DS=13C4   ES=13C4   SS=13C4   CS=13C4   IP=010B   OV   UP   EI   NG   NZ   NA   PE   NC  
  13C4:010B   11D8     ADC   AX,BX  
   
  AX=2009   BX=6000   CX=0001   DX=0000   SP=FFEE   BP=0000   SI=0000   DI=0000  
  DS=13C4   ES=13C4   SS=13C4   CS=13C4   IP=010D   NV   UP   EI   PL   NZ   NA   PE   CY  
  13C4:010D   E2FA     LOOP   0109  
   
  AX=2009   BX=6000   CX=0000   DX=0000   SP=FFEE   BP=0000   SI=0000   DI=0000  
  DS=13C4   ES=13C4   SS=13C4   CS=13C4   IP=010F   NV   UP   EI   PL   NZ   NA   PE   CY  
  13C4:010F   0000     ADD   [BX+SI],AL  
   
  最后  
  AX=2009   BX=6000Top

15 楼daipeanut(满天星I'mwaitingforyourcoming with a sincere heart)回复于 2006-03-10 15:02:42 得分 0

DelphiGuy()   (   )   信誉:100     2006-3-8   21:13:27     得分:   0      
     
     
         
  1.   10018h,   ax=0400h  
  2.   ax=2009h   bx=6000h  
  3.   al=1   cx=4  
   
  正解:  
       
     
  Top

16 楼jibrood(一二)回复于 2006-03-10 19:54:22 得分 0

谢谢各位了,  
  不过第三题还有点问题的,  
  今天我查到这个指令,是这样解释的,  
  LENGTH   对于变量中使用DUP的情况,汇编程序将送回分配给该变量的单元数(以变量类型为单位),而对于其他情况,则送回1,所以(CX)=1  
  Top

相关问题

  • 汇编问题
  • DElphi4中的汇编问题,50分,答案2句话,快来拿分!!
  • 初学汇编,有问题请教在座各位
  • 一点比较基础的汇编问题,请教各位
  • 汇编的问题
  • win32汇编问题
  • arm汇编问题,
  • 请问 谁有李季文编著的<<80X86汇编语言程序设计教程>>的习题答案?
  • 《ibm-pc汇编语言程序设计》课后题有答案吗?是哪一本书?
  • 求沈美明的 《IBM-PC汇编语言程序设计》第2版的课后习题答案 谢谢

关键词

  • 物理
  • 指令
  • ds
  • c4
  • bx
  • ax
  • cx
  • 题
  • 答案
  • tab

得分解答快速导航

  • 帖主:jibrood
  • fhb13
  • DelphiGuy

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo