汇编语言笔记:指令与结构解析

需积分: 1 0 下载量 168 浏览量 更新于2024-09-15 收藏 8KB TXT 举报
"这篇资源是关于汇编语言的随身笔记,主要涵盖了汇编语言的基础语法、指令、结构和应用,适合快速查询和学习。笔记中提到了不同类型的调用指令(CALL)以及返回指令(RET和RETF),并且解释了内存组织结构,包括80x86处理器中的内存布局和屏幕显示的字符数组。此外,还涉及到了条件跳转指令(如JCXZ和JMP)以及数据传输指令(如MOVAX)在不同寻址模式下的使用方法。" 在这份汇编随身笔记中,我们可以深入探讨以下几个关键知识点: 1. **调用(CALL)指令**: - CALLaO(PUSHUOIP):这个指令用于调用子程序,它将当前的指令指针(IP)压入堆栈,然后跳转到地址aO。 - CALLFARPTRаO(PUSHCS,PUSHIP):这是调用远地址的指令,同时将代码段寄存器(CS)和IP压栈。 - CALLqμȦs(PUSHIP):可能表示调用相对地址,只压入IP。 - CALLWORDPTRϬqȦs:[0]和CALLDWORDPTRϬqȦs:[0]:这两个指令用于调用存储在内存中的地址,分别对应于字和双字大小的地址。 2. **返回(RET)指令**: - RET(POPIP):基本的返回指令,从堆栈弹出IP并执行返回。 - RETF(POPIP,POPCS):返回到调用者,同时恢复CS和IP。 3. **内存组织与屏幕显示**: - 80*25ܽwİB8000H-BFFFFH@32KB:这描述了一个80x25字符的文本显示屏,其内存映射范围为8000H到BFFFFH,总计32KB。 - 每行字符由1个ASCII码和1个字节的属性组成,总共2字节,因此整个屏幕占用4KB内存。 4. **条件跳转(JMP)指令**: - JCXZаO(pGCX=0,hܼаOIP):如果CX寄存器为0,则跳转到地址аO。 - JMPаO(IPD):无条件跳转到IPD指定的地址。 - JMPqμȦs(MOVIP,AX):根据AX寄存器的值改变IP,实现跳转。 - JMPFARPTRаO(CS&IPD):跳转到远地址,同时更新CS和IP。 - JMPWORDPTRϬqȦs:[0]和JMPDWORDPTRϬqȦs:[0]:跳转到内存中存储的字或双字地址。 5. **数据传输(MOVAX)指令**: - MOVAX,OFFSETаO:将地址аO的偏移量移动到AX寄存器。 - 其他形式的MOVAX指令展示了不同寻址方式,如直接寻址、基址加索引寻址等,它们允许程序灵活地访问内存中的数据。 这份笔记为学习和理解汇编语言的基本操作提供了宝贵的参考资料,无论是对于初学者还是有经验的程序员,都是一个有价值的参考工具。通过这些指令,可以构建、控制程序流程,访问和修改内存中的数据,从而实现更复杂的程序功能。