汇编网首页登录博客注册
regex的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  

[2010-01-21 19:34] 【练习】一个查找最大数程序

为了巩固一下前九章的知识, 给自己出了一道题,找出一系列数字中最大的数。 
编写这个程序的目的, 重要是加深对转移指令的认识。
由于现在学的还是浅薄,程序里用到的都是书里前九章的知识。 而实验九没有对jmp,jcxz的演练。
源程序:
====================================================
  1 assume  cs:code
  2
  3 data    segment
  4         db      00h,12h,34h,10h,90h,99h
  5 data    ends
  6
  7 code    segment
  8 start:
  9         mov ax,data
 10         mov ds,ax
 11
 12         mov bp,0
 13         mov si,0
 14         mov di,0
 15         mov cx,6
 16         mov al,ds:[bp]
 17         mov ah,0
 18
 19 s:      push cx
 20         mov si,ax
 21         mov ah,0
 22         mov bl,ds:[bp+1]
 23         mov bh,0
 24         mov cx,bx
 25         jcxz s2
 26         mov di,bx
 27         div bl
 28         mov ch,0
 29         mov cl,al
 30         jcxz s1
 31         mov ax,si
 32         jmp short s2
 33
 34 s1:     mov ax,di
 35
 36 s2:     inc bp
 37         pop cx
 38         loop s
 39
 40         mov ah,4ch
 41         int 21h
 42
 43 code    ends
 44 end     start
 45
=====================================================
实验的结果, 最大值放在了AL里。
评论次数(0)  |  浏览次数(551)  |  类型(默认类型) |  收藏此文  | 
 
 请输入验证码  (提示:点击验证码输入框,以获取验证码