为了巩固一下前九章的知识, 给自己出了一道题,找出一系列数字中最大的数。
编写这个程序的目的, 重要是加深对转移指令的认识。
由于现在学的还是浅薄,程序里用到的都是书里前九章的知识。 而实验九没有对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里。
- [regex] O(∩_∩)O哈哈~ 02/05 18:44
- [qiangzi] 可爱 02/04 21:26
- [游客] revcp:逆序复制的意思 因为执行完d2c之后, 数字都是倒序排列的, 所以得rev一下 02/02 13:28
- [regex] 那个loo用的不对!应改为jmp short 比较好 01/30 15:24
- [regex] 三个实验踉踉跄跄磕磕绊绊的搞出来啦, 虽然不太精彩, 可是毕竟是自己的心血。 通过这个三个实验, 01/30 12:32
- [游客] 程序多用他们配合时间模块化编程,也就是子程序。 01/25 14:20
- [regex] 嘿嘿~~~, 初学者,不知道写啥 O(∩_∩)O哈哈~ 01/15 15:54
- [abob] 博客好干净啊 ^_^ 01/05 11:15