• 实验三 指令实验(一)


     

     

     

    实验三  指令实验(一)

    [实验目的]

    1、掌握指令的含义,进一步加深对指令的认识;

    2、掌握用Turbo Debugger调试程序的方法。

    [实验内容]

    1、改写例3.81,找到result单元存1,未找到存0

         3.81 有一串L个字符的字符串存储于首地址为ASCII_STR的存储区中。如要求在字符串中找“空格”(ASCII码为20H)字符,找到则继续执行(NUM单元置1);如未找到则转到NOT_FOUND(NUM单元置0)去执行,编制实现这一要求的程序如下:

           MOV    CX,L

           MOV    SI,-1

           MOV    AL,20H

    NEXT:

           INC    SI

           CMP    AL,ASCII_STR

           LOOPNE NEXT

           JNZ    NOT_FOUND

             .

             .

             .

    NOT_FOUND:

    .

             .

             .

     

    2、用TD验证例3.57,例3.583.61

         3.57 要求屏蔽0、1两位,可用AND指令并设置常数0FCH。

                   MOV   AL,0BFH

                   AND   AL,0FCH

     

    3.58 要求第5位置1,可用OR指令

               MOV   AL,43H

               OR    AL,20H

     

    3.61 要求操作数的某些数位变反,可以使用XOR指令,只要把源操作数的立即数字段相应位置成1就可以达到目的。如果求第0、1位变反,可使用如下指令:

            MOV    AL,11H

            XOR    AL,3

     

    3、TD验证例3.29,例3.30,看SP的变化,调试时先给AX赋值。

    未赋值时:

     

    赋值后:

    4、输入下列指令,单步运行,观察AX,BX,SP,堆栈区域数据变化情况

           MOV   AX,1234H

           MOV   BX,5678H

           PUSH  AX

           PUSH  BX

           MOV   AX,0ABCDH

           MOV   BX,55AAH

           POP   BX

           POP   AX

     

     

     

    [实验小结]

    1.有空格改为20H

    2.

    输入时注意:

    0BH    

    0FFH

    1. -1”的输入:0FFFF
    2. 此句话为:结果输出位置:

    01则查找到:存放位置:0210

    00则未查找到:0210

  • 相关阅读:
    57. Insert Interval
    287. Find the Duplicate Number
    52. N-Queens II
    51. N-Queens
    151. Reverse Words in a String
    29. Divide Two Integers
    [POJ2104]K-th Number
    [JSOI2008]最大数
    [BZOJ3673&3674]可持久化并查集&加强版
    C++ STL rope介绍----可持久化平衡树
  • 原文地址:https://www.cnblogs.com/Catherinezhilin/p/9855749.html
Copyright © 2020-2023  润新知