第四章作业微机原理的Word格式.docx
- 文档编号:3773994
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:18
- 大小:335.46KB
第四章作业微机原理的Word格式.docx
《第四章作业微机原理的Word格式.docx》由会员分享,可在线阅读,更多相关《第四章作业微机原理的Word格式.docx(18页珍藏版)》请在冰点文库上搜索。
Bx=2000h
Dx=1001h
Al=10h
4.11自0500h单元开始,有10个无符号数,编写程序,求这十个数的和(用八位数运算指令),把和放到050a和050b单元中(和用两个字节表示),且高位在050b单元。
datasegment
numdb1ah,2ah,34h,56h,7bh,7ch,27h,38h,49h,6eh
;
theresultis02DB
dataends
codesegment
assumecs:
code,ds:
data
start:
movax,data
movds,ax
movbl,0
movsi,050ah
mov[si],bl
movsi,050bh
movsi,0500h
movdi,0
movbx,050ah
movcx,10
loop1:
moval,num[di]
mov[si],al
movah,[si]
add[bx],ah
incsi
incdi
adcbyteptr[bx+1],0
clc
looploop1
movax,4c00h
int21h
codeends
endstart
4.4利用变址寄存器,编写一段程序,把自1000h单元开始的100个数传到自1070h开始的存储区中。
movcx,99
movsi,1000h
movdi,1070h
movax,[si]
mov[di],ax
4.17若在存储器中有数a,b,c,d(他们连续存放),编写一个程序实现下列算式:
((a*10+b)*10+c)*10+d(和<
=65535)
numdw001ah,0026h,002ch,0045h
;
theresultis7665
resultdw1dup(0)
dataends
movsi,0
movcx,3
movbx,000ah
movax,num[si]
mulbx
addax,num[si]
movresult,ax
4.18在0100H单元和010aH单元开始,存放两个各为10个字节的BCD数(
地址最低处放的是最低字节),求他们的和,且把和存入0114H开始的存储单元
中。
num1db0a1h,0a2h,0a3h,0a4h,0a5h,0b1h,0b2h,0b3h,0b4h,0b5h
num2db0c1h,0c2h,0c3h,0c4h,0c5h,0d1h,0d2h,0d3h,0d4h,0d5h
movbx,0114h
movah,num1[si]
mov[di+0100h],ah
moval,num2[si]
mov[di+010ah],al
adcah,al
mov[bx],ah
incbx
moval,0
mov[bx],al
adcbyteptr[bx],0
结果如图:
018B89878583B669676562.
4.20在0200H单元中开始放有数A(低位在前):
NA=95437862310456289101
在020AH单元中开始放有数B:
NB=78964238154078218450
求两数之差,且把值送入自0200H开始的存储区。
nadb95h,43h,78h,62h,31h,04h,56h,28h,91h,01h
nbdb78h,96h,42h,38h,15h,40h,78h,21h,84h,50h
movbx,0200h
movah,na[si]
mov[di+0200h],ah
moval,nb[si]
mov[di+020ah],al
sbbah,al
sbbbyteptr[bx],0
结果为负数:
FFB10D06DDC41C2A35AD1D
4.37若自0500H单元开始有1000个带符号数,把它们的最小值找出来,并且
放在1000H单元中。
movcx,1000
cmpal,[si]
jlnext
moval,[si]
next:
4.56若自STRING单元开始存放一个字符串(以字符$结尾),编写一个程序
,统计这个字符串的长度(不包括$字符),并把字符串的长度放在STRING
单元,把整个字符串下移两个存储单元。
STRINGdb'
abcdefghijklmn$'
lengdw0
movcl,STRING[si]
cmpcl,'
$'
jnenext
decsi
movax,si
movcx,si
inccx
movbl,STRING[si]
movSTRING[si+2],bl
movwordptrSTRING,ax
4.70编写一个24为无符号数相乘的程序。
num1dw0012h,3456h
num2dw0065h,4321h
resultdw4dup(0)
movax,num1+2
movsi,num2+2
mulsi
movresult+6,ax
movresult+4,dx
movax,num1
addresult+4,ax
adcresult+2,dx
movsi,num2
lahf
movch,ah
addresult+2,ax
adcresult,dx
movah,ch
sahf
adcresult,0
4.75若自STRING开始有一个字符串(以#号作为字符串的结束标志),编写一个程序,查找此字符串中有没有字符$,有多少个$(放在NUMBER单元中,没有$则其为0,否则即为$的个数);
且把每一个$字符所存放的地址存入自POINTR开始的连续的存储单元中。
$ab$cde$fghij$klm$n#'
NUMBERDw0
POINTRDw0
leabx,STRING[si]
#'
jeover
jefound
jmpnext
found:
movPOINTR[di],bx
over:
movNUMBER,di
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四 作业 微机 原理