汇编基础题目小汇总

寻址方式

已知寄存器(DS)=1000H,(SS)=1110H,(BX)=100H,(BP)=100H,(SI)=0002H,(SP)=100H;内存单元中的(10100H)=12H,(10101H)=34H,(10102H)=56H,(10103H)=78H,(11200H)=0ABH,(11201H)=0CDH,(11202H)=0EFH,(11203H)=0D3H。试说明下列各指令执行完后AX寄存器的内容。

        指令                                AX的内容

    ① MOV AX,1200H                   ①                   1200H 

    ② MOV AX,BX                      ②                  100H 

    ③ MOV AX,[1200H]                     ③                   CDABH 

    ④ MOV AX,[BP]                            ④                   CDABH 

    ⑤ MOV AX,1100H[BX]                 ⑤                   CDABH  

    ⑥ MOV AX,[BX][SI]                      ⑥                   7856H 

    ⑦ MOV AX,1100H[BX][SI]            ⑦                   D3EFH 

    ⑧ POP AX                                       ⑧                    CDABH 

!#  MOV AX,[1200H]此时没有特殊声明,默认段地址为DS段,故物理地址=DS*10H+1200H=11200H  

        AX = CDABH

       ④MOV AX,[BP] 此时,BP的默认段地址是SS段,故物理地址=SS*10H+BP=11200H   AX = CDABH

       ⑤ MOV AX,1100H[BX] 此时没有特殊声明,默认段地址为DS段,,故物理地址=DS*10H+1100H+BX=11200H  

        AX = CDABH

      ⑥ MOV AX,[BX][SI]  此时没有特殊声明,默认段地址为DS段,,故物理地址= DS*10H+100H+0002H = 10102H         AX=7856H

        ⑧ POP AX  ,SP默认段地址为SS,故物理地址=SS*10H+SP=11200H AX = CDABH

 程序填空       

A,B两个变量都是10字节的无符号数,计算A+B->C1。下面是代码段的内容,请填空。

           LEA  SI,A

          LEA  DI,B

          LEA  BX,C1

          MOV CX,10

            1)    CLC

     L:   MOV AL,[SI]

            2)    ADC AL,[DI]

          MOV [BX],AL

          INC SI

          INC DI

          INC BX

             3)   LOOP L

            MOV AL,0

            4)    ADC AL,0

           MOV [BX],AL

           MOV AH,4CH

             5)    INT 21H


阅读程序

KEY PROC

MOV BX,0

N: MOV AH,1

INT 21H

SUB AL,30H

JL EXIT

CMP AL,7D

JG EXIT

CBW

XCHG AX,BX

MOV CX,8

MUL CX

XCHG AX,BX

ADD BX,AX

JMP N

EXIT: RET

KEY ENDP

从键盘上输入一个多位八进制的数,结果存放在bx中,当输入非数字0至7,退出程序


待补充。。。


猜你喜欢

转载自blog.csdn.net/weixin_39793360/article/details/80619140