1、 在X、Y、Z 3个单元中分别定义3个无符号字节变量,编写程序将其中最大的数找出送到MAX单元。
程序代码:
data
segment
x
db
3
y
db
6
z
db
9
max
db
?
data
ends
code
segment
main
proc
far
assume
cs:code,ds:data
start:
push
ds
mov
ax, 0
push
ax
mov
ax, data
mov
ds, ax;
mov
al,x
cmp
al,y
jc
L2
jmp
L1
L2:
mov
AL,y
L1:
cmp
AL,z
jc
L3
jmp
L4
L3:
mov
AL,z
L4:
mov
max,AL
ret
main
endp
code
ends
end
start
2、 比较两个无符号字节变量X、Y的大小,若XY,则Z=3。
程序代码:
data
segment
x
db
7
y
db
3
z
db
?
data
ends
program segment
assume
cs:program,ds:data
main
proc
far
push
ds
xor
ax,ax
push
ax
mov
ax,data
mov
ds,ax
mov
dl,x
cmp
dl,y
ja
a1
jb
a2
mov
dl,32h
jmp
print
a1:
mov
dl,33h
jmp
print
a2:
mov
dl,31h
jmp
print
print:
mov
ah,2
int
21h
ret
main
endp
program
ends
end
main
3、 从NUM单元开始有10个无符号的字节数据,编写程序求这10个数的和,存放到SUM单元中。
程序代码:
data
segment
num
db
1,2,3,4,5,6,7,8,9,0
sum
db
?
data
ends
code
segment
main
proc
far
assume
cs:code, ds:data
start:
push
ds
mov
ax,0
push
ax
mov
ax, data
mov
ds, ax
mov
cx, 9
mov
si, 0
mov
bh, num[si]
jcxz
last
aa:
inc
si
add
bh, num[si]
loop
aa
mov
sum, bh
last:
mov
ah, 4ch
int
21h
ret
main
endp
code
ends
end
start
4、 从NUM单元开始有10个无符号的字节数据,编写程序找出其中最小的数送到MIN单元。
程序代码:
data
segment
num
db
21,4,55,33,3,8,9,5,12,22
min
db
?
data
ends
code
segment
main
proc
far
assume
cs:code, ds:data
start:
push
ds
mov
ax,0
push
ax
mov
ax, data
mov
ds, ax
mov
cx, 9
mov
si, 0
mov
bh, num[si]
jcxz
last
aa:
inc
si
cmp
bh, num[si]
jbe
next
mov
bh, num[si]
mov
min, bh
next:
loop
aa
last:
mov
ah, 4ch
int
21h
ret
main
endp
code
ends
end
start
本文档为【微机原理汇编语言程序作业】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。