华南农业大学汇编语言8086习题附答案Word文档格式.docx

上传人:b****4 文档编号:15906663 上传时间:2022-11-17 格式:DOCX 页数:71 大小:32.26KB
下载 相关 举报
华南农业大学汇编语言8086习题附答案Word文档格式.docx_第1页
第1页 / 共71页
华南农业大学汇编语言8086习题附答案Word文档格式.docx_第2页
第2页 / 共71页
华南农业大学汇编语言8086习题附答案Word文档格式.docx_第3页
第3页 / 共71页
华南农业大学汇编语言8086习题附答案Word文档格式.docx_第4页
第4页 / 共71页
华南农业大学汇编语言8086习题附答案Word文档格式.docx_第5页
第5页 / 共71页
点击查看更多>>
下载资源
资源描述

华南农业大学汇编语言8086习题附答案Word文档格式.docx

《华南农业大学汇编语言8086习题附答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《华南农业大学汇编语言8086习题附答案Word文档格式.docx(71页珍藏版)》请在冰豆网上搜索。

华南农业大学汇编语言8086习题附答案Word文档格式.docx

3.演示程序运行结果,请指导教师检查。

三、思考

1.汇编语言程序中语句END后的标号作用是什么?

2.采用标准序结构编制源程序,用ret结束程序运行返回操作系统时,可否将语句mainprocfar中的far属性去掉,为什么?

3.一个段的大小为多少?

一定是64KB吗?

如何在DEBUG下查看程序在内存的存放情况?

四、提交内容

将各个源程序代码、exe文件压缩为RAR后提交到作业系统。

题目创建人

题目注释

1.1.asm

DATASSEGMENT

Stringdb"

BASEDADDRESSING"

countdw$-String

DATASENDS

STACKSSEGMENT

STACKSENDS

CODESSEGMENT

ASSUMECS:

CODES,DS:

DATAS,SS:

STACKS

START:

MOVAX,DATAS

MOVDS,AX

movcx,count;

循环次数

leasi,count-1;

将最后一个字符‘G’的地址给si

L:

movah,2

movdl,[si]

decsi

int21h

loopL

MOVAH,4CH

INT21H

CODESENDS

ENDSTART

1.2.asm

xdb"

x=$"

ydb"

y=$"

zdb"

x+y=$"

MOVDS,AX

movah,9;

显示"

x="

leadx,x

movah,1;

输入X

subal,30h

movcl,al;

将X放在CL

y="

leadx,y

输入Y

addcl,al;

两数字相加

z="

leadx,z

movah,2;

显示结果

movdl,cl

adddl,30h

1.3.asm

arraydb128dup(41h,43h)

updw0

downdw0

leadi,array

movcx,256

L:

moval,[di]

cmpal,42h

jlL1

jaL2

L1:

incdown

jmpL3

L2:

incup

jmpL3

L3:

incdi

实验二程序结构与简单程序设计

简单程序设计

2013-4-122:

55

一、实验目的

1.掌握汇编语言源程序结构。

2.掌握汇编语言调试方法。

1.编写完整的汇编语言程序:

(1)试编写一段程序,要求对键盘输入的小写字母用大写字母显示出来。

(2)编写程序,从键盘接收一个小写字母,然后找出它的前导字母和后续字母,再按顺序显示这三个字符。

(3)试编写一段程序,要求比较两个字符串string1和string2所含字符是否相等,如相等则显示“MATCH”,若不相同则显示“NOMATCH”.

(4)编写程序,将一个包含有20个数据的数组M分成2个数组:

正数数组P和负数数组N,并分别把这两个数组中数据的个数显示出来。

1对输入的非字母字符如何处理?

2.字母“a”和“z”边界字符的处理方法是什么?

3.显示结果为多位数的时候如何输出?

将各个源程序代码、exe文件,思考题的WORD文档压缩为RAR后提交到作业系统。

2.1.asm

crlfdb0ah,0dh,'

$'

输入数据会AL

pushax;

将AX存进栈里

leadx,crlf;

换行

movah,9

popdx;

栈里数据放进DX,即将原先AX放进DX

subdl,20h;

小写变大写要减去20h

输出

2.2.asm

Stringdb'

zabcdefghijklmnopqrstuvwxyza'

leadi,String

输入字母

incdi;

先DI自加1,第一次就是‘a’的地址,不是‘z’

cmpal,[di];

直到找到字母和输入的相匹配

jnzL

decdi;

推前成为前端字母的地址

movcx,3;

循环次数3

movdl,[di]

loopL2

2.3.asm

String1db"

thisisaprogram"

count1dw$-String1

String2db"

count2dw$-String2

answer1db'

match'

'

answer2db'

nomatch'

movax,count1

movbx,count2

cmpax,bx;

比较两个字符串的长度,如果不等就是不匹配

jnznext

movcx,count1;

字符串长度

leasi,string1

leadi,string2

moval,[si]

比较两个字符串的字符,如果不等就跳

jnznext

incsi

leadx,answer1;

能到这里说明都匹配

jmpfinally;

跳去finally,避免顺序执行了next

next:

;

显示不匹配

leadx,answer2

finally:

2.4.asm

Mdb5dup(-1,1,2,3)

Pdw0

Ndw0

leasi,M

movcx,20;

cmpal,0;

和0比较判断正负

jgL2

incN

incP

loopL

movax,P;

输出P

movbl,10;

设置除数10

divbl

movbh,ah;

将ah(余数放在bh保留)

movdl,al;

将商显示

movdl,bh;

将余数显示

movax,N;

输出N

movbl,10

divbl

movbh,ah

movdl,al

movdl,bh

实验三分支程序设计

分支结构

2013-4-1420:

14:

57

1.掌握汇编语言源程序结构。

2.掌握汇编语言分支结构

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 职业教育 > 职高对口

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1