实验三 指令实验(一)

 

 

 

实验三  指令实验(一)

[实验目的]

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

 

转载于:https://www.cnblogs.com/Catherinezhilin/p/9855749.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值