回 帖 发 新 帖 刷新版面

主题:简单的程序(急...)

大家好,本人不懂汇编语言,明天就要参加考试,其中6分的汇编题不会做,想请高手帮帮我,不胜感激,谢谢...
题目一:设TAB1的段地址是1000H,偏移地址是0010H,则(AX)=___________
        TAB1   DW   1,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)=____________
        LOP:  ROR   BX,CL
              ADC   AX,BX
              LOOP  LOP
谢谢大家,最好告诉我每一行代码的含义,真的谢谢大家了!!!

回复列表 (共8个回复)

沙发

题目一:设TAB1的段地址是1000H,偏移地址是0010H,则(AX)=___________
        TAB1   DW   1,2,3,4         
        ;定义8个字节,一个数字占2占字节
        ;低位放在低位地址
        ;即   01 00,02 00,03 00,04 00
          位    0  1   2  3   4  5   6  7
        CONT   EQU  5               
        TAB2   DB   'ABCDEF'
               MOV  BX,OFFSET TAB1  ;取这8个字节的首地址
               ADD  BX,CONT         ;首地址+5
               MOV  AX,WORD PTR[BX] ;就是00,04
               ;但低位放在al,高位在ah
       所以ax =0400h

题目二:
    设(AX)=8,(BX)=3,(CX)=2,下列程序段执行后,(AX)=____________
        LOP:  ROR   BX,CL
;第一次循环右移cx=2位,00000000 00000011 =>11000000 00000000
;第2次循环右移cx=1位, 11000000 00000000 =>01100000 00000000
;ror影响 cf位,cf保存最后的移出位,第一次的最后移出位是 1
第二次的最后移出位是 0,带进位相加不用加1
              ADC   AX,BX ;带进位相加
;对于adc,如果cf位1,则结果加上cf,这里ax还要加1
              LOOP  LOP   ;循环两次

;最后的结果溢出 ax = 2009h

板凳

还临时抱佛脚了,我都好久没来这儿逛 了!

3 楼

4 楼

[quote]还临时抱佛脚了,我都好久没来这儿逛 了![/quote]
可惜考试时这4分还是都错了啊...

5 楼

[quote][quote]还临时抱佛脚了,我都好久没来这儿逛 了![/quote]
可惜考试时这4分还是都错了啊...
[/quote]
错了不要紧的,呵呵~~~[em2]

6 楼

[quote][quote][quote]还临时抱佛脚了,我都好久没来这儿逛 了![/quote]
可惜考试时这4分还是都错了啊...
[/quote]
错了不要紧的,呵呵~~~[em2][/quote]
为什么说错了不要紧的啊?呵呵...

7 楼

哈哈,我3级过了.开心啊...给大家都加分,嘿嘿...

8 楼

恭喜!

我来回复

您尚未登录,请登录后再回复。点此登录或注册