- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章
3.1:
汇编语言是一种以处理器指令系统为基础的低级程序设计语言,它采用助记符表达指令操作码,采用标识符号表示指令操作数,可以直接、有效地控制计算机硬件,因而容易创建代码序列短小、运行快速的可执行程序
3.2 解:
(1)完整的汇编语言源程序由段组成
(2)一个汇编语言源程序可以包含若干个代码段、数据段、附加段或堆栈段,段与段之间的顺序可随意排列
(3)需独立运行的程序必须包含一个代码段,并指示程序执行的起始点,一个程序只有一个起始点
(4)所有的可执行性语句必须位于某一个代码段内,说明性语句可根据需要位于任一段内
(5)通常,程序还需要一个堆栈段
3.3 解:
存储模式
特 点
TINY
COM类型程序,只有一个小于64KB的逻辑段(MASM 6.x支持)
SMALL
小应用程序,只有一个代码段和一个数据段(含堆栈段),每段不大于64KB
COMPACT
代码少、数据多的程序,只有一个代码段,但有多个数据段
MEDIUM
代码多、数据少的程序,可有多个代码段,只有一个数据段
LARGE
大应用程序,可有多个代码段和多个数据段(静态数据小于64KB)
HUGE
更大应用程序,可有多个代码段和多个数据段(对静态数据没有限制)
FLAT
32位应用程序,运行在32位80x86CPU和Windows 9x或NT环境
3.4解:
开始位置:用标号指明
返回DOS:利用DOS功能调用的4CH子功能来实现
汇编停止:执行到一条END伪指令时,停止汇编
3.5解:
段定位、段组合和段类型。
3.6给出采用一个源程序格式书写的例题3.1源程序
例题3.1:创建一个在屏幕上显示一段信息的程序…… 解:
stack segment stack
db 1024(0)
stack ends
data segment
string db Hello,Assembly!,0dH,0aH,‘$’
data ends
code segment code
assume cs:code,ds:data,ss:stack
start: mov dx,offset string
mov ah,9
int 21h
code ends
end start
3.7DOS支持哪两种可执行程序结构,编写这两种程序时需要注意什么?
解:
(1). EXE程序
程序可以有多个代码段和多个数据段,程序长度可以超过64KB
通常生成EXE结构的可执行程序
(2). COM程序
只有一个逻辑段,程序长度不超过64KB
需要满足一定条件才能生成COM结构的可执行程序(MASM 6.x需要采用TINY模式)
3.8举例说明等价“EUQ”伪指令和等号“=”伪指令的用途
解:
符号定义伪指令有“等价EQU”和“等号=”:
符号名 EQU 数值表达式
符号名 EQU 字符串
符号名 = 数值表达式
EQU用于数值等价时不能重复定义符号名,但“=”允许有重复赋值。例如:
X= 7 ;等效于:X equ 7
X= X+5 ;“X EQU X+5”是错误的
3.9 解:
(1) al=67h
(2) ax=133h,dx=4h
(3) ax=0230h
(4) al=41h
(4) ax=7654h
3.10解:
(1)
41h
42h
43h
10
10h
45h
46h
-1
?
4
4
4
-1
?
4
4
4
-1
?
4
4
4
(2)
10h
00h
0fbh
0ffh
?
?
?
?
?
?
3.11
解:.data
my1b db Personal Computer
my2b db 20
my3b db 14h
my4b db
my5w dw 20 dup(?)
my6c = 100
my7c = Personal Computer
3.12 希望控制变量或程序代码在段中的偏移地址,应该使用哪个伪指令?
解:
利用定位伪指令控制,如org,even,align
3.13名字和符号有什么属性?
解:
包括逻辑地址和类型两种属性。
3.14解:
;数据段
org 100h
varw dw 1234h , 5678h
varb db 3 , 4
vard dd
buff dd 10 dup(?)
mess db Hello
;代码段
mov ax , offset varb + offset mess
mov ax , type
您可能关注的文档
最近下载
- 工作研究:实施乡村振兴战略,建设美丽乡村.doc VIP
- 港口危险货物包装专项试卷.doc VIP
- 2024年教师系列中高级职称评审有关政策解读附件10.doc VIP
- 《电力机车制动机》课件 5-18-1 DK-2无火回送.pptx
- 中国心血管健康与疾病报告2023PPT课件.pptx VIP
- 电气自动化设备安装与维修专业(中、高级工)体化课程.pdf VIP
- 河南科技大学 《概率论与数理统计》 试卷2016–2017第二学期期末试卷C.pdf VIP
- 第十六章-会阴部手术病人的护理.pptx VIP
- 小学语文教学课件:《安徒生童话》推进课.pptx
- 学生职业规划大赛《网络工程专业》生涯发展展示PPT.pptx VIP
原创力文档


文档评论(0)