- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章节汇编语言程序格式
第4章 汇编语言程序格式;4.1 源程序书写格式;几点说明;;完整段定义
data segment
HMessage DB Hello, World,13,10,$
data ends
code segment
Assume cs:code,ds:data
Start:mov ax,data
mov ds,ax
mov ah,9
mov dx,OFFSET HMessage
int 21h
mov ah,4ch
int 21h
code ends
END Start;;简化段定义1
.Model Small
.DATA
HMessage DB Hello, World!,13,10,$
.CODE
Start:mov ax,@data
mov ds,ax
mov ah,9
mov dx,OFFSET HMessage
int 21h
mov ah,4ch
int 21h
END Start;;简化段定义2
.Model Small
.DATA
HMessage DB Hello, World,13,10,$
.CODE
Start: .STARTUP
mov ah,9
mov dx,OFFSET HMessage
int 21h
.EXIT 0
END Start;书写格式中涉及的伪指令;段寄存器的装填;DOS下汇编语言程序的正常结束;4.2 伪操作;.8086 选择 8086 指令系统(默认值)
.286 选择 80286 指令系统
.286P 选择保护模式下的 80286 指令系统
.386 选择 80386 指令系统
.386P 选择保护模式下的 80386 指令系统
.486 选择 80486 指令系统
.486P 选择保护模式下的 80486 指令系统
.586 选择 Pentium 指令系统
.586P 选择保护模式下的 Pentium 指令系统;◆ 段定义伪操作:;……
code segment
main proc far
assume ……
start:
push ds
mov ax, 0
push ax
……
ret
main endp
code ends
end start;存储模式与简化段定义伪操作;.model small
.data
……
.code
.startup
……
.exit 0
end ;;一个简单的例子;;简化段定义2
.MODEL SMALL
.CODE
START: MOV DL,3
MOV AH,2
INT 21H
.EXIT 0
END START;4.3 程序中数据的组织(参考教材P142);变量定义举例;例1
COUNTER DB 6
DB ‘A’, ‘ D’,0DH, ‘$’
TABLE1 DB 21,45H,255
内存分配情况?;例2;DATA_BYTE DB 10,4,10H,?
DATA_WORD DW 100,100H,-5,?;教材P143;例6-32;例6-33;例6-33;变量的访问;数据回送操作符的使用(参考教材P129);举例; 变量可以通过它的名字访问,要特别注意操作类型与定义时的类型一致。;结果:(AX)=3402H (AL)=34H;属性操作符(P132);段操作符
格式1:段寄存器名:地址表达式
格式2:逻辑段名:地址表达式
功能:指定该有效地址相??指定段寻址。
例如:
MOV AX,ES:[BX+SI]
MOV BX,SS:[SI+3]
MOV BX,DATA2:WORD PTR [100];将DATA2段中位移100的一个字送BX。
;THIS(双重定义)
格式:变量名1 EQU THIS 类型1
变量名 DB | DW | DD….
类型1应和变量名 使用的定义类型不同。
举例
FIRST_TYPE EQU THIS BYTE
WORD_TABLE DW 100 DUP(?)
FIRST_TYPE的偏移地址与WORD_TABLE完全相同。
访问FIRST_TYPE时,按字节类型;而访问WORD_TABLE按字类型。;BYTE_ARRAY LABEL BYTE
WORD_ARRAY DW 50 DUP (?)
tos LABEL WORD;◆ 表达式赋值伪操作:(参考教材P141);◆ 地址计数器与对准伪操作:
您可能关注的文档
最近下载
- 《解析几何》教案--吕林根,许子道.pdf
- 美国加州桥梁抗震caltrans seismic design criteria vlysis.pdf VIP
- 2025云南省临沧市市级单位公开遴选(选调)工作71人笔试参考题库附答案解析.docx VIP
- HSE保障措施优化及实施方案研究.docx VIP
- 2025甘肃省公路交通建设集团武仙公路收费运营人员招聘61人笔试模拟试题及答案解析.docx VIP
- 2025年秋新鲁科版英语四年级上册全册课件.pptx
- 颚式破碎机技术参数.docx VIP
- 2024河南资本集团“方舟”第三批招聘41人笔试参考题库附带答案详解.pdf
- 《时尚配饰设计》课件.ppt VIP
- 高边坡专家论证PPT汇报材料(中建).ppt VIP
文档评论(0)