回 帖 发 新 帖 刷新版面

主题:刚学汇编不会编请前辈指教一下

5.在DS段中有一个从TABLE开始的由100个字符组成的数据表,以下程序实现对该表进行搜索,找到第一个非0元素后,将此单元和下一单元清零; 请在括号内填写适当的指令, 并修改一处错误。
       LEA  DI, TABLE       ;设目的区指针
        (           )          ;确定关键字
        CLD
        (           )           ; 确定字符串长度
        REPNZ  SCASB
       JZ STOP                ;全为0则结束
DEC DI                 ;确定不为0所在单元的地址
MOV WORD PTR[DI],0  ;将非0 单元及下一单元清0
STOP:HLT

6.对于十进制数50,编写程序段用减奇数法求它的近似平方根(整数部分),减奇数法即是用50逐个减去连续自然数的奇数1,3,5,7…..,直到相减为0或不够减下一个自然数为止,够减的次数就是近似的平方根。

回复列表 (共3个回复)

沙发

5.  (xor al ,al)   ;确定关键字
    (mov cx, 100)   ;确定字符串长度

6.
         mov ax, 50
         mov si, 1
         xor cx, cx
cycle:   sub ax, si
         jbe short exit
         inc cx
         add si, 2
         jmp cycle
exit:    .....       ;si保存近似平方根

板凳

请问一下  xor al ,al  这条语句还有点不太明白   
请介绍一点初学汇编的资料吧!

3 楼

一个数值跟其自身异或的结果为0。xor al, al就是把al清零。

我来回复

您尚未登录,请登录后再回复。点此登录或注册