IBM-PC汇编语言程序设计(第二版)课后习题答案(清华大学出版社)(沈美明,温冬蝉著)第三章答案39--52
2006-11-02 23:02

39。图,就不画了,呵呵~~自己看一下课本,P101~~

40.。(1)0000 3100H   (2)5100H    (3)7100H

41。(1)目的地址:2004H  内容依次为: 56H  F4H   23H    98H

       (2)目的地址: 384CH     内容依次为: 91H  34H   F2H    01H

       (3)目的地址:   寄存器,无物理地址~     内容依次为:92H   6DH   A2H  4CH

42。 (1)PUSH AX

  (SP)<------(SP)-2

       (SP+1)<-----(AH)    (SP)<------(AL)

(2)POP ESI 

    (ESI)<-------((ESP)+3,(ESP)+2,(ESP)+1, (ESP))

   (ESP)<-------(ESP)+4

(3)PUSH [BX]

  (SP)<------(SP)-2

   (SP+1)<-----([BX+1])    (SP)<------([BX])

(4) PUSHAD

   (ESP)<-------(EAX)

   (ESP-4)<-------(ECX)

   (ESP-8)<-------(EDX)

   (ESP-12)<-------(EBX)

   (ESP-16)<-------(ESP)       ;这里指的是指令执行前的ESP

   (ESP-20)<-------(EBP)

   (ESP-24)<-------(ESI)

   (ESP-28)<-------(EDI)

   (ESP)<-------(ESP)-32

(5)POP DS

(DS)<------((SP)+1,(SP))

(SP)<------(SP)+2

(6) PUSH 4

(SP)<-------(SP)-2

(SP+1)<-----0

(SP)<------4

 43。(1)    2CE FF93H       (2) 24B  76A0H

          (3)909 0804H           (4)  6F 13ADH

44。(1)0FFFF FFFCH            (2)0FFFF FFF8H

       (3)0000  0007H                  (4)0000  0099H

45。 (EAX)=0     (EBX)=25d

46。 (AX)=3d        (DX)=7d

47。ADD ECX,EDX

        ADD ECX,ESI

       MOV  EDI  ,ECX

48。 IMUL BX,DX,100H执行的操作是:

    (BX)<-------(DX)*100H

49。程序实现:

MOV AL,BL

CBW

IDIV  CL

IMUL 2

MOV DX,AX

50。

 JMP DI 是直接跳转,执行的操作是: (IP)<-----(IP)+(DI)

JMP [DI]是间接跳转,执行的操作是:   (IP)<----(IP)+([DI])跳转到DI中所指向的内存单元中的指令地址~

51。假设数组名为NUMBERS,程序如下~

MOV BX,0             ;后面用到~

MOV CX,100H      ;把循环次数放入CX

MOV AL,42H

MOV SI,0            ;初始化SI

;CHECK 用来实现查找功能~

CHECK :  CMP AL ,NUMBERS[SI]

INC SI

JB  STORE1         ;大于42H的数的个数存入UP

JA  STORE2         ;小于42H的的数的个数存入DOWN中~

LOOP CHECK      ;相等继续循环~

STORE1     INC  BL   ;找到一个大于42 的数,BL值增加1~

                   MOV UP,BL

                  LOOP CHECK

STORE2     INC BH   

                   MOV DOWN ,BH

                 LOOP CHECK 

52。图,也不用画了~~呵呵~好了,本章结束