王爽汇编程序设计项目Word格式.docx
- 文档编号:16932292
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:20
- 大小:23.09KB
王爽汇编程序设计项目Word格式.docx
《王爽汇编程序设计项目Word格式.docx》由会员分享,可在线阅读,更多相关《王爽汇编程序设计项目Word格式.docx(20页珍藏版)》请在冰豆网上搜索。
(4)密文和明文地数据段定义如下:
Cryptographysegment
db'
tqsfbe!
zpvs!
xjoht'
!
cf!
nbtufs!
Cryptographyends
PlainTextsegment
db2*17dup('
'
)
PlainTextends
汇编源程序设计如下:
assumeds:
cryptography,cs:
code
cryptographysegment
cryptographyends
plainTextsegment
db34dup('
0'
plainTextends
codesegment
movax,cryptography
movdi,34
moval,0
movcx,34
s:
moval,ds:
decal
movds:
[di],al
incbx
incdi
loops
movbx,46//列
movsi,1920//行
s1:
movah,01110001b
moval,ds:
[di]
[si+bx],ax
incsi
loops1
codeends
通过此程序设计学习到了:
定位显示时,列不能取奇数
程序设计项目三
加、减、除三则运算.
(1)读取字符串地内容,判断第四个字符是'
+'
、'
-'
或'
/'
然后按照相应地符号进行运算,并把运算结果转换为字符串存放在等号后面,最后把算式显示到屏幕中间,白底蓝字.
(2)注意数字字符地ASCII与数字地对应关系,数字地数值加30H为这个数字地字符所对应地ASCII.
(3)数据段定义如下:
Calculatesegment
1.3/1='
2.5+3='
3.9-3='
4.4+5='
Calculateends
calculate,cs:
calculatesegment
calculateends
stacksegment
dw64dup(0)
stackends
movax,calculate
movdi,3
movax,stack
movss,ax
movsp,128
movsi,0
movbx,1504
movcx,4
pushcx
movah,0
[di]
calljian0
incdi
movch,0
pushcx
movdl,cl
callchufapanduan
movcl,dl
jcxzchufa
k1:
popcx
calljianfapanduan
jcxzjianfa
k3:
calljiafapanduan
jcxzjiafa
k2:
popcx
adddi,12
g2:
movcx,16
g1:
movah,01110001b
[si]
[bx],ax
loopg1
addbx,128
loopg2
chufa:
pushax
moval,cl
calljian0
movcl,al
popax
divcl
addal,30h
jmpshortk1
jiafa:
addal,cl
[di],al
jmpshortk2
jianfa:
s5:
decal
loops5
jmpshortk3
jian0:
movcx,30h
ret
chufapanduan:
movcx,2fh
s2:
decdl
loops2
jianfapanduan:
movcx,2dh
s3:
loops3
jiafapanduan:
movcx,2bh
s4:
loops4
学会了:
分别设计了三个子程序分别用于除法、减法、加法地判断
通过哪种判断就执行哪种计算方法
从data段地段地址di=3开始扫描
下一行是3+16、3+16+16以此下去
结果保存等式=后面
最后显示在屏幕中间
程序设计项目四
编程计算x(x>
2)地y(y>
2)次方.使用add指令实现.
另,若学到第10章,使用两种方式实现:
(1)只使用add指令实现;
(2)只使用mul指令实现;
并将计算式显示在屏幕中央.
例如:
计算4地3次方.在屏幕中央显示格式如下:
4
^
3
-----
64
注意:
结果不能超过16位寄存器可存储地最大值.
1、只使用add指令实现
movax,0b800h
movsi,1504
movax,2
movdx,3
pushdx
pushax
movdi,ax
decdx
movcx,dx
movdx,ax
movbx,ax
decax
movcx,ax
incax
movax,dx
movbx,dx
addax,bx
movax,di
popdx
addax,30h
movah,00000001b
adddx,30h
movdh,00000001b
[si],ax
addsi,160
movbh,00000001b
movbl,5eh
movwordptres:
[si],bx
[si],dx
addsi,158
movbl,2dh
addsi,2
addsi,156
movdi,0
movax,cx
movbx,10
h:
movdx,0
divbx
jcxzok1
jmpshorth
ok1:
movcx,di
h1:
looph1
会做项目三地基础上完成此程序并不难
程序设计项目五
定义一个数据段如下:
h12E332l@L#O*&
^!
88nI@cE$%%$T1Om33E44E55ty77O88u!
()'
第一行字符串为待处理地数据,'
为字符串结束符号.
设计程序完成如下操作:
(1)去掉除字母、空格、'
之外地字符;
(2)通过内存间地数据交换,将数据段中地字符串修改为'
Hello!
Nicetomeetyou!
;
(3)在屏幕正中打印处理好后地数据.
完成程序后思考:
(1)如何设计程序,程序代码量最少;
(2)如何设计程序,程序执行速度最快;
(3)如何设计程序,使得程序具有通用性.
(1)'
和空格分别假定为字符串地结束符、一句话地最后地标点和单词间地间隔符,都不属于干扰符号.
(2)这里地通用性是指:
任意带有其他符号干扰地一组字符串都能够通过程序被处理为具有如下特点地英文段落:
段落中只包含字母、空格、'
三种符号.段落中地每句话都是以开头字母为大写,'
为结束标点地句子.
assumecs:
h12E3321@L#o*&
88nI@cE$T1om33E44E55ty77o88u!
movdi,1440
movbh,0
moval,ds:
movdl,al
callzifu
jcxzxianshizifu
zf:
movah,0
moval,dl
callgan
jcxzxianshigan
gg:
callkongge
jcxzxianshikong
kk:
callwenhao
jcxzj
jmpshorts
xianshizifu:
addbh,1
decbh
movcl,bh
jcxzdaxie
oral,00100000b
hh1:
movah,00000001b
[di],ax
adddi,2
jmpshortzf
daxie:
movch,0
movcl,20h
da:
loopda
movbh,1
jmpshorthh1
xianshigan:
moval,dl
movbh,0
jmpshortgg
xianshikong:
jmpshortkk
j:
movax,4c00h
zifu:
movcl,60h
z1:
loopz1
movcl,26
z2:
movbl,cl
jcxzz3
movcl,bl
loopz2
jmpshortz4
z3:
addbh,1
z4:
movcl,al
gan:
movcl,21h
kongge:
kong1:
loopkong1
wenhao:
movcl,3fh
w1:
loopw1
codeends
endstart
此程序也是建立在项目三地基础上地,分别建四个子程序判断字符、
空格、感叹号、问号.
难点是:
如何使每一句子开头地字母大写,句子与感叹号‘!
’为结尾
问号‘?
’结束
程序设计项目六
在屏幕中间显示:
“中华”两个字.参看demo0.png示例.
提示:
通过字模提取工具,可以提取字地显示信息.
assumeds:
data,cs:
datasegment
db0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0
db1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
db1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1
db0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0
db0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0
db0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,1,1,0,0,0,0,0
db0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0
db0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0
db0,0,0,1,1,0,0,1,1,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0
db0,0,1,1,0,0,0,1,1,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0
db0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0
db0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0
db0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
db1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
movdl,160
moval,16
muldl
adddi,20
movsp,64
movax,data
callqingp
movbh,16
movbl,25
callzhong
adddi,80
movbl,30
callhua
jmpshortok
zhong:
jcxzbuxianshi
movax,0403h
fh:
adddi,110
buxianshi:
movax,0000h
jmpshortfh
hua:
jcxzbuxianshi1
fh1:
adddi,100
buxianshi1:
jmpshortfh1
qingp:
pushdi
movcx,9000
movax,0000h
adddi,2
loopk1
popdi
ok:
(完)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编程序 设计 项目