汇编实验报告.docx
- 文档编号:27819513
- 上传时间:2023-07-05
- 格式:DOCX
- 页数:23
- 大小:244.39KB
汇编实验报告.docx
《汇编实验报告.docx》由会员分享,可在线阅读,更多相关《汇编实验报告.docx(23页珍藏版)》请在冰豆网上搜索。
汇编实验报告
1.程序代码:
.DATA
;<<请在下面定义变量>>
buf1db06h
buf2db?
buf3db?
MEG1db'fanmais:
$'
MEG2db'bumais:
$'
;<<请在上面定义变量>>
;--------------------------------
;-----------代码段------------
.CODE
Start:
movAX,@DATA
movDS,AX
;<<请将您的代码写在下面>>
MainPROCFAR
moval,buf1
notal
movbl,al
movdx,offsetMEG1
movah,09h
int21h
movcx,8
print:
movah,02h
movdl,'0'
testbl,10000000b
jzzero
movdl,'1'
zero:
int21h
shlbl,1
loopprint
movdl,'b'
movah,02h
int21h
movdl,0ah
movah,02h
int21h
;=============================================
movdx,offsetMEG2
movah,09h
int21h
moval,buf1
movbl,al
cmpal,0
jlfushu
jmpprint2
fushu:
notal
addal,1
movbl,al
jmpprint2
print2:
movcx,8
print1:
movah,02h
movdl,'0'
testbl,10000000b
jzzero1
movdl,'1'
zero1:
int21h
shlbl,1
loopprint1
movdl,'b'
movah,02h
int21h
movah,4ch
int21h
ret
MainENDP
;<<请将您的代码写在上面>>
;--------------------------------
ENDStart
运行截图:
(06h为正数所以补码与原码一样)
(86h为负数所以取反加一)
2.程序代码:
.DATA
;<<请在下面定义变量>>
MEGdb'theresultis:
$'
;<<请在上面定义变量>>
;--------------------------------
;-----------代码段------------
.CODE
Start:
movAX,@DATA
movDS,AX
;<<请将您的代码写在下面>>
MainPROCFAR
moval,05h
movbl,06h
addbl,al
movdx,offsetMEG
movah,09h
int21h
movcx,8
print:
movah,02h
movdl,'0'
testbl,10000000b
jzzero
movdl,'1'
zero:
int21h
shlbl,1
loopprint
movdl,'b'
int21h
movah,4ch
int21h
ret
MainENDP
;<<请将您的代码写在上面>>
;--------------------------------
ENDStart
运行截图:
3.程序代码:
.DATA
;<<请在下面定义变量>>
buf1db09h
buf2db04h
buf3db10h
MEGdb'Max_number:
$'
;<<请在上面定义变量>>
;--------------------------------
;-----------代码段------------
.CODE
Start:
movAX,@DATA
movDS,AX
;<<请将您的代码写在下面>>
MainPROCFAR
moval,buf1
movbl,buf2
cmpal,bl
jnbbig_buf1
moval,buf3
cmpbl,al
jnbbig_buf2
movbl,al
big_buf1:
movbl,buf3
cmpal,bl
jnbbig_buf3
jmpprint
big_buf2:
jmpprint
big_buf3:
movbl,al
jmpprint
print:
movdx,offsetMEG
movah,09h
int21h
movcx,8
print1:
movah,02h
movdl,'0'
testbl,10000000b
jzzero
movdl,'1'
zero:
int21h
shlbl,1
loopprint1
movdl,'b'
movah,02h
int21h
movah,4ch
int21h
ret
MainENDP
;<<请将您的代码写在上面>>
;--------------------------------
ENDStart
运行截图:
4.程序代码:
.DATA
;<<请在下面定义变量>>
buf1db06h
buf2db04h
buf3db89h
MEGdb'Max_number:
$'
;<<请在上面定义变量>>
;--------------------------------
;-----------代码段------------
.CODE
Start:
movAX,@DATA
movDS,AX
;<<请将您的代码写在下面>>
MainPROCFAR
moval,buf1
movbl,buf2
cmpal,bl
jnlbig_buf1
moval,buf3
cmpbl,al
jnlbig_buf2
movbl,al
big_buf1:
movbl,buf3
cmpal,bl
jnlbig_buf3
jmpprint
big_buf2:
jmpprint
big_buf3:
movbl,al
jmpprint
print:
movdx,offsetMEG
movah,09h
int21h
movcx,8
print1:
movah,02h
movdl,'0'
testbl,10000000b
jzzero
movdl,'1'
zero:
int21h
shlbl,1
loopprint1
movdl,'b'
movah,02h
int21h
movah,4ch
int21h
ret
MainENDP
;<<请将您的代码写在上面>>
;--------------------------------
ENDStart
运行截图:
(题中有89h,06h,04h三个数其中89h为负数,所以输出06h)
5.程序代码:
.DATA
;<<请在下面定义变量>>
arraydb2,4,7,9,3,5,8
array_odddb8dup('a')
array_evendb8dup('a')
xdw2
;<<请在上面定义变量>>
;--------------------------------
;-----------代码段------------
.CODE
Start:
movAX,@DATA
movDS,AX
;<<请将您的代码写在下面>>
MainPROCFAR
sss:
movcx,8
movsi,0
moval,array[si]
movbx,2
idivbx
movbh,ah
cmpbh,0
jzeven_number
movarray_odd[si],al
even_number:
movarray_even[si],al
addsi,1
loopsss
movcx,8
movsi,0
combine:
movbl,array_odd[si]
cmpbl,'a'
jzlll
movarray[si],bl
addsi,1
lll:
loopcombine
movcx,8
movsi,0
combine1:
movbl,array_even[si]
cmpbl,'a'
jzllll
movarray[si],bl
addsi,1
llll:
loopcombine1
movsi,0
movcx,8
print:
movbl,array[si]
subax,ax
pushax
movch,2
rotate:
movcl,4
rolbl,cl
moval,bl
andal,0fh
addal,30h
cmpal,3ah
jlprint1
addal,7h
print1:
movdl,al
movah,2
int21h
decch
jnzrotate
movdl,'h'
movah,02h
int21h
loopprint
movah,4ch
int21h
MainENDP
;<<请将您的代码写在上面>>
;--------------------------------
ENDStart
6.程序代码:
.DATA
;<<请在下面定义变量>>
MSG1DB13,10,'PleaseInput:
$'
;<<请在上面定义变量>>
;--------------------------------
;-----------代码段------------
.CODE
Start:
movAX,@DATA
movDS,AX
;<<请将您的代码写在下面>>
MainPROCFAR
movdx,offsetMSG1
movah,9
int21H
movcx,1
input:
movah,01h
int21h
loopinput
movbl,al
movdl,0ah
movah,02h
int21h
cmpbl,'3'
jzx2_x
cmpbl,'4'
jzx2_2x
cmpbl,'5'
jzx2
cmpbl,'6'
jzx2_2
x2_x:
moval,bl
subal,'0'
movbl,al
mulbl
addal,bl
movbl,al
jmpprint
x2_2x:
moval,bl
subal,'0'
movbl,al
mulbl
subal,bl
subal,bl
movbl,al
jmpprint
x2:
moval,bl
subal,'0'
movbl,al
mulbl
movbl,al
jmpprint
x2_2:
moval,bl
subal,'0'
movbl,al
mulbl
movbl,2
divbl
movbl,al
print:
subax,ax
pushax
movch,2
rotate:
movcl,4
rolbl,cl
moval,bl
andal,0fh
addal,30h
cmpal,3ah
jlprint1
addal,7h
print1:
movdl,al
movah,2
int21h
decch
jnzrotate
movdl,'h'
movah,02h
int21h
movah,4ch
int21h
ret
MainENDP
;<<请将您的代码写在上面>>
;--------------------------------
ENDStart
运行截图:
7.程序代码:
.DATA
;<<请在下面定义变量>>
buf1db?
buf2db?
MEGdb'PleaseInput:
$'
;<<请在上面定义变量>>
;--------------------------------
;-----------代码段------------
.CODE
Start:
movAX,@DATA
movDS,AX
;<<请将您的代码写在下面>>
MainPROCFAR
movdx,offsetMEG
movah,09h
int21h
movah,01h
int21h
movbuf1,al
movdl,20h
movah,02h
int21h
movah,01h
int21h
movbuf2,al
movdl,20h
movah,02h
int21h
movah,01h
int21h
movbl,al
movdl,0ah
movah,02h
int21h
cmpbl,'A'
jzx_y
cmpbl,'B'
jzx_suby
cmpbl,'C'
jzx_muly
cmpbl,'D'
jzx_divy
x_y:
subbuf1,'0'
subbuf2,'0'
moval,buf1
movbl,buf2
addbl,al
jmpprint
x_suby:
subbuf1,'0'
subbuf2,'0'
moval,buf1
movbl,buf2
cmpal,bl
jbb_a
subal,bl
movbl,al
jmpprint
b_a:
subbl,al
jmpprint
x_muly:
subbuf1,'0'
subbuf2,'0'
moval,buf1
movbl,buf2
mulbl
movbl,al
jmpprint
x_divy:
subbuf1,'0'
subbuf2,'0'
moval,buf1
movbl,buf2
divbl
movbl,al
jmpprint
print:
subax,ax
pushax
movch,2
rotate:
movcl,4
rolbl,cl
moval,bl
andal,0fh
addal,30h
cmpal,3ah
jlprint1
addal,7h
print1:
movdl,al
movah,2
int21h
decch
jnzrotate
movdl,'h'
movah,02h
int21h
movah,4ch
int21h
ret
MainENDP
;<<请将您的代码写在上面>>
;--------------------------------
ENDStart
运行截图:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编 实验 报告