天天看點

IBM-PC彙編語言程式設計(第二版)課後習題答案(清華大學出版社)(沈美明,溫冬蟬著)第三章答案

1。

.(1)立即尋址                                                              沒有

(2)直接尋址                                                               7237H

(3)使用BX的寄存器尋址                                             沒有

(4)使用BX的間接尋址                                               637DH

(5)使用BX的寄存器相對尋址                                      0D5F0H

(6)      基址變址尋址                                                         8E18H

(7)相對基址變址                                                        004FH

2。根據下列要求,寫出相應的彙編指令。

(1)ADD    DX,BX

(2)     ADD AL,[BX][SI]

(3)    ADD [BX][0B2H], CX

(4)    MOV    AX,2A59H              ADD [0524H] ,AX

(5) ADD AL ,0B5H   

3。

(1)寄存器間接尋址   

     MOV BX,OFFSET [BLOCK][0AH]

    MOV    DX    ,[BX]

(2)寄存器相對尋址

    MOV    SI,OAH

    MOV DX,[BLOCK][SI]

(3)基址變址尋址

MOV BX ,BLOCK

MOV SI,OAH

MOV DX,[BX][SI]

沒人來看,還是要寫~~

4。現有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100)=12H,(20101)=34H,(20102)=56H,(20103)=78H,(21200)=2AH,(20201)=4CH,(21202)=B7H,(21203)=65H,試說明下列各條指令執行完後,AX寄存器的内容。

(1)MOV      AX,1200H                                               1200H

(2)     MOV      AX,BX                                                      0100H

    (3)    MOV      AX,[1200]                                                 4C2AH        注意,是字單元!!

(4)MOV     AX,[BX]                                                     3412H             同上

(5)MOV     1100[BX]                                                  4C2AH      

(6)     MOV     AX,[BX][SI]                                                 7856H   

(7)     MOV    AX,1100[BX][SI]                                           65B7H

    5。

(1) 7CD9H      (2)    1200H       (3) 6319H

6。       MOV    BX,2000H

             LES     DI ,[BX]

            MOV    AX, ES:DI

7。轉向位址OBJ的值分别為:(1)064DH       (2)0691H     (3)05E0H              注意有符号數的符号位~~

8。(1) MOV    AX,0ABH                                立即數尋址                                      無實體位址

        (2)MOV     AX,BX                                  寄存器尋址                                        同上

        (3)MOV    AX,[100]                                直接尋址                                           20100H

        (4)MOV AX,VAL                                   直接尋址                                           20050H

         (5)     MOV AX,[BX]                                寄存器間接尋址                                     20100H

         (6)      MOV    AX,ES:[BX]                         直接尋址                                            21100H

         (7)     MOV AX,[BP]                             寄存器間接尋址                                       20010H

        (8)MOV AX,[SI]                                 同上                                                        200A0H

        (9)     MOV AX,[BX+10]                          寄存器相對尋址                                       20110H

      (10)MOV AX,VAL[BX]                        同上                                                        20150H

      (11)     MOV AX,[BX][SI]                          基址變址尋址                                          201A0H

      (12)     MOV AX,VAL[BX][SI]                    相對基相變址尋址                                  201F0H

9。

(1)的指令:    MOV AX, [BX][0CH]                              MOV    ZREO ,AX

(2)     的指令:    MOV    AX,ARRAY[BX]                           MOV ZREO,AX

10。    MOV AX,TABLE         是把符号位址TABLE裡的内容送到AX裡,指令執行完後,(AX)=1234H

           LEA AX,TABLE          是把符号位址TABLE 的有效位址(這裡是偏移量)送到指定寄存器AX裡,指

                                          令執行完後,(AX)=0032H

11。執行完指令後,(AX)=1E00H

12。 LEA AX,CSTRING    

           MOV DL,AX

           MOV DH,[AX+6]

13。這個,,圖,很麻煩了,是以就不畫了~~大家可以看一下課本上P51--P53,很清楚,看完了這道韪也會了~~~

14。LES BX,[2000]

         MOV AX,ES:[BX]

       注意:一開始我寫的是: MOV AX,ES:[8000H],後來看到題目裡要求寫兩條指令,是以一條就不行了,就要畫蛇添足~~~

15。        運算結果                                                        SF,ZF,CF,OF各位的值(從左至右依次往下~)

(1)       74D4H                                                             0      0      0     0

(2)           A5C1H                                                            1      0      0      1

(3)           4240 H                                                            0      0      1      0

(4)            0000 H                                                           0      1      1      0     

16。      接上表~

(1)        5D14                                                                 0      0      0      0

(2)         A870                                                                 1      0      0      1

(3)         D870                                                                 1      0      0      0

(4)         34E4                                                                 0      0      1      0

17。

(1).MOV AX,Z        ;把Z送到AX

      SUB AX,X           ;Z-X

      ADD AX,W         ;W+(Z-X)

       MOV Z,AX        ;結果儲存在Z中

(2).    MOV AX,R      ;R送到AX中

        ADD AX,9        ;R+9

       MOV    BX,X       ;X送到BX中

       ADD    BX,6       ;X+6

      ADD    AX,BX      ;(R+9)+(X+6),結果儲存在AX中

     MOV    BX,W       ; W送到BX中

     SUB      BX,AX     ; W-(R+9)-(X+6),連續減去兩個數,相當于減去這兩個數的和~~

    MOV     Z,BX        ;最終結果送到Z中

(3)

MOV AX,W                        ;把W送到AX

IMUL X                                 ;W*X           注意:低十六位儲存在AX裡,高十六位儲存在DX裡

MOV BX,Y                         ;把Y送到BX 裡

ADD BX,6                          ;Y+6

IDIV BX                                ;(W*X)/(Y+6)      注意:商儲存在AX裡,餘數儲存在DX裡

MOV Z,AX                          ;把商送到Z中,

MOV R,DX                         ;把餘數 送到R中

(4)

MOV AX,W                      ;把W送到AX中

SUB AX,X                         ;W-X

CWD                               ;把AX中的十六位帶符号數擴充成為32位,低十六位儲存在AX中,高十六位保

                                        ;在DX中    

MOV BX,5                        ;把5送到BX中

IDIV BX                             ;(W-X)/5          被除數為32位,除數為16位    商為16位  

IMUL Y                              ;上一步結果再乖以Y,積為32位

MOV BX,2                          ;把2送到BX中  

IMUL BX                               ;上一步乘法所得的積再乘以2,各為64位

MOV Z,EAX                        ;把結果中低32位放入Z雙字單元中

MOV [Z+4],EDX                   ;把結果中高32位放入Z+4雙字單元中

18。

指令                                       本條指令執行完後AX的内容                                   執行完後CF,SF,ZF的值

MOV AX,1234H                         1234H                                                                     0       0        0

MOV CL,4                                 1234H                                                                     0        0        0   

ROL AX,CL                               2341H                                                                      1        0        0

DEC AX            rrrrrr                           2340H                                                                     1        0         0   

MOV CX,4                                  2340H                                                                     1        0         0

MUL CX                                       8918H                                                                     0         0         0

INT 20H

程式結束後,(AX)=8918H       (DX)=0000H

19。

指令                                             執行完後AX的内容                               執行完後CF ,SF,ZF和OF的值

MOV AX,0                                              0                                                       0010

DEC AX                                             FFFFH                                                  0100

ADD AX,7FFFH                                 7FFEH                                                   0000

ADD AX,2                                           8000H                                                   0101

NOT AX                                              7FFFH                                                   0101   

SUB    AX,0FFFFH                               8000H                                                    1101

ADD AX,8000H                                   0000H                                                    1011

SUB    AX,1                                          FFFFH                                                   1101                                                                   

AND AX,58D1H                                  58D1H                                                   0000

SAL AX,1                                           B1A2H                                                    0101

SAR AX,1                                           D8D1H                                                   0100

NEG AX                                              272FH                                                    1000

ROR AX,1                                          9397H                                                     1001   

更多

  http://cyhjd.blog.hexun.com/

繼續閱讀