17道编程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.统计以2000H开始的十

个字节存储单元中偶数

的个数,存于3000H中。

data segment

data ends

code segment

assume cs:code,ds:data

mov ax,data

mov ds,ax

mov cx,10

mov si,2000h

mov di,3000h

l2:mov ax,[si]

inc si

test ax,01h

jnz l1

mov [di],ax

inc di

l1:loop l2

mov ah,4ch

int 21h

code ends

end

2.统计以TABLE开始的

十个字存储单元中奇数

的个数,存于DL中。

data segment

table db 10 dup(?)

data ends

code segment

assume cs:code,ds:data start:mov ax,data

mov ds,ax

mov dx,0

mov cx,10

lea si,table

l2:mov ax,[si]

inc si

test ax,01h

jz l1 inc dl

l1:loop l2

mov ah,4ch

int 21h

code ends

end start

3.统计以TABLE开始的

十个字节存储单元中正

数、负数和零的个数,

并将其分别存入X、Y

和Z三个变量中。

data segment

table db 10 dup(?)

x db ?

y db ?

z db ?

data ends

code segment

assume cs:code,ds:data

mov ax,data

mov ds,ax

mov x,0

mov y,0

mov z,0

mov cx,10

lea si,table

xor ax,ax

l2:mov al,[si]

inc si

cmp al,0

jge l1

inc y

jmp l4

l1:cmp al,0

jg l3

inc z

jmp l4

l3:inc x

l4:loop l2

mov ah,4ch

int 21h

code ends

end

4.统计以3000H开始的十

个字节存储单元中大于

100数的个数存于DL

中。

data segment

data ends

code segment

assume cs:code,ds:data

mov ax,data

mov ds,ax

mov dx,0

mov cx,10

mov si,3000h

l1:mov ax,[si]

inc si

cmp ax,100

jle l2

inc dl

l2:loop l1

mov ah,4ch

int 21h

code ends

end

5.将200H开始的十个字

节存储单元中数为8的

清零。

data segment

data ends

code segment

assume cs:code,ds:data

mov ax,data

mov ds,ax

mov cx,10

mov si,200h

l1:mov ax,[si]

cmp ax,8

jne l2

and ax,0

mov [si],ax

l2:inc si

loop l1

mov ah,4ch

int 21h

code ends

End

6.实现将存于1300H开始

的5个字节存储单元中

的非组合型BCD码分别

转换成ASCII码,结果

存于以2400H开始的单

元中。(不能用查表法)

data segment

data ends

code segment

assume cs:code,ds:data

mov ax,data

mov ds,ax

mov si,1300h

mov di,2400h

mov cx,5

l1:mov ax,[si]

inc si

add ax,30h

mov [di],ax

inc di

loop l1

mov ah,4ch

int 21h

code ends

end

7.实现将存于TT表中的5

个字节存储单元中的组

合型(压缩型)BCD码

分别转换成ASCII码,

结果存于以2000H开始

的单元中。

data segment

tt db 3h

db 23,24,25

data ends

code segment

assume cs:code,ds:data

mov ax,data

mov ds,ax

lea si,tt

mov di,3000h

l1:xor ax,ax

xor bx,bx

inc si

mov al,[si]

inc si

mov bl,al

and bl,0f0h

mov cl,4

shr bl,cl

add bl,30h

mov [di],bl

inc di

and al,0fh

add al,30h

mov [di],al

inc di

jmp l1

mov ah,4ch

int 21h

code ends

end

8.求班上30名同学的平

均成绩(只保留整数),

并将结果存入3000H

(整数)中。

data segment

table db 10 dup(?)

data ends

code segment

assume ds:data,cs:code

mov ax,data

mov ds,ax

lea si,table

mov di,3000h

mov cx,10

mov ax,0

mov ax,[si]

inc si

l1:add ax,[si]

inc si

loop l1

and ax,ax

cbw

mov bl,10

div bl

mov [di],al

mov ah,4ch

int 21h

code ends

end

9.在1300H开始的存储区

中,存放14H个带符号

数。要求找出其中最小

的一个数,并存到BH

单元中。

data segment

data ends

code segment

assume cs:code,ds:data

mov ax,data

mov ds,ax

mov cx,13h

mov si,1300h

xor ax,ax

mov al,[si]

inc si

l2:cmp al,[si]

jle l1

xchg al,[si]

相关文档
最新文档