汇编基础习题2

题目:在首地址为TABLE的数组中按递增次序存放着100H个16位补码数,试编写一个程序把出现次数最多及其出现次数分别存放在AX和CX寄存器中。

 

 
  
1 ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2 ; Author:
3 ; comment: Blank
4 ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
5 ; input code
6  
7   ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
8 assume cs: code, ss: sta, ds: data
9 sta segment
10 dw 40h dup(?)
11 top label word
12 sta ends
13 data segment
14 table dw 1 , 2 , 3 , 3 , 3 , 5 , 6 , 7 , 8 , 9
15 data ends
16
17 code segment
18 start:
19 mov ax,sta
20 mov ss,ax
21 lea sp,top
22 mov ax,data
23 mov ds,ax
24
25 mov si, 0
26 mov ax,table[si]
27 mov bx,ax
28 mov cx, 9
29 mov dx, 1
30 mov di, 0
31 add si, 2
32
33 l0:
34 cmp ax,table[si]
35 jne l1
36 inc dx
37 add si, 2
38 jmp l3
39
40 l1:
41 cmp bx,table[si]
42 je l2
43 mov bx,table[si]
44 mov di, 1
45 add si, 2
46 jmp l3
47
48 l2:
49 inc di
50 cmp di,dx
51 jbe l3
52 mov dx,di
53 mov ax,bx
54 add si, 2
55 l3:
56 loop l0
57
58 mov cx,dx
59
60 mov ah,4ch
61 int 21h
62
63 code ends
64 end start

 

转载于:https://www.cnblogs.com/SCAU_que/articles/1760658.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值